- 精华
- 0
- 在线时间
- 273 小时
- UID
- 35833
- 积分
- 389
- 帖子
- 80
- 阅读权限
- 50
- 注册时间
- 2011-4-26
- 最后登录
- 2017-7-3
- 精华
- 0
- UID
- 35833
- 积分
- 389
- 帖子
- 80
- 主题
- 14
- 阅读权限
- 50
- 注册时间
- 2011-4-26
- 最后登录
- 2017-7-3
|
本帖最后由 yuezongqi 于 2011-7-13 10:54 编辑
- Params
- Numeric Para1(10);
- Numeric StopLossSet(10);
- Vars
- NumericSeries Ma1;
- Bool Condition1;
- Bool Condition2;
- Numeric MinPoint;
- Numeric MyEntryPrice;
- Numeric MyExitPrice;
-
- Begin
- MinPoint=MinMove*PriceScale;
- MyEntryPrice=LastEntryPrice; //上次 的开仓价格
- Ma1=Average(Close,Para1);
- Condition1 = CrossOver(Close[1],Ma1[1]);
- Condition2 =CrossUnder(Close[1],Ma1[1]);
- If(MarketPosition==0) //无持仓的情况
- {
- if(Condition1)
- {
- Buy(1,Open);
- }else if(Condition2)
- {
- SellShort(1,Open);
- }
- }else if(MarketPosition==-1) //持空仓的情况
- {
- if(Condition1)
- {
- BuyToCover(1,Open);
- Buy(1,Open);
-
- }else if(High >= MyEntryPrice + StopLossSet*MinPoint)// 止损条件表达式
- {
- MyExitPrice = MyEntryPrice + StopLossSet*MinPoint;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(1,MyExitPrice);
- Buy(1,MyExitPrice);
- //FileAppend("c:\\11.Log",Text(Time)+" "+Text(MyExitPrice));
- }
- } Else if (MarketPosition==1) //持多仓的情况下
- {
- If(Condition2)
- {
- Sell(1,Open);
- SellShort(1,Open);
- }else if(Low <= MyEntryPrice - StopLossSet*MinPoint)// 止损条件表达式
- {
- MyExitPrice = MyEntryPrice - StopLossSet*MinPoint;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(1,MyExitPrice);
- SellShort(1,MyExitPrice);
- //FileAppend("c:\\11.Log",Text(Time)+" "+Text(MyExitPrice));
- }
- }
- End
复制代码 老师,有一个问题,就是在开仓的那根Bar上面如果出现止损的话,程序没有执行止损。
请问老师像这种情况怎么解决。 |
|