请问各位高手老师,这个编程为什么不能实现止盈呢
//------------------------------------------------------------------------// 简称: DualMA// 名称: 双均线交易系统// 类别: 公式应用// 类型: 内建应用//------------------------------------------------------------------------Params Numeric M3(3);// 短期指数平均线参数 Numeric M5(5);// 长期指数平均线参数 Numeric M8(8);// 短期指数平均线参数 Numeric M10(10);// 长期指数平均线参数 Numeric tPrice(0); //启动跟踪止盈的触发价,0为立即跟踪,>0为触发价,<0为触发百分比 Numeric TrailLength(1); //跟踪止盈百分比%Vars Series<Numeric> MA3; Series<Numeric> MA5; Series<Numeric> MA8; Series<Numeric> MA10; Numeric MinPoint; // 一个最小变动单位,也就是一跳 Numeric MyEntryPrice; // 开仓价格,本例是开仓均价,也可根据需要设置为某次入场的价格 Numeric TrailingStart1(50); // 跟踪止损启动设置1 Numeric TrailingStart2(80); // 跟踪止损启动设置2 Numeric TrailingStop1(30); // 跟踪止损设置1 Numeric TrailingStop2(20); // 跟踪止损设置2 Series<Numeric> MyExitPrice; // 平仓价格 Series<Numeric> HighAfterEntry(0,2); Series<Numeric> LowAfterEntry(99999999,2); Series<Bool> StartTrail(False); Numeric TakeProfitset(30); //止盈设置 Numeric StopLossset(20); //止损设置 Series<Numeric> BarsSinceEntr; Events OnBar(ArrayRef<Integer> indexs) { MA3 = AverageFC(Close,M3);//3天均线 MA5 = AverageFC(Close,M5);//5天均线 MA8= AverageFC(Close,M8);//8天均线 MA10= AverageFC(Close,M10);//10天均线 MinPoint = MinMove*PriceScale; PlotNumeric(\"MA3\",MA3); PlotNumeric(\"MA5\",MA5); PlotNumeric(\"MA8\",MA8); PlotNumeric(\"MA10\",MA10); If(MarketPosition <>1 AND CrossOver(MA3[1] ,MA8[1] )) { Buy(0,Open); MyEntryPrice=Open; } If(MarketPosition==1 and BarsSinceEntr>=1)//有多仓的情况 { If(High>=MyEntryPrice+TakeProfitset*MinPoint) //止盈条件表达式 { MyExitPrice=MyEntryPrice+TakeProfitset*MinPoint; If(Open>MyExitPrice) MyExitPrice=Open; ////如果该bar开盘价即跳空触动,用开盘价触动 Sell(0,Close); } } If(MarketPosition <>-1 AND CrossUnder(MA5[1] ,MA10[1] ) ) { Sell(0,Open); } }请高手老师帮忙看看这个为什么不能实现止盈的,搞了好久都不行,谢谢老师了!