在离线图表上时,从未调用过OnInit和OnTick

米尔福德

我能够在线获取一些周期转换器指标。并生成不同时间段的离线图表

 ATM_P4L_PeriodConverter_I

ATM_Period_Converter_opt 

 

然而 我无法运行我的EA 在这些离线图表上。

我可以看到离线图表价格在变化 I assume they are getting price ticks.

 

我输入了打印语句,以查看是否调用了OnInit或OnTick,而没有调用它们。 我什至尝试剥离所有逻辑实例 对于打印语句,但是 我从未在日志中看到任何这些打印。

 

// + ----------------------------------------------- ------------------- +
//|                                                      Test123.mq4 |
//|                                                                  |
//|                                              //www.mql5.com |
// + ----------------------------------------------- ------------------- +
#property copyright ""
#property link      "//www.tbxfkj.com"
#property version   "1.00"
#property strict
// + ----------------------------------------------- ------------------- +
//| Expert initialization 功能                                   |
// + ----------------------------------------------- ------------------- +
int OnInit()
  {
//-
   Print("OnInit() EXECUTING");
   
//-
   return(INIT_SUCCEEDED);
  }
// + ----------------------------------------------- ------------------- +
// |专家反初始化功能                                 |
// + ----------------------------------------------- ------------------- +
void OnDeinit(const int reason)
  {
//-
   Print("OnDeinit() EXECUTING");
   
  }
// + ----------------------------------------------- ------------------- +
//| Expert tick 功能                                             |
// + ----------------------------------------------- ------------------- +
void OnTick()
  {
//-
   Print("OnTick() EXECUTING");
   
  }
// + ----------------------------------------------- ------------------- +

有没有人有办法解决吗?

 

谢谢,

卡尔·施莱伯 2014.09.09 15:50:45

我从来没有尝试过,但谷歌的“ Renko-Chart”和“ offline”。

对于这种离线图表应该有一个解决方案。

威廉·罗德 2014.09.09 18:57:05
米尔福德: 我输入了打印语句,以查看是否调用了OnInit或OnTick,而没有调用它们。 我什至尝试剥离所有逻辑实例 用于打印报表 
剥离所有内容,不做任何更改。
这是离线图表 发电机 必须发布消息以刷新图表。
米尔福德 2014.09.15 15:05:15
嗨,WHRoeder。 thanks for reply. 看来这可能是个问题。但是我确实看到离线价格正在变化 我检查了源,发现它正在调用PostMessageA。 PostMessageA(hwnd,WM_COMMAND,CHART_CMD_UPDATE_DATA,0); 这需要以某种方式改变吗?
米尔福德 2014.09.16 23:10:06
我不得不处理其他事情,但今天回到今天,发现更高版本的MT4需要Unicode,因此我将PostMessageA调用更改为PostMessageW。 现在,在我的离线图表中调用了init和deinit,但是从未调用过OnTick()。 我尝试将其更改为使用start(),但未调用start()。 我不得不更改为另一个EA,因为我的测试导致错误“ Test123”不是专家。 请问有什么帮助吗? thanks
耶尔加加 2014.11.13 08:02:12

好???

没人回答 importnat问题了!!!

是否可以调用OnTick() 功能 在离线图表上???

没人吗? 

卡尔·施莱伯 2014.11.13 11:26:36
耶尔加加:

好???

没人回答 importnat问题了!!!

是否可以在离线图表上调用OnTick()函数???

没人吗? 

I guess not - may be you can use OnTimer() as repeating 功能?
耶尔加加 2014.11.13 19:53:11

OnTimer()运作良好,但是当我尝试从Renko图表中获取实时数据(例如Open [],Close [],Bars)时,我没有得到真实值,

每次我得到的都是恒定值 OnTimer() 叫做。例如,下面的代码显示相同的值(通过 警报功能)

 Any idea why?

 

int OnInit()
  {
//-创建计时器
   EventSetTimer(1);
     
//-
  返回(INIT_SUCCEEDED);
  }
// + ----------------------------------------------- ------------------- +
// |专家反初始化功能                                 |
// + ----------------------------------------------- ------------------- +
void OnDeinit(const int原因)
  {
//-销毁计时器
   EventKillTimer();
     
  }

// + ----------------------------------------------- ------------------- +
// |计时器功能                                                   |
// + ----------------------------------------------- ------------------- +
void OnTimer()
  {
//-
  
    Alert (Close[1]);
  
  } 

卡尔·施莱伯 2014.11.13 21:26:29

1)请在相机旁边使用SRC!

2)顾名思义,它是离线的-您必须捕获自己需要的相关数据-我猜。

3)尝试(我没有经验)使用iClose(“ EURUSD”,PERIOD_M1,..)代替Close []吗?

塔利塔·劳拉·比斯波·达席尔瓦 2018.03.14 04:36:05
米尔福德:
我不得不处理其他事情,但今天回到今天,发现更高版本的MT4需要Unicode,因此我将PostMessageA调用更改为PostMessageW。 现在,在我的离线图表中调用了init和deinit,但是从未调用过OnTick()。 我尝试将其更改为使用start(),但未调用start()。 我不得不更改为另一个EA,因为我的测试导致错误“ Test123”不是专家。 请问有什么帮助吗? thanks

@eyalgiga / @milfordT

您有解决此问题的方法吗?

我在2018年,我有同样的问题。构建一个可在脱机renko图表中工作的EA,但由于未调用onTick()和start()而无法正常工作。


多谢你们

aslkdjf 2018.03.14 07:15:22
塔利塔·劳拉·比斯波·达席尔瓦:

@eyalgiga / @milfordT

您有解决此问题的方法吗?

我在2018年,我有同样的问题。构建一个可在脱机renko图表中工作的EA,但由于未调用onTick()和start()而无法正常工作。


多谢你们

解决方案是在生成器中使用eventchartcustom,以通过onchartevent处理程序将滴答通知离线图表。 您还可以快速序列化一堆数据,并将其作为csv传递给字符串参数,并在另一端进行解析,以在图表之间快速传输数据。
12