int n = 0; // индекс дня, в данном случае 0 - текущий деньdatetime DayTime = iTime(NULL, PERIOD_D1, n); // Начало дня "n" в секундахint cb = iBarShift(NULL,0,DayTime); // Получим на текущем ТФ индекс бара
int n = iBarShift(NULL,PERIOD_D1,Time[80]); // индекс дня, которому принадлежит время бара - Time[80]datetime DayTime = iTime(NULL, PERIOD_D1, n); // Начало дня "n" в секундахint cb = iBarShift(NULL,0,DayTime); // Получим на текущем ТФ индекс первого бара дня "n"
从最后已知的服务器时间(TimeCurrent())到某一天的第一条开盘 时间(TimeDay(Time[80])), 当前图表有多少条 ?
iBarShift 应该有帮助
iBarShift 应该有帮助
我挣扎了一整天,还是没能成功。对我来说是错误的经历,还有更多。:)
有人能写出这个函数吗?
我挣扎了一整天,还是没能成功。对我来说是错误的经历,还有更多。:)
有人能写出这个函数吗?
下午好。
我不明白这是怎么做到的
03:00:24 '9473965': 卖出0.01英镑兑美元的订单在0.00000处开盘,Sl: 1.65314 Tp: 0.00000失败 [无效的S/L或T/P]
用这个代码
为什么开盘价为零这有点不对。我需要从这个TimeDay(Time[80])函数中具体获得一天的开始时间 "n"(秒),但它对我不起作用。
我想评估一下历史上的漏洞。
做了这个。
我没有理解错,iTime的计数单位是秒,200,000=2.31天?
有可能做到这一点吗?(似乎是在工作,只检测到6件)
这有点不对。我需要从这个TimeDay(Time[80])函数中具体获得一天的开始时间 "n"(秒),但它对我不起作用。
具体来说,从这个函数TimeDay(Time[80])开始,我必须再做一些中间计算。你仍然有Time[80] 条的时间。更简单的方法是这样。
我一直在思考评估历史的漏洞。
这里有一个 非常有用的脚本,我已经用了很多年了。若是上传了报价档案,你需要改变两个参数以避免在设置中打探。它们在截图中以红框突出显示。
要把它扔在任何图表上,并等待几秒钟,直到有报告的文件出现的消息。
买单被打开一次,但卖单的数量又是无限的
写一个这样的函数
int start()
如果( OrdersTotal()==0 && CountTrades()==0)
{
OrderSend ("EURUSD",OP_BUYLIMIT,l,1.36000,5,0,1.36000+tp*Point,"my order",1);
OrderSend ("EURUSD",OP_BUYSTOP,l,1.36000,5,0,1.36000+tp*Point,"my order",1);
否则
}
return(0);
}
//+------------------------------------------------------------------+
int CountTrades()
{
int count = 0。
for(int trade = OrdersTotal()-1; trade >=0; trade--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)。
如果(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
count++。
}
}
return(count)。
具体到这个TimeDay(Time[80])函数,你必须再做一些中间的计算。你仍然有酒吧时间[80] 的时间。这样做会比较容易。
谢谢你!:)