エキスパート: 多通貨 OnTick(string symbol) イベントハンドラ - ページ 2

 
2011.08.24 12:40

1. Copy
   indicators\spy_control_panel_mcm.ex5 ok
   indicators\ds.ex5 ok
   include\ontick(string_symbol).mqh ok
   include\ctrade.mqh ok
   experts\atcrollback.ex5 ok

2. Compile

3. Configuration
   atcrollback on EURUSD:M12 every tick 2011.01.01-2011.08.01


4. Start
   finished in 0 min 9 sec


5. Statistics
loading of Spy Control panel MCM EURUSD,M12 failed
2011.01.01 00:00:00   expert removed because custom indicator 'Spy Control panel MCM' cannot load [4802]
tester stopped because OnInit critical error
   5 kb of log files
   there are no trading operations


4 errors

У меня все работает, выложил на проверку на чемп. вот такие дела:(
я так понял шпион не запустился, в чем может быть причина? там обязательно mq5 выкладывать, или ex5 достаточно?

 
Olegts:


なぜインジケーターが作成できないのか、ログやコードなしでは理解できません。スパイへのパスが間違っているか、似たようなものかもしれません。
 
Olegts:


インジケーターの名前を確認してください。"SpyControl panel MCM "をスペースで読み込もうとし、"spy_control_panel_cm "をアンダースコアでアップロードしています。

 
Lizar:
なぜインジケーターが作成できないのか、ログやコードがないとわかりません。スパイへのパスが間違っているのかもしれません。
Renatの言うとおり、mql5.comサーバーにアップロードする過程で、ファイルがスペースではなくアンダースコアになっていました。
 
Olegts:
レナトの言うとおり、mql5.comサーバーにアップロードする際、ファイル名にスペースの代わりにアンダースコアが入っていた。
結果は...。
 
Lizar:
了解。
エラーはない!OnTimer()で苦労していたので、多通貨モードには本当に感謝しています。スペースの問題は、私のOperaかサーバーのどこで発生したのか分かりませんが、Renatは優れた目を持っています!
 
Olegts:
エラーはありません!OnTimer()で苦労していたので、多通貨モードには本当に感謝しています。スペースの問題は、私のOperaかサーバーのどこで発生したのか分かりませんが、Renatは優れた目を持っています!
どういたしまして。私もこの方式は気に入っている。
 
Lizar:
どういたしまして。私もこの仕事のスキームが好きだ。
Konstantin、こんにちは。もしお時間があれば、このスレッド-多通貨エキスパートアドバイザーのテスト結果-をご覧ください。あなたの言葉はとても役に立つでしょう。ご苦労様でした。
 
tol64:
Konstantinさん、こんにちは。もしお時間がありましたら、このトピック -多通貨エキスパートアドバイザーのテスト結果- をご覧ください。あなたのお言葉はとても役に立ちます。ご苦労様でした。
わかりました。拝見します。
 

記事のコードが古い。風車との戦いに半日を費やした。特に:

void EventCustom(ENUM_CHART_EVENT_SYMBOL event,double price)
  {
   if(!testing) EventChartCustom(chart_id,custom_event_id,(long)event,price,_Symbol);
   else
     {
      if(GlobalVariableSet(_Symbol+"_custom_id",custom_event_id)==0) return;
      if(GlobalVariableSet(_Symbol+"_event",event)==0) return;
      if(GlobalVariableSet(_Symbol+"_price",price)==0) return;
      GlobalVariableSet(_Symbol+"_flag",2);
     }
   return;
  }



void OnTick()
  {
   if(_testing_)
     {
      for(int i=0;i<_symbols_total_;i++)
        {
         string __symbol__=_symbol_[i];
         if(MathAbs(GlobalVariableGet(__symbol__+"_flag")-2)<0.1)
           {
            GlobalVariableSet(__symbol__+"_flag",1);
            OnTick(__symbol__);
           }
        }   
     }   
  }



グローバル変数を 使った "シャーマニズム "は必要ない。OnCalculateはテスター内部で完璧に呼び出される。