策略交易

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

策略交易设置问题
策略交易与账户透视
策略交易下红、绿色策略代表什么含义?
策略交易与账户透视
策略交易统计可能的bug
策略交易模块仓位显示问题
策略交易里如何重新加载公式
策略交易不产生开仓信号
策略交易单元不显示仓位
策略交易的创建方法和策略单元几乎完全一样

图表信号有价格就会给你

没有就自动用最接近的价格

所以得用High/Low校验了


账户报单应该是挂单的

因为每条K线的open值是不同的,你的代码只有在一条K线上出现相对open偏离10跳的事件,才会触发。


因为我的信号出来时价格到不了向下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);    
    }
    

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

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

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

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

 

因为我的信号出来时价格到不了向下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);    
    }

信号系统只关心信号,不关心实际报单的参数,一般是靠策略单元的委托偏移设置处理的。你可以设置委托偏移负10跳。但是那样一般就变成挂单了,建议不要用监控器自动同步