IsConnected()

 

誰かint start()の後にIsConnected()がどのように機能するのか説明してください。

int start()の後に何か書き込まれた場合、新しいティックの後にのみ実行されます どのようにEAは全くそれに到達することができます。

ありがとうございます

 

start()にループして、新しいティックと...isconnected()をチェック することができます。

 
Matutin:

start()にループして、新しいティックと...isconnected()をチェックすることができます。


しかし、新しいティックが来なかった場合、start()にループさせるのに何が役に立つのでしょうか?

例えば、自動でターミナルを再起動し、EAがループに来なかった場合、接続されていません。

 
qjol:


しかし、新しいティックが来なかった場合、start()にループさせるのに何が役に立つのでしょうか?

例えば、自動でターミナルを再起動し、EAがループに来なかった場合、接続されていません。

EAではなく、スクリプトで助けることができます。
 
robofx.org:
EAではなく、スクリプトで対応可能です。

EAでinit()に?
 
qjol:

をEAでinit()に入れることは可能ですか?
可能です。
 

これを試してみてください...

https://www.mql5.com/en/code/7744


V

 
robofx.org:
可能です。


int init()がうまくいかなかったので、修正しました。

#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

#import "shell32.dll"
int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);
#import

int init()
  {
   Print ("starting count");
   Sleep(10000);
   Print ("chacking");
   if (!IsConnected())
   {
   Print ("restarting ap in 5 sec");
   Sleep(5000);
   ShellExecuteA(0, "Open", "d:\r_ap.bat", "", "", 1); 
   }

   return(0);
  }

 

上のリンクから発展させると...私は接続状態を監視するために別のEAを走らせています。それは基本的に、私のテストのためのすべてのコードは、最後にスリープを持つ開始の中にコード化されています。Startは基本的に大きなループで、終了すると最初に戻る。しかし、開始のトリガーとなるtickを待つのではなく、init()の中でstart()を呼び出しています。この方法では、start()はスリープしながらループを続け、init()は終了しないので、コードはtickを待つのではなく、スリープからの時間間隔に基づいて実行されます... 上のリンクはその原理を表しています...

hth

V

 
Viffer:

上のリンクから発展させると...私は接続状態を監視するために別のEAを走らせています。それは基本的に、私のテストのためのすべてのコードは、最後にスリープを持つ開始の中にコード化されています。Startは基本的に大きなループで、終了すると最初に戻る。しかし、開始のトリガーとなるtickを待つのではなく、init()の中でstart()を呼び出しています。この方法では、start()はスリープしながらループを続け、init()は終了しないので、コードはtickを待つのではなく、スリープからの時間間隔に基づいて実行されます... 上のリンクはその原理を表しています...

hth

V


サンクス
 
qjol:


しかし、新しいティックが来なかった場合、start()にループさせるのに何が役に立つのでしょうか?

例えば、自動でターミナルを再起動し、EAがループに来なかった場合、接続されていません。


init()からstart()を呼び出せば、ティックが来なくてもstart()に入ることができます!
理由: