全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
如何实现间隔下单
2022-07-22 13:16

我以1分钟k线做高频交易,但是一天下单量太多了。我想通过间隔下单控制,比如:下了一单,第二单不下,第三单再下,第四单不下,第五单再下。下一单隔开一单再下。请问老师如何能实现,能给段代码参考吗?

kyover

可以参考幽灵交易法则

2022-07-22 15:32
ganjinji520
@kyover

幽灵是亏损一次再开仓,我要的是间隔下单

2022-07-22 20:23
gjqh37500888
@ganjinji520

这个感觉很简单,但其实处理起来,并不容易。代码肯定是可以实现,只是不是想象的那么一两句命令就能搞定的。

2022-07-22 21:28
ganjinji520
@gjqh37500888

有案例?

2022-07-24 16:17
kyover
@ganjinji520

思路是一样的 ,都是虚拟发一次单,这个只有比幽灵交易法简单

2022-07-24 16:39
ganjinji520
@kyover

有函数?

2022-07-24 21:37
kyover
@ganjinji520

没有直接函数,看懂幽灵法则基本就懂了

2022-07-25 08:31
ganjinji520
@kyover

像布林带怎样实现?

Params
    Numeric AvgLen(3);                        //boll均线周期参数
    Numeric Disp(16);                        //boll平移参数
    Numeric SDLen(12);                        //boll标准差周期参数
    Numeric SDev(2);                        //boll通道倍数参数
    
Vars
    Numeric Price;                            //关键价格
    Series<Numeric> AvgVal(0);                //中轨
    Series<Numeric> SDmult(0);                //通道距离
    Series<Numeric> DispTop(0);                //通道高点
    Series<Numeric> DispBottom(0);            //通道低点
    Numeric MinPoint;                        //最小变动价位
    

Events
    OnBar(ArrayRef<Integer> indexs)
    {
        
        
        //指标计算
        MinPoint = MinMove*PriceScale;            //最小变动价位
        Price = Close;                            //关键价格
        
        //平移boll通道计算
        AvgVal = Average(Price,AvgLen);
        SDmult = StandardDev(Price,SDLen,2)*SDev;
        DispTop = AvgVal[Disp] + SDmult;
        DispBottom = AvgVal[Disp] - SDmult;
        
        //系统入场
        If(MarketPosition == 0)
        {
            If(High >= DispTop[1])
            {
                Buy(0,Max(Open,DispTop[1]));
            }
        }
            
        //系统出场
        If(MarketPosition == 1 And BarsSinceEntry > 0)
        {
            If(Low <= DispBottom[1])
            {
                Sell(0,Min(Open,DispBottom[1])); 
            }
        }
    }

2022-07-29 23:05
您未登录,请先 登录注册 后发表评论
顶部