全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
bar的数量影响开平仓信号
tk420188 分享到
2023-07-13 11:22

在1秒周期下大于日线开盘价10个点就做多小于就做空,bar数量一多开平信号就会出错

kyover

听起来没什么头绪,要实际勘察

2023-07-13 13:19
tk420188

//------------------------------------------------------------------------

// 简称: gpc_20230705

// 名称: gpc_20230705

// 类别: 公式应用

// 类型: 用户应用

// 输出: Void

//------------------------------------------------------------------------

Params

Numeric lots(1);

Numeric stopzs(3);//大于小于开盘价多少点位开仓

Numeric stopzy(0.8); //盈利开盘价的百分比止盈

numeric zy(48); //止盈跳数

Vars

Numeric MinPoint;

Events

OnInit()

{

array<Numeric> timepoint;


timepoint[0] = 0.145700;

SetTriggerBarClose(timepoint);

}



//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组

OnBar(ArrayRef<Integer> indexs)

{

MinPoint = MinMove * PriceScale;

If(MarketPosition <> 1 && close[1] >= (OpenD(0) + stopzs*MinPoint) )

{

buy(lots,Open);

Commentary(\"开多单\");

}

If(MarketPosition <> -1 && close[1] <= (OpenD(0) - stopzs*MinPoint) )

{

SellShort(lots,Open);

Commentary(\"开空单\");

}

}


//下一个Bar开始前,重新执行当前bar最后一次,参数为当前bar的图层数组

OnBarClose(ArrayRef<Integer> indexs)

{

if(time == 0.145700)

{


sell(0,close);


BuyToCover(0,close);

switchnum = 0;

Commentary(\"收盘平仓\");


}

}


2023-07-13 13:33
tk420188

上面是代码,可以复现,就是简单的在1秒周期下,大于日开盘价+3个点做多,小于开盘价3个点做空。尾盘清仓。图表信号经常会出错,例如黄金,2023年7月11日 图表信号显示出错,多重启机次TBQ又能恢复正常。经过客服远程帮助,客服说是:bar数不同导致了正常和不正常, 5万bar 调到2万bar 同一时间的历史信号就改变了。本来开仓5-6次,会开仓几百上千次。

2023-07-13 13:45
kyover
@tk420188

因为你用了opend函数

这个函数是用单元图层目前的数据去推算日线数据

你如果是秒线,一分钟60根,一小时3600根,黄金一天算9个小时,32400根bar。

如果你设置五万根,那么当前的交易数据是全的,可以正确的得到opend结果

如果你设置两万根,那么小于黄金一天的数据,那么交易数据就不全,就得不到正确的opend结果,导致你信号全部错乱。

opend这个函数是开源的,你用之前应该先明确好这个函数的算法。

2023-07-18 08:55
您未登录,请先 登录注册 后发表评论
顶部