开仓-持仓-限制开仓次数

ParamsNumeric FastLength(8); // 快速均线周期Numeric SlowLength(40); // 慢速均线周期Numeric RiskLength(2); // 止损通道的周期数Numeric ProfitFactor(2); // 止盈相对止损的倍数VarsNumeric MA_Fast; // 快速均线Numeric MA_Slow; // 慢速均线Numeric MyRange; // K线波动范围Series<Bool> Condition1; // 条件1Series<Bool> Condition2; // 条件2Numeric HH; // 周期的高点Numeric LL; // 周期的低点Numeric LongRisk; // 止损时的风险额EventsOnBar(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了,也可以决定他不开仓。如果是持仓函数用的不对,请给一个实例示范代码,多谢!!!

maketposition判断的是图表上的持仓 不是你账户里的持仓

回复:用那个函数替换maketposition,劳驾您给一个示范实例

回复:这种案例都非常复杂,写不了简单的你要想控制账户实际持仓要考虑非常多的问题,要学会账户函数一整套的使用,学会onorder,onposition,onfill等订单驱动的使用。可以看看下面这个视频 https://www.bilibili.com/video/BV1Ma411o7nb/?spm_id_from=333.999.0.0