全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
策略交易
sx11121 分享到
2021-03-18 09:54

策略交易中,我设置的出买入信号以K线开盘价的向下八跳委托,为什么策略会议开盘价直接委托成交?是需要什么设置吗?策略单元设置为滑点0点,委托偏移0跳

kyover

信号条件和信号价格是两码事 分清楚这两个概念

比如你k线开盘价1000 你设置向下10跳买入开仓 那应该写

if(low<1000-10) buy(1,min(open,1000-10));

你如果写成:if(close<open) buy(1,1000-10); 那当然就变成你说的那样

2021-03-18 09:58
sx11121
@kyover

 

因为我的信号出来时价格到不了向下10跳,我想提前以向下10跳的价格委托,这个如何写呢?

比如这个代码

 

Params
    Numeric FastLength(33);// 短期指数平均线参数
    Numeric SlowLength(496);// 长期指数平均线参数
    Numeric lots(1);
    Numeric save(20);
Vars
    Series<Numeric> AvgValue1; 
    Series<Numeric> AvgValue2;
    Series<Numeric> minpoint;
Events
    OnBar(ArrayRef<Integer> indexs)
    {
        AvgValue1 = AverageFC(Close,FastLength);
        AvgValue2 = AverageFC(Close,SlowLength);
        PlotNumeric("MA1",AvgValue1);
        PlotNumeric("MA2",AvgValue2);        
        
        
        
        If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1] And AvgValue1[2] < AvgValue2[2] )
        {
            Buy(0,Open- 10 *MinMove * PriceScale);
        }
        
        If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1] And AvgValue1[2] > AvgValue2[2])
        {
            SellShort(0,Open + 8 *MinMove * PriceScale);
        }
        
    
        //PlotNumeric("PL",Portfolio_TotalProfit);    
    }

2021-03-18 10:11
sx11121

因为我的信号出来时价格到不了向下10跳,我想提前以向下10跳的价格委托,这个如何写呢?

比如这个代码

 

Params
    Numeric FastLength(33);// 短期指数平均线参数
    Numeric SlowLength(496);// 长期指数平均线参数
    Numeric lots(1);
    Numeric save(20);
Vars
    Series<Numeric> AvgValue1; 
    Series<Numeric> AvgValue2;
    Series<Numeric> minpoint;
Events
    OnBar(ArrayRef<Integer> indexs)
    {
        AvgValue1 = AverageFC(Close,FastLength);
        AvgValue2 = AverageFC(Close,SlowLength);
        PlotNumeric("MA1",AvgValue1);
        PlotNumeric("MA2",AvgValue2);        
        
        
        
        If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1] And AvgValue1[2] < AvgValue2[2] )
        {
            Buy(0,Open- 10 *MinMove * PriceScale);
        }
        
        If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1] And AvgValue1[2] > AvgValue2[2])
        {
            SellShort(0,Open + 8 *MinMove * PriceScale);
        }
        
    
        //PlotNumeric("PL",Portfolio_TotalProfit);    
    }
    

2021-03-18 10:10
您未登录,请先 登录注册 后发表评论
顶部