新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 578 1...571572573574575576577578579580581582583584585...1953 新评论 Artyom Trishkin 2018.07.04 05:35 #5771 PolarSeaman:不是我自己想出来的。"只要确保你更新OnTimer()中的数据,使你的代码工作。" 我应该如何做呢?你有一个离线的时间表吗? Galim_V 2018.07.04 17:18 #5772 你能告诉我如何从猫头鹰盘旋的时间框架以外的时间框架获得底部指标吗? Artyom Trishkin 2018.07.04 18:19 #5773 Galim_V: 你能告诉我如何从猫头鹰盘旋的时间框架以外的时间框架获得底部指标吗?1.你为什么要把鸟挂起来?这不是很遗憾吗? 2.你有没有打开过帮助?在专家顾问中从任何时间段接收指标数据都不是问题,因为接收指标数据功能的前两个参数是用来指定你想接收数值的图表 符号和周期。 事实上,即使你在编辑器中输入代码,函数的形式变量列表也会被打开,那里的工具提示显示符号和时间框架。奇怪的是,你没有注意到他们。 PolarSeaman 2018.07.04 18:52 #5774 Artyom Trishkin:你有一个离线的时间表吗?没有。 Artyom Trishkin 2018.07.04 19:05 #5775 PolarSeaman:没有。那为什么不需要就不断刷新呢? 你需要时间吗?你可以通过TimeCurrent()获得最后一次勾选的时间,或者通过 TimeLocal()获得最后一次本地时间。 如果你在周末得到最后一次打勾的时间,计时器将没有帮助 - 时间将是星期五的最后一次打勾,或最后一个工作日的最后一次打勾。而TimeLocal()不会给你服务器时间--你需要用一个偏移量重新计算。 然而,我不知道你最后到底想得到什么。 Galim_V 2018.07.04 19:24 #5776 Artyom Trishkin:1.你为什么要把鸟挂起来?这不是很遗憾吗?2.你有没有打开过帮助?在专家顾问中从任何时间段接收指标数据都不是问题,因为接收指标数据功能的前两个参数是用来指定你想接收数值的图表 符号和周期。 事实上,即使你在编辑器中输入代码,函数的形式变量列表也会被打开,那里的工具提示显示符号和时间框架。奇怪的是,你没有注意到他们。2018.07.04 22:17:38.398 2016.11.10 13:00:00 Arap01 EURUSD,H1: Rounding 44.53781512605145 45.0 这是 "正常 "模式下的随机数据,即。 2=iStochastic(NULL,0,K,D,sling,Average_method,price_field,MODE_MAIN,2)。 这里我问M5 2=iStochastic(NULL,5,K,D,slowing,Average_method,price_field,MODE_MAIN,2)。 我得到 2018.07.04 22:23:05.680 2016.11.10 13:00:00 Arap01 EURUSD,H1: Rounding 0.0 0.0 PolarSeaman 2018.07.04 20:19 #5777 Artyom Trishkin:然而,我不知道你到底想以什么方式结束。警报,我想,在酒吧关闭前两秒。我周末不工作了。 Taras Slobodyanik 2018.07.04 20:27 #5778 PolarSeaman:因此,我需要在条形图关闭前两秒发出警报。 这并不容易做到,你需要运行更精确的计时器(至少500毫秒),并在之前进行本地时间和服务器时间的同步。 我已经告诉过你这件事。 在嘀嗒声到达的时刻,计算TimeCurrent()-TimeLocal()的差值 (这是为了同步本地和服务器的时间而做的一次工作)。- 这是相对于经纪人的偏移量,如果这个偏移量以后发生变化,应该重新计算时间。- 在专家顾问开始时(或在条形图D1出现时),我们重新计算所有必要的时间,以当地时间计算,并考虑到偏移。- 我们等待我们在计时器中 "计数 "的东西,检查是否有不同步、与经纪人失去联系、本地手的翻译。 你可以抓住+/-1秒 PolarSeaman 2018.07.04 21:47 #5779 Taras Slobodyanik: 这并不容易做到,你必须运行一个更精确的计时器(至少500ms),并预先将本地时间与服务器时间同步起来。 我已经告诉过你了。 你可以抓住+/-1秒谢谢你。如何使时间以秒为单位,在M5酒吧关闭之前。现在它显示的是H1。 #property strict #property indicator_chart_window //--- input parameters #define MILLISEC_TIMER_INTERVAL 500 int timeOffset; datetime ServerLocalOffset; datetime prevTime,myTime,localtime; bool newBar = false; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping EventSetMillisecondTimer(MILLISEC_TIMER_INTERVAL); datetime srvtime,tmpOffset; RefreshRates(); srvtime = TimeCurrent(); // Modified localtime = TimeLocal()+TimeGMTOffset(); if(TimeHour(srvtime)>TimeHour(localtime)){ // Server Time is still ahead of us int newOffset = TimeHour(srvtime)-TimeHour(localtime); ServerLocalOffset = (newOffset*60*60); }else if(TimeHour(srvtime)<TimeHour(localtime)){ // Server Time is Behind us int newOffset = TimeHour(localtime)-TimeHour(srvtime); ServerLocalOffset = (newOffset*60*60); }else{ // No modification required ServerLocalOffset = srvtime; } localtime = TimeLocal()-ServerLocalOffset; tmpOffset = TimeSeconds(srvtime) - TimeSeconds(localtime); if(tmpOffset < 30 && tmpOffset >= 0){ timeOffset = TimeSeconds(srvtime) - TimeSeconds(localtime); } return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { EventKillTimer(); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { //--- datetime sec; datetime localtime; localtime = TimeLocal()+(TimeGMTOffset()+(60*60)); sec=Time[0]-localtime-timeOffset; if(sec<=2){Alert("время откр. бара ",Time[0]);} Comment(TimeToStr(sec,TIME_SECONDS )); } //+------------------------------------------------------------------+ PolarSeaman 2018.07.05 18:13 #5780 仍然没有弄清楚如何计算当前周期的条形图关闭前的秒数。帮助。 1...571572573574575576577578579580581582583584585...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
不是我自己想出来的。"只要确保你更新OnTimer()中的数据,使你的代码工作。"
我应该如何做呢?
你有一个离线的时间表吗?
你能告诉我如何从猫头鹰盘旋的时间框架以外的时间框架获得底部指标吗?
1.你为什么要把鸟挂起来?这不是很遗憾吗?
2.你有没有打开过帮助?在专家顾问中从任何时间段接收指标数据都不是问题,因为接收指标数据功能的前两个参数是用来指定你想接收数值的图表 符号和周期。
事实上,即使你在编辑器中输入代码,函数的形式变量列表也会被打开,那里的工具提示显示符号和时间框架。奇怪的是,你没有注意到他们。
你有一个离线的时间表吗?
没有。
没有。
那为什么不需要就不断刷新呢?
你需要时间吗?你可以通过TimeCurrent()获得最后一次勾选的时间,或者通过 TimeLocal()获得最后一次本地时间。
如果你在周末得到最后一次打勾的时间,计时器将没有帮助 - 时间将是星期五的最后一次打勾,或最后一个工作日的最后一次打勾。而TimeLocal()不会给你服务器时间--你需要用一个偏移量重新计算。
然而,我不知道你最后到底想得到什么。
1.你为什么要把鸟挂起来?这不是很遗憾吗?
2.你有没有打开过帮助?在专家顾问中从任何时间段接收指标数据都不是问题,因为接收指标数据功能的前两个参数是用来指定你想接收数值的图表 符号和周期。
事实上,即使你在编辑器中输入代码,函数的形式变量列表也会被打开,那里的工具提示显示符号和时间框架。奇怪的是,你没有注意到他们。
2018.07.04 22:17:38.398 2016.11.10 13:00:00 Arap01 EURUSD,H1: Rounding 44.53781512605145 45.0 这是 "正常 "模式下的随机数据,即。
2=iStochastic(NULL,0,K,D,sling,Average_method,price_field,MODE_MAIN,2)。
这里我问M5 2=iStochastic(NULL,5,K,D,slowing,Average_method,price_field,MODE_MAIN,2)。
我得到 2018.07.04 22:23:05.680 2016.11.10 13:00:00 Arap01 EURUSD,H1: Rounding 0.0 0.0
然而,我不知道你到底想以什么方式结束。
警报,我想,在酒吧关闭前两秒。我周末不工作了。
因此,我需要在条形图关闭前两秒发出警报。
这并不容易做到,你需要运行更精确的计时器(至少500毫秒),并在之前进行本地时间和服务器时间的同步。
我已经告诉过你这件事。
在嘀嗒声到达的时刻,计算TimeCurrent()-TimeLocal()的差值
(这是为了同步本地和服务器的时间而做的一次工作)。
- 这是相对于经纪人的偏移量,如果这个偏移量以后发生变化,应该重新计算时间。
- 在专家顾问开始时(或在条形图D1出现时),我们重新计算所有必要的时间,以当地时间计算,并考虑到偏移。
- 我们等待我们在计时器中 "计数 "的东西,检查是否有不同步、与经纪人失去联系、本地手的翻译。
这并不容易做到,你必须运行一个更精确的计时器(至少500ms),并预先将本地时间与服务器时间同步起来。
你可以抓住+/-1秒我已经告诉过你了。
谢谢你。如何使时间以秒为单位,在M5酒吧关闭之前。现在它显示的是H1。