开仓-持仓-平仓-策略交易

Params Numeric FastLength(8); // 快速均线周期 Numeric SlowLength(40); // 慢速均线周期 Numeric RiskLength(2); // 止损通道的周期数 Numeric ProfitFactor(2); // 止盈相对止损的倍数 Vars Numeric MA_Fast; // 快速均线 Numeric MA_Slow; // 慢速均线 Numeric MyRange; // K线波动范围 Series<Bool> Condition1; // 条件1 Series<Bool> Condition2; // 条件2 Numeric HH; // 周期的高点 Numeric LL; // 周期的低点 Numeric LongRisk; // 止损时的风险额 Events OnBar(ArrayRef<Integer> indexs) { // 计算及输出均线指标 MA_Fast = Average(Close,FastLength); MA_Slow = Average(Close,SlowLength); PlotNumeric(\"Ma_Fast\",MA_Fast); PlotNumeric(\"Ma_Slow\",MA_Slow); // 每根K线的波动范围 MyRange = High - Low; // K线形态判断的2个条件 Condition1 = Close <= Low + 0.25 * MyRange; Condition2 = Close >= High - 0.25 * MyRange; // 计算周期的高低点 HH = Highest(High,2); LL = Lowest(Low,RiskLength); // 开仓 If(MarketPosition == 0 And Condition1[2] And Condition2[1] And Close[1] > MA_Fast[1] And Close[1] > MA_Slow[1] And Vol > 0) { If(High >= HH[1] + MinMove * PriceScale) { Buy(0, Max(Open,HH[1] + MinMove * PriceScale)); LongRisk = LL[1] - MinMove * PriceScale; } } // 平仓 If(MarketPosition == 1 And BarsSinceEntry > 0 And Vol > 0) { // 止盈 If(High >= EntryPrice + ProfitFactor * (EntryPrice - LongRisk)) { Sell(0, Max(Open,EntryPrice + ProfitFactor * (EntryPrice - LongRisk))); } // 止损 Else If(Low <= LongRisk) { Sell(0, Min(Open,LongRisk)); } } }为什么在持仓1手每平仓之前,还会持续开仓??MarketPosition == 0这个条件不是明显说明持平才能开仓,为啥实盘就会出现连续性开仓。即使有开仓信号,这个MarketPosition != 0了,也可以决定他不开仓。

有闪烁就会这样,把条件固定下来

回复:Marketposition <>1 这个语句是不是不适合在是盘中检查账户持仓信息??大神指导一下

回复:不是账户 是图表上的理论持仓 虚拟出来的