intOnInit()
{
EventSetTimer(1);
MqlDateTime date;
TimeLocal(date);
offtimeCreate(date); // Рисуем на графике заполненный прямоугольник (не торговая зона) с 21:00 до 23:59 в день указанный в переменной datereturn(INIT_SUCCEEDED);
}
...
void onTimer()
{
MqlDateTime date;
TimeLocal(date);
if (date.hour==9 && date.min==0 && date.sec==0) offtimeCreate(date); // Каждое утро, в 9:00, рисуем новую "не торговую зону" для дня указанного в переменной date
}
...
有什么办法能检查出开场 脚本在周末是否有效?
只有指标在OnCalculate()中处理所有的ticks。没有任何跳过。
呃,没有。而他却失手了。但比其他人少。但它跳过了。
这很好,谢谢你。
另一个问题。
顺序选择
选择一个订单,以便对其进行进一步工作。在函数成功完成时返回true。如果函数失败,返回false。你需要调用GetLastError() 函数来获取错误的信息。
顺序选择(OrderSelect)
ulong ticket// 订单的票据
);
参数
门票
[命令的票据。
这张票是如何分配的?我在哪里可以得到它?或者我如何设置它?
订购取票
返回相应订单的票据,并自动选择订单,以便使用函数进一步操作。我们必须按索引查看所有的订单,并在必要时获得票据。虽然这个功能也会选择订单本身。这张票是由经纪人设定的,我们无法改变它。
大家好!
我写了一个函数,它应该每天在图表上画出 "非交易时间区"。
但这里有一个问题--当我启动它时,模块OnInit的画法应该是这样的,但当我在模块OnTimer中触发它时,不知什么原因,变量date保持了模块OnInit中分配的值。
问题:为什么?
大家好!
我写了一个函数,它应该每天在图表上画一个 "非交易时间区"。
但是有一个问题--当在模块OnInit中执行时,它画出了应该有的日期,但是当在模块OnTimer中执行时,由于某种未知的原因,日期变量保持了模块OnInit中分配的值。
问题:为什么?
关于交易、自动交易系统和策略测试的论坛
虫子,虫子,问题
Karputov Vladimir, 2016.01.09 20:51
是什么让你认为在定时器变量date中传递的是之前在OnInit()中定义的值?
你需要看一下你画区的函数。
已完成。
正确地说,应该是OnTimer,而不是onTimer。
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
ingfx, 2016.01.09 21:20
因为A)我直观地看到,"时区 "不是从今天21:00画到23:59,而是从昨天21:00画到今天23:59。
B)如果我打开图形对象的属性(阴影矩形-"时区"),我看到第一个变量没有变化,即它的值与昨天的21:00相同。
是的,OnTimer,在这里重写的时候犯了一个错误......代码本身是正确的
你会检查你的代码。厌倦了把你的零碎东西拼接在一起 - 所以在这里,检查代码。在OnTimer中,用你的本地时间 代替,比较初始化时和定时器中的打印结果。
你会检查你的代码。
弗拉基米尔,感谢你的耐心和帮助!你是谁?
真的在代码中犯了一个错误......
我以后会更加小心。