- 精华
- 0
- 在线时间
- 18 小时
- UID
- 264118
- 积分
- 13
- 帖子
- 6
- 阅读权限
- 10
- 注册时间
- 2018-4-4
- 最后登录
- 2018-5-15
- 精华
- 0
- UID
- 264118
- 积分
- 13
- 帖子
- 6
- 主题
- 3
- 阅读权限
- 10
- 注册时间
- 2018-4-4
- 最后登录
- 2018-5-15
|
各位大神,我做了段移动止盈的代码,调用了HIGHEST 和 LOWEST 函数,在测试时LOWEST函数出现错误信号,在做空的时候,在同一根BAR上出现开平仓,而HIGHEST函数不会,不知是什么原因?求大神指点一下。
代码如下:
//移动止盈代码
OpenCount = CurrentBar - GetGlobalVar(1); //计算开仓K线到当前K线的个数
If(MarketPosition == 1 )
{
MostHigh=Highest(High , OpenCount); //计算开仓后到当前K线为止的最高价
If(MostHigh-GetGlobalVar(0)>=WinPoint*MinMove*PriceScale) //开仓后最大浮盈(以价格计算)超过止盈起始值
{BuyStopWin = MostHigh-(MostHigh - GetGlobalVar(0)) * StopWin;} //计算止盈价格
If(Close <= BuyStopWin) //达到止盈条件时止盈
{Sell(0, Min(Open, BuyStopWin));}
}
If(MarketPosition == -1 )
{
MostLow=Lowest(Low , OpenCount);
If(GetGlobalVar(0)-MostLow >=WinPoint*MinMove*PriceScale)
{SellStopWin = MostLow + (GetGlobalVar(0) - MostLow) * StopWin;}
If(Close >= SellStopWin)
{BuyToCover(0, Max(Open, SellStopWin));}
}
测试结果如下图:
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|