- 精华
- 11
- 在线时间
- 3540 小时
- UID
- 1
- 积分
- 25127
- 帖子
- 6291
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-4-22
- 精华
- 11
- UID
- 1
- 积分
- 25127
- 帖子
- 6291
- 主题
- 149
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-4-22
|
上面的代码主要错误在If语句后面加了分号。
除了这个之外,还会出现信号消失的问题,下面是修改后的代码
- Params
- Numeric length(50);
- Numeric windots(50);
- Vars
- NumericSeries MAValue;
- Numeric minmoveprice;
- Numeric myPrice;
- Numeric Lots(1);
- Begin
- minmoveprice=MinMove*PriceScale;
- MAValue = AverageFC(Close,length);
-
- If(MarketPosition == 0)
- {
- If(CrossOver(Close,MAValue))
- {
- buy(lots,NextOpen,True);
- }
-
- If(CrossUnder(Close,MAValue))
- {
- SellShort(lots,NextOpen,True);
- }
- }Else If(MarketPosition==1)
- {
- If(High > (AvgEntryPrice() + minmoveprice*windots))
- {
- myPrice = AvgEntryPrice + minmoveprice*windots;
- SellShort(lots,myPrice);
- }
- }Else If(MarketPosition==-1)
- {
- If(Low < (AvgEntryPrice()-MinMoveprice*windots))
- {
- myPrice = AvgEntryPrice - MinMovePrice*WinDots;
- Buy(lots,myPrice);
- }
- }
- End
复制代码 |
|