wuhuar 发表于 2013-11-15 22:30:47

我想当根K线平仓后不开仓,有什么好办法

我知道可以设一个变量,但如果平仓指令太多,设变量也很麻烦。
我用了BARSSINCEEXIT>0才开仓,但因为从第一条K线开始就没有平过仓,所以一直也开不了仓,整个策略没有一笔交易。
请问一下,一般怎么限制平仓后不开仓?

ample 发表于 2013-11-19 17:03:05

一个小思路:
设置一个全局变量,控制第一次开仓。初始值设为0,如果该值为0的时候,表示没有开过仓,就不判断BARSSINCEEXIT;
开仓后将这个全局变量置1,之后然后开仓是再加上BARSSINCEEXIT>0的限制

wuhuar 发表于 2013-11-21 13:25:31

谢谢版主,我想也只能这样。但设一个变量,还是有点麻烦的说,TB可不可以修改一下BARSSINCEEXIT,如果前面没有平仓指令,返回空值,其他就返回0,或开仓后的K线数。
这样,一个函数就解决了问题。

ample 发表于 2013-11-28 09:45:23

建议收到

mingwenli 发表于 2017-5-10 19:09:01

近期也遇到了这个问题,后来找到一个间接的好方法。用NetProfit==0来判断有没有开过仓。

gtja10000517 发表于 2017-5-22 16:55:04

ample 发表于 2013-11-19 17:03 static/image/common/back.gif
一个小思路:
设置一个全局变量,控制第一次开仓。初始值设为0,如果该值为0的时候,表示没有开过仓,就不 ...

本人初学TB,想把通达信公式编译成TB时遇到个解决不了的问题 ,
看了您的贴子,知道你是高手,想请您帮帮忙!

通达信:A:=B And Count(A8<0,2)  //B是指已赋予的变量
写成TB:  A9=CountIf(a8<0,2);
                A=B And a9;
总是提示错误,过不去,问了别人,有人说A9是BOOL型,不能And,但不知怎么写A
因为A是买点,又不能跳过不写,所以请高手帮忙
页: [1]
查看完整版本: 我想当根K线平仓后不开仓,有什么好办法