全部 TBQuant功能 TBL语言 TB开户 问答专区 其他
机制问题
well989 分享到
2022-05-18 13:15

OnBar(ArrayRef<Integer> indexs) 这个函数的内容,是不是只有BAR更新的时候才会执行,且只执行一次呀?如果我的策略加载的是1小时周期的K线,想在BAR周期内按最新价触发条件成交,怎么办

wangkaiming

你先用全局变量控制下,保证执行一次,然后把这个stop和return先去掉

这个只能调试,看不出

2022-05-18 18:18
well989
@wangkaiming
2022-05-18 18:48
well989
@well989

当我调高参数直接触发的时候,它可以马上按要求以涨跌停价发出委托单平仓,但是我设置参数临近触发,等待行情触发的时候,就不行,行情价格到位了,甚至超过触发价了,也没见反应,这个问题有点诡异  

2022-05-19 09:19
well989
@wangkaiming

把stop和return去掉也不行,设置过高的参数直接触发就可以,设置过低的参数等待触发就不行,行情走到触发点了,没反映,但是打开K线图就有警报了

2022-05-20 09:17
well989
@well989

老师们,能不能就这个功能整个完整的模块代码出来呀,估计有些人想要这个功能

2022-05-20 09:28
well989
@wangkaiming

老师们,能不能就这个功能整个完整的模块代码出来呀,估计不少人想要这个功能

2022-05-25 11:26
wangkaiming

先试试不要用这个stop呢

2022-05-18 14:42
wangkaiming
@wangkaiming

先检查这个a_sender的发单结果是不是正确

2022-05-18 15:07
well989

这组代码是用来实现涨跌停提前发单出局的,但是运行时发现价位触发时没反应,不发单,可是如果打开K线的话,就能看到代码后面的输出提示,求解。

Param
    ...
Vars
    ...
Events
   OnInit()
    {
        SubscribeTick(RelativeSymbol());    // 订阅主力合约的tick
        Tick myTick;
        GetTick(RelativeSymbol(),myTick);    // 读取主力合约的tick
        LmtUp = myTick.limitUp;                // 读取tick中的涨停板价
        LmtDn = myTick.limitDown;            // 读取tick中的跌停板价
        tickprice=myTick.last;             // 读取最新价
       
    }
  
    OnBar(ArrayRef<Integer> indexs)
    {        
        ......
     
        //距离涨停或跌停价1/1000时,以涨停价或跌停价发单平仓。并报警
        If(BarStatus == 2 and sendCount<1 
            and tickprice<LmtDn*(1+limitdd/1000)   )
        {    
            OrderRequest request;
            request.side = Enum_Sell;
            request.combOffset = Enum_Exit;
            request.createSource = A_GetOrderCreateSource;
            request.price = LmtDn;
            request.symbol = zhuli;
            request.theoryPrice = LmtDn;
            request.userNote = "跌停跑路";
            request.volume = lotsexit;
            Print("request:" + request.toString());
            Array<Integer> orders;
            //账户下单操作
            Bool ret = A_SendOrderEx(request, orders);
            Print("跌停跑路:" + IIFString(ret, "True", "False") + "," + TextArray(orders));
            if(ret)
            {
                sendCount = sendCount + 1;
            }
            
                
                plotstring("1",zhuli+"主力跌停,注意查看持仓风险",low-2*(h-l),Yellow);
                PlayWavSound("D:\TBQuant\baojing.wav");
                Alert(zhuli+"主力跌停,注意查看持仓风险");
            Stop();k2exit=2;
            Return;
        }

       
    }
 

2022-05-18 14:10
wangkaiming

实时最新BAR每tick都会触发,多试试就知道了

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