上次你私聊过,我给你的意见是需要引入状态控制变量,比如:
状态0:
空仓状态
状态1 :
有仓位状态,假设初始头寸10000
1、监控是否亏损5%,如果达标就清仓——清仓后,状态应该变回0;
2、监控是否盈利5%,如果达标就卖出 初始头寸10000* 20%头寸,状态应该变为2( 有仓位,已经止盈一批后的状态 );
状态2:
有仓位,已经止盈一批后的状态
1、监控价格是否上涨10%(你的描述并没有讲清楚要以什么价格来计算这个涨幅,应该想明白先),如果达标,就卖出初始头寸 10000* 30%,此时状态应该变为3( 有仓位,已经止盈2批后的状态 )
2、监控价格是否下跌X%,其实这个部分不仅有继续上涨,还有回撤,你的描述没讲这个,估计你还没想明白这个部分,假设价格回撤15%,就清掉剩余仓位,那此时状态应该变回0;
状态3:
有仓位,已经止盈2批后的状态
1、跟踪监控最新价格跟10均线,价格跌破10日均线就清掉剩余仓位,那此时状态应该变回0;
所以其实动手写代码之前,还是应该先思路上厘清一下各种逻辑关系,会更清晰一点。以上供参考。