请教代码:根据标记执行下单,比如 在出现标记“买入”的情况下,下一根bar开盘买入1手合约。

请教代码:根据标记执行下单,比如 在出现标记“买入”的情况下,下一根bar开盘买入1手合约。请问如何调用标记的内容,并作为条件进行操作。

使用下一根bar收盘价买入
能否在一根Bar上执行代码后延迟一小段时间再在下一根Bar上执行
在下一根K线的开盘价,或收盘价买入,是哪个函数???求助
笑脸标记画线
几日内请问在TB怎么写比如5日内2日线上空5日线且收盘价大于开盘价在下一K线开盘时买入
请问在收盘前30秒根据信号下单的代码怎么写?
行情标记
代码在期货上正常,在股票上无法显示买入信号
标记部分删除
关于在峰值点标记位置的问题

这样应该可以,满足条件时赋值,在下个bar开始时符合条件买入

Vars

Global Bool ret(False);

Events

OnBar(ArrayRef<Integer> indexs)

{

if(买入条件)

{

ret = true;

}

}

OnBarOpen(ArrayRef<Integer> indexs)

{

If(ret)

{

Buy(1,Open);

ret = False;

}

}

非常感谢!这里的条件我向是if(标记为“买入”) 这里的标记为“买入” 如何写代码呢,前面用plot画过标记“买入”的。后面就希望只要出现这个标记,就执行买入指令,就不用重复把画标记的条件写了。可以帮忙再提示一下吗?

照你说的,单纯把画图条件代入买入条件或者把ret = true这段赋值语句写在plot下面不行吗,从图画改成具体的判断语句的话,得看你的具体想法了,单单双均线交叉那种判断的写条件很简单,但是搞那种箱体的判断就比较难了

可以是可以,但是前面画标记的条件比较复杂,plt画了还会在一定条件下清除,下面是部分代码,价差我希望在我标记为2的时候,下根bar买入,如何调用标记的数值作为条件呢?只要标记为2,下根bar我就买入。

OnBar(ArrayRef<Integer> indexs)

{

   up = close>Close[4];

   dw = close<Close[4];

   upp = close>Close[2];

   dww = close<Close[2];

   

   

   

   

   Numeric barnum_up;

   Numeric barnum_dw;

   


   


if(up)

{

up_count = up_count[1]+1;

//dww_count = 0;

}

Else

{

up_count = 0;

}

if(up_count > 0 and up_count<=9)

{

Plt3.text(\"up:\",High*1.01,Text(up_count));

}

if(up_count > 9)

{

if(mod(up_count,9)<>0)

{

Plt3.text(\"up:\",High*1.01,Text(mod(up_count,9)));

}

Else

{

Plt3.text(\"up:\",High*1.01,Text(9));

}

}


if(up_count == 0 and up_count[1]>0 )

{

//Numeric i;

Numeric backnum_up;

backnum_up = mod(up_count[1],9);

Commentary(\"backnum_up:\"+Text(backnum_up));

plt3.clear(\"up:\",date[backnum_up]+time[backnum_up],date+time);

}

先不要讲买卖了,你在onbar里up = close>Close[4];,这样做比较的话模拟没问题,但是实盘里会报信号闪烁的。尽管出现标志2时想买入这一点做到很简单,但是你再过几个bar后想删除标志说明你想撤掉这个买入,往往这时候可能已经成交撤不了,标志删了,但是买入持仓删不了。这意味着你来用未来数据对过去做判断,这样是不能做交易的。

多谢,对的, 你说的对的,我也想到了闪烁的问题,所以这个代码我准备都放在onbarclose里面来写的,代码还没有写完,刚刚说再2的时候买入也就是举个例子,实际上我会在其他不会出现删掉的标记上来执行交易指令的,现在其实就想 如何 调用标记,然后作为一个if()里面的条件语句,比如 当标记为“2”时,这个如果来调用表达呢,前面是用plt做的标记。我刚刚开始学习tb写代码,刚刚开始练习一个代码过程中,所以有些基本的还不是很懂,不好意思!

直接写在这段代码的下面,出现标志2说明up_count值为2,直接把Mod(up_count,9) == 2作为买入条件就行了

Bool condition = Mod(up_count,9) == 2;

       If(condition)

       {

        ret = true;

       }

多谢,这样也是可以的,其实我想单纯的知道代码能不能 调用标记的记号,bool condition = 标记为“2”;这个怎么用代码写。标记的记号能不能调用

可以的,需要函数提取你画的图

GetPlotStringValue-获取当前策略应用商品当前bar上的字符型指标值

GetPlotNumericValue-获取当前策略应用商品当前bar上的数值型指标值

GetPlotIntegerValue-获取当前策略应用商品当前bar上的整型指标值

GetPlotBoolValue-获取当前策略应用商品当前bar上的布尔型指标值


String val = GetPlotStringValue(FormulaName, \"up:\");

Commentary(\"GetPlotStringValue:\" + val);

If(val == \"2\")

      {

      ret = true;

      }

十分感谢!