全部 TBQuant功能 TBL语言 TB开户 问答专区 其他
这段代码哪里逻辑不对吗?哪位老师帮忙看看
baby9112 分享到
2022-05-18 15:32

    //记录盈利峰值价和跟踪止损价,多头
        If(MarketPosition > 0 And BarsSinceEntry==0)
        {
            HighAfterEntry = c[1];
            LowAfterEntry = c[1];
            stopPrice = EntryPrice - StopLossSet*MinPoint;
            
        }
        If(MarketPosition > 0 And BarsSinceEntry > 0)
        {
            HighAfterEntry = Max(HighAfterEntry[1],High);
            LowAfterEntry = Min(LowAfterEntry[1],low);
            MyExitPrice = stopPrice;
            
            If(HighAfterEntry[1] >= EntryPrice + TrailingStart2 * MinPoint)// 假如最高价大于等于开仓均价加上固定的止盈启动设置2乘以最小跳动价
            {
                MyExitPrice = HighAfterEntry[1] - TrailingStop2 * MinPoint;//平仓价呢等于最高价减去真正止盈设置2系数乘以最小跳动价。
            }Else
            if(HighAfterEntry[1] >= EntryPrice + TrailingStart1 * MinPoint) // 第一级跟踪止盈的条件表达式。这里就是把设置2变成设置1
            {
                MyExitPrice = HighAfterEntry[1] - TrailingStop1 * MinPoint; //平仓价,主要计算就是那个止盈系数设置1
            }
            
        }
        //记录盈利峰值价和跟踪止损价,空头
        If(MarketPosition < 0 And BarsSinceEntry==0)
        {
            HighAfterEntry = Close[1];
            LowAfterEntry = Close[1];
            stopPrice = EntryPrice + StopLossSet*MinPoint;
        }
        If(MarketPosition < 0 And BarsSinceEntry > 0)
        {
            HighAfterEntry = Max(HighAfterEntry[1],High);
            LowAfterEntry = Min(LowAfterEntry[1],low);
            MyExitPrice = stopPrice;
            If(LowAfterEntry[1] <= EntryPrice - TrailingStart2 * MinPoint)// 假如最低价小于等于开仓均价减去固定的止盈启动设置2乘以最小跳动价
            {
                MyExitPrice = LowAfterEntry[1] + TrailingStop2 * MinPoint;//平仓价呢等于最低价加上真正止盈设置2系数乘以最小跳动价。
            }Else
            if(LowAfterEntry[1] <= EntryPrice - TrailingStart1 * MinPoint) // 第一级跟踪止盈的条件表达式。这里就是把设置2变成设置1
            {
                MyExitPrice = LowAfterEntry[1] + TrailingStop1 * MinPoint; //平仓价,主要计算就是那个止盈系数设置1
            }
            
        }
        If( BarsSinceEntry > 0 And MarketPosition==1 And Low<=MyExitPrice)
            {
                Sell(0,Min(Open,MyExitPrice));
            }
            If( BarsSinceEntry > 0 And MarketPosition == -1 And High>=MyExitPrice)
            {
                BuyToCover(0,Max(Open,MyExitPrice));
            }

baby9112

开仓下一根就开盘平仓了,不知道哪里的逻辑不对啊?

 

2022-05-18 17:00
baby9112

2022-05-18 16:58
您未登录,请先 登录注册 后发表评论
顶部