MT4挂起,没有再次调用start()。 - 页 2

 

start()。

int start()
  {     
   int TFInd;
   int k;  
   
   Print("start():  started . . .");  
   
   if (CheckDebug(DebugStart, 2))
      {
         DebugStr = "DebugStart: " + "begin: " + " InitialGapFound: " + BoolToString(InitialGapFound);
         PrintDebug(DebugFile, DebugStr);
      }

...

OK只是#define OK 0

我的日志文件。

2013.11.15 14:35:30 Test reduced 0: USDJPY M15 Debug Init() begin:
2013.11.15 14:35:30 Test reduced 0: USDJPY M15 DebugMyInit begin:
2013.11.15 14:35:30 Test reduced 0: USDJPY M15 Debug Init() return:
2013.11.15 14:35:30 Test reduced 0: USDJPY M15 DebugStart: begin: InitialGapFound:真
2013.11.15 14:35:30 Test reduced 0: USDJPY M15 DebugStart: last return in InitialGapFound
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:30 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:31 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回
2013.11.15 14:35:32 测试减少 1180990:USDJPY M15 DebugStart:开始。 InitialGapFound:真
2013.11.15 14:35:32 测试减少 1180990:USDJPY M15 DebugStart: InitialHistoryGapClosed
2013.11.15 14:35:32 测试减少 1180990:USDJPY M15 DebugMyInit开始。
2013.11.15 14:35:32 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:1 nach CreateHistory()
2013.11.15 14:35:33 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:2 nach CreateHistory()
2013.11.15 14:35:34 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:3 nach CreateHistory()
2013.11.15 14:35:35 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:4 nach CreateHistory()
2013.11.15 14:35:35 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:5 nach CreateHistory()
2013.11.15 14:35:36 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:6 nach CreateHistory()
2013.11.15 14:35:37 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:7 nach CreateHistory()
2013.11.15 14:35:37 测试减少 1180990:USDJPY M15 DebugMyInit return InitialMyInitCalls:0 IndexCount:8
2013.11.15 14:35:37 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回


MT4日志文件没有显示任何东西。在这种情况下,当MT4挂起时,Print()不起作用,因为MT4的日志文件不会被刷新。这就是为什么我使用我自己的日志函数。

另见

WHRoeder2013.11.14 19:27#

在哪里/如何记录?你不能使用Print/Alert,因为你在挂GUI线程,输出不会被写入。

MT4日志文件。

13:38:00 GA_Pivot Points DE30.Z,M15: 已初始化
13:38:00 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: 已初始化
14:35:05 GA_Daily Range Lines V1.3 _US30,M15: 取消初始化
14:35:05 GA_Daily Range Lines V1.3 _US30,M15: uninit reason 1
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: uninit reason 1
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: uninit reason 1
14:35:05 GA_Pivot Points _US30,M15: 去初始化了
14:35:05 GA_Pivot Points _US30,M15: uninit reason 1
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: deinitialized
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: uninit reason 1
14:35:05 GA_Daily Range Lines V1.3 _US30,M15: 已删除
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: 已删除
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: 已删除
14:35:05 GA_Pivot Points _US30,M15: 已删除
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 已删除
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: uninit reason 1
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: uninit reason 1
14:35:05 GA_Pivot Points _US30,M15: 去初始化了
14:35:05 GA_Pivot Points _US30,M15: uninit reason 1
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: deinitialized
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: uninit reason 1
14:35:05 GA_MTF MAs 1 V1.4 _US30,M15: 已删除
14:35:05 GA_MTF MAs 2 V1.4 _US30,M15: 已删除
14:35:05 GA_Pivot Points _US30,M15: 已删除
14:35:05 $CH_Stochastic Copyright Dec2009 _US30,M15: 已删除
14:35:05 GA_MTF MAs 1 V1.4 _EUR50,Daily: uninit reason 1
14:35:05 GA_MTF MAs 2 V1.4 _EUR50,Daily: uninit reason 1
14:35:05 GA_Pivot Points _EUR50,Daily: 取消初始化
14:35:05 GA_Pivot Points _EUR50,Daily: uninit reason 1
14:35:05 $CH_Stochastic Copyright Dec2009 _EUR50,Daily: deinitialized
14:35:05 $CH_Stochastic Copyright Dec2009 _EUR50,Daily: uninit reason 1
14:35:05 GA_MTF MAs 1 V1.4 _EUR50,Daily: 已删除
14:35:05 GA_MTF MAs 2 V1.4 _EUR50,Daily: 已删除
14:35:05 GA_Pivot Points _EUR50,Daily: 已删除
14:35:05 $CH_Stochastic Copyright Dec2009 _EUR50,Daily: 删除
14:35:05 GA_MTF MAs 1 V1.4 _DE30,M15: uninit reason 1
14:35:05 GA_MTF MAs 2 V1.4 _DE30,M15: uninit reason 1
14:35:05 GA_Pivot Points _DE30,M15: 去初始化了
14:35:05 GA_Pivot Points _DE30,M15: uninit reason 1
14:35:05 $CH_Stochastic Copyright Dec2009 _DE30,M15: deinitialized
14:35:05 $CH_Stochastic Copyright Dec2009 _DE30,M15: uninit reason 1
14:35:05 GA_MTF MAs 1 V1.4 _DE30,M15: 已删除
14:35:05 GA_MTF MAs 2 V1.4 _DE30,M15: 已删除
14:35:05 GA_Pivot Points _DE30,M15: 已删除
14:35:05 $CH_Stochastic Copyright Dec2009 _DE30,M15: 删除
14:35:05 GA_MTF MAs 1 V1.4 DE30.Z,M15: uninit reason 1
14:35:05 GA_MTF MAs 2 V1.4 DE30.Z,M15: uninit reason 1
14:35:05 GA_Pivot Points DE30.Z,M15: 去初始化了
14:35:05 GA_Pivot Points DE30.Z,M15: uninit reason 1
14:35:05 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: deinitialized
14:35:05 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: uninit reason 1
14:35:05 GA_MTF MAs 1 V1.4 DE30.Z,M15: 已删除
14:35:05 GA_MTF MAs 2 V1.4 DE30.Z,M15: 已删除
14:35:05 枢轴点DE30.Z,M15: 已删除
14:35:05 $CH_Stochastic Copyright Dec2009 DE30.Z,M15: 已删除

 
mt4forum:

start()。

OK只是#define OK 0

確定

MT4日志文件不显示任何东西。在这种情况下,当MT4挂起时,Print()不起作用,因为MT4的日志文件不会被刷新。这就是为什么我使用我自己的日志函数。

另见

WHRoeder2013.11.14 19:27#

在哪里/如何记录?你不能使用Print/Alert,因为你挂了GUI线程,输出将不会被写入。
在挂起之前,Print()会起作用。.如果你停止EA的运行,点击EA按钮,那么日志文件不应该被刷新吗? 然后你就能看到最后的打印结果。 .或者把它改成Comment(),用Comment("")清除start()末尾的注释。
 

我把这个程序作为一个指标来运行。

要停止它,我必须杀死MT4终端进程

我已经按照你的建议插入了 comment() 。

注释并没有出现在图表上。

 
         if (TimeLocal() >= LastInitialGapCloseCheck + HistoryDownloadCheckInterval)                                  // zzz
你为什么要调用TimeLocal 那是你的机器时间(在你的TZ,)而不是你的经纪人时间,也不是测试员的时间。在这两个地方都试试TimeCurrent()。
 

我知道,我只是用它来检查,在我再次做一些检查之前已经过了多少时间。

在这种情况下,我可以使用任何时间函数,只要我总是使用同一个函数

这不是问题所在。

有没有可能是我以某种方式破坏了start()函数的函数调用栈?

 
mt4forum: 在这种情况下,我可以使用任何时间函数,只要我总是使用相同的。这不是问题所在。
如果你想使用测试器/优化器,这就是一个问题。
 
mt4forum:

我正在运行这个程序,作为一个指标。

你是在给接口线程减速吗?
 
RaptorUK:
你是在给界面线程减速吗?

你这是什么意思?

 
mt4forum:

你这话是什么意思?

在一个指标中,你不能使用Sleep(),你不能使用MessageBox(),或者如果你的代码只是在一个循环中花费很长时间 . .

"该函数不能从自定义指标中调用,因为它们是 在界面线程内执行 ,可能不会减速。"
 

不,我没有使用sleep()或messagebox(),但我在函数MyInit()中做了大量的工作,大约需要5秒钟。

你可以在日志文件中看到这一点。

2013.11.15 14:35:32 测试减少1180990。USDJPY M15 DebugStart: InitialHistoryGapClosed
2013.11.15 14:35:32 测试减少 1180990:USDJPY M15 DebugMyInit begin: <---------- work starts
2013.11.15 14:35:32 Test reduced 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:1 nach CreateHistory()
2013.11.15 14:35:33 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:2 nach CreateHistory()
2013.11.15 14:35:34 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:3 nach CreateHistory()
2013.11.15 14:35:35 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:4 nach CreateHistory()
2013.11.15 14:35:35 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:5 nach CreateHistory()
2013.11.15 14:35:36 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:6 nach CreateHistory()
2013.11.15 14:35:37 测试减少 1180990:USDJPY M15 DebugMyInit InitialMyInitCalls:0 IndexCount:7 nach CreateHistory()
2013.11.15 14:35:37 测试减少 1180990:USDJPY M15 DebugMyInit return InitialMyInitCalls:0 IndexCount:8 <---------- 工作结束
2013.11.15 14:35:37 测试减少 1180990:USDJPY M15 DebugStart: InitialGapFound中的最后一次返回

但是,为什么会让MT4在这之后陷入循环?