} else if (m_CurrentContracts >= 1) {
if ((A_close - B_close) / A_close > ratio_startwith / 100) {
data0.sell( m_CurrentContracts * n, data0.Close[1] );
ratio_startwith = 800;
m_CurrentContracts = 0;
Alert(DateTimeToString(data0.Date + data0.Time) + \" sell ratio_startwith \" + data0.SymbolName + \" \" + Text((A_close - B_close) / A_close) + \">\" + Text(ratio_startwith / 100) + \"---\" + Text(data0.Close[1]));
}
}
谁能帮我看下这段代码, 多图层 data0, data1,data2, data3, 代码在onbaropen,Altert 执行了,但 sell没执行
我跟踪调试的结果可能是, 使用 IIFString(ArrayFind(indexs,1), \" Data? \", \"\")
如果是 当前是data0,的onbaropen Sell 会被执行, 如果 data1,data2,data3的onbaropen, 则 Sell不会被执行,
能帮我看看其中的逻辑吗?
回测这个策略是没有问题的, 原因是回测时 data0,1,2,3 的onbaropen会同时被执行。
但实盘是 data0,1,2,3 的onbaropen可能会任意组合的分批次的执行, 就产生了我这个可能的问题。
多图层buy,有可能是别的图层在执行
建议发一段完整可以复现的代码,你展示的内容不足以分析
我大概知道了,
我在图层data1 onbaropen 执行 data0.buy,是不是 就不可以?
那我我的程序逻辑就会有问题,那么我考虑 把程序迁移到onbarclose吧,再测试下。
我有一个关于 onbarclose的问题, 如果,onbarclose 之后是下一个交易日, 那么 buy sell 会执行吗?