请问一个TB开拓者策略交易及辅助图标问题

1.为何代码逻辑跑到了,但策略交易不会执行sell操作:

代码逻辑是:

((CC_HoldDuoKong<>0) And (YD_EntryPrice T_Run_diao))//单根K线内回撤平空
{
If(flag_debugL1==6)Commentary("LD1-CC_HoldDuoKong=" + Text(CC_HoldDuoKong) + ",YD_EntryPrice=" + Text(YD_EntryPrice) + ",T_Run_diao=" + Text(T_Run_diao));
If(flag_debugL1==6)Commentary("LD-YD_EntryPrice=" + Text(YD_EntryPrice) + ",T_Run_diao=" + Text(T_Run_diao));
flag_buybook=0;flag_sellbook=0;record_price=0;TickCounter=0;//初始化趋势判断参数集
//Buy(0, Min(Open, YD_EntryPrice-Run_diao));//平仓:参数0表示全部平掉
If(flag_Huice==1){If(flag_BaoshouK==1){BuyToCover(V_shou, Open);Commentary("【平空A】【平空】"+Text(Open));}Else {BuyToCover(V_shou, Min(Open, Close));Commentary("【平空B】【平空】"+Text(Min(Open, Close)));}YD_EntryPrice=0;If(flag_Fanshou==1){flag_buybook=1;flag_sellbook=0;}}//Tick级优化
Else {If(flag_BaoshouK==1){BuyToCover(V_shou, Open);Commentary("【平空C】【平空】"+Text(Open));}Else {BuyToCover(V_shou, Min(Open, YD_EntryPrice-T_Run_diao));Commentary("【平空D】【平空】"+Text(Min(Open, YD_EntryPrice-T_Run_diao)));}YD_EntryPrice=0;If(flag_Fanshou==1){flag_buybook=1;flag_sellbook=0;}}
CC_HoldDuoKong=0;CC_FirstPrice=0;//平仓后初始化持仓状态
flag_Kjump=0;YD_EntryPrice=0;
CC_TotalDuoKong=CC_TotalDuoKong+1;
If(flag_debugL1==6)Commentary("LINE357-空单回撤平仓D:平均价格:" + Text(AvgPrice()));
}

----------------------------------------------------------------------

是要如下图K线里有交易的数量?——是不是一个bug?请代码老师解答



TB开拓者有没有AI交易策略编写功能?
策略运行及委托问题
多图层的执行及策略优化问题
交易开拓者线上会议--TB模型实战演练
建议TB派客服来辅助回答社区问题
tb内置交易策略海龟系统使用问题
基于TBQuant开发的期货品种筛选及辅助交易模块
交易开拓者如何查看哪个策略在运行
细说程序化交易学习的步骤,以交易开拓者为例
当前图表为辅助K线,无法启动自动交易,如何解决?

你对tb的认知似乎有很多误会。

不是说你账户里有持仓,就能执行sell 和 buytocover的

执行平仓命令的前提是之前执行过buy 和sellshort的开仓命令

图表上之前必须开过仓,才能出平仓信号,然后发平仓命令。

你如果想做微操,直接报单,得用a_sendorder,或者a_sell,a_buytocover

建议先看一下零基础把功能和机制特点搞明白

一知半解就说是bug就...

professional

颜色我看瞎了,我复制一下

((CC_HoldDuoKong<>0) And (YD_EntryPrice T_Run_diao))//单根K线内回撤平空
{
If(flag_debugL1==6)Commentary("LD1-CC_HoldDuoKong=" + Text(CC_HoldDuoKong) + ",YD_EntryPrice=" + Text(YD_EntryPrice) + ",T_Run_diao=" + Text(T_Run_diao));
If(flag_debugL1==6)Commentary("LD-YD_EntryPrice=" + Text(YD_EntryPrice) + ",T_Run_diao=" + Text(T_Run_diao));
flag_buybook=0;flag_sellbook=0;record_price=0;TickCounter=0;//初始化趋势判断参数集
//Buy(0, Min(Open, YD_EntryPrice-Run_diao));//平仓:参数0表示全部平掉
If(flag_Huice==1){If(flag_BaoshouK==1){BuyToCover(V_shou, Open);Commentary("【平空A】【平空】"+Text(Open));}Else {BuyToCover(V_shou, Min(Open, Close));Commentary("【平空B】【平空】"+Text(Min(Open, Close)));}YD_EntryPrice=0;If(flag_Fanshou==1){flag_buybook=1;flag_sellbook=0;}}//Tick级优化
Else {If(flag_BaoshouK==1){BuyToCover(V_shou, Open);Commentary("【平空C】【平空】"+Text(Open));}Else {BuyToCover(V_shou, Min(Open, YD_EntryPrice-T_Run_diao));Commentary("【平空D】【平空】"+Text(Min(Open, YD_EntryPrice-T_Run_diao)));}YD_EntryPrice=0;If(flag_Fanshou==1){flag_buybook=1;flag_sellbook=0;}}
CC_HoldDuoKong=0;CC_FirstPrice=0;//平仓后初始化持仓状态
flag_Kjump=0;YD_EntryPrice=0;
CC_TotalDuoKong=CC_TotalDuoKong+1;
If(flag_debugL1==6)Commentary("LINE357-空单回撤平仓D:平均价格:" + Text(AvgPrice()));
}


另外:比如做单条件是If(CLOSE>X){}——那么这里Close可能在实盘是在X上下来回串,那么这个“信号闪烁问题”怎么解决?

我评论一下,首先你这个局部代码,我运行不了

2.格式比较乱,我建议你点这个代码模式,然后复制过来,然后最好是能运行的

3.我通过搜索功能,在你贴的里面并没有找到sell语句

BuyToCover没有执行。

就是图标里已经打印出Commentary信息——“平空D”字样。但实际的图标里没有标注sell的那个数字,然后buyToCover没有执行!

通过使用不变的条件,比如回溯  close[1]>x 表示确认

然后你这个buytocover,请提供可以运行的代码

你随便写个就可以了。把“策略交易”里的策略,启停启停,手工做个单进去。然后用A_GetPosition()函数,实时更新持仓,看这个实时更新的持仓,策略交易里会不会去止损。

Position mypos;

Bool ret=A_GetPosition(Symbol(), mypos);

调试根据具体情况的,我随便写一个内容和你策略有什么关系

然后你提到了A_GetPosition

我建议你先研究下公式机制问题,A函数不要和图表混用

OK。了解了!