エラー、バグ、質問 - ページ 2107

 
Vladislav Andruschenko:

そうですね、変えていかないといけないですね。

このルールには枝葉がある。

Организация цикла перебора ордеров
Организация цикла перебора ордеров
  • 2017.09.16
  • www.mql5.com
MQL4 и MetaTrader 4: Организация цикла перебора ордеров
 
fxsaber:

このルールには枝葉がある。


そうそう、環境が変わったときだけ履歴にアクセスする機能については、断片的に読んだことがあるし、他のスレッドであなたのリンクを見たことがあります。

を読んだらエラーになりました。

 
fxsaber:

これは間違った論理です。OrderSendが失敗し、OrderSendが成功した後、現在の取引環境を再度完全に読み込む必要があります。このルールは常に有効であるべきです。

リターンコードについて私のEAでは解析していません。取引ロジックは、それらに依存してはいけないと思います。

理論的には、ブローカーのサーバーとの接続が切れたときにタイムアウトが発生する可能性があります。

この場合、復旧して取引環境がサーバーと完全に同期するまでは、一切何もしない方が良いでしょう。

リターンコードを分析 せずに、そのような状況に陥らないようにするにはどうしたらよいでしょうか。

 

コンパイルエラー です。


Test.mqhファイル。

int Tmp = 1;


メインコード

#include "Test.mqh"

void OnStart()
{
  Print(Tmp);
  Print(Tmp2); // 'Tmp2' - undeclared identifier
}

#define  Tmp Tmp2
#include "Test.mqh"


繰り返しのインローは無視されることが判明。しかし、この状況では間違っているのです

このような構成が必要なのは、次のような目的からです。Expert Advisorは、.mqhファイルに格納されています。しかし、私はそれを実際のアカウント(第一のインクルード)と私のテスター(第二のインクルード)で実行できるようにする必要があります。

 
Andrey Khatimlianskii:

理論的には、ブローカーのサーバーとの通信が途絶えたときにタイムアウトが発生する可能性があります。

この場合、復旧して取引環境がサーバーと完全に同期するまでは、一切何もしない方が良いでしょう。

リターンコードを分析せずに、そのような状況に陥らないようにするにはどうしたらよいでしょうか。

OrderSendを 送信しましたが、サーバーからの応答を待たず、ログにタイムアウトと_LastErrorが表示されました。LastErrorは無視し、falseのみを受け取る。

その後、縁があれば 取引環境を組み立て直して判断しています。

もちろん、情報収集の前には必ず選択した環境を確認することが望ましい。

 
fxsaber:

OrderSendを送信し、サーバーからの応答を待たずに、ログにタイムアウトと_LastErrorを取得しました。LastErrorを無視し、falseのみを受信する。

その後、縁があれば 取引環境を組み立て直して判断しています。

もちろん、情報収集の前には必ず選択した環境を確認することが望ましい。

これは、OnTickで動作している場合に可能です。そうでない場合は?

接続の確認方法は?

 
Andrey Khatimlianskii:

これは、OnTickで動作する場合、動作します。そうでない場合は?

接続の確認はどのように行うのですか?

TerminalInfoInteger(TERMINAL_CONNECTED);
 
fxsaber:
TerminalInfoInteger(TERMINAL_CONNECTED);

歴史的に見ても、信用できない。5でテストしてみないと...。

 

タイムアウトの問題は、接続がないことではなく、リクエストがタイムアウトを受けたことである。

一方では、取引開始のシグナルがあり、リクエストをして、タイムアウトになったが、取引は開始された、というように考えています。

Expert Advisorがエラーを受信しているにもかかわらず。

取引環境を確認する - オープンディールを見る。

しかし、例えば10個のシグナルがあった場合、このシグナルによって取引が開始されたことをどのように理解するのでしょうか?

つまり、新しい取引が(端末の)履歴に現れたかどうかをチェックします。


考えも及ばず

@A100

どのような解決策があるのでしょうか?

 
fxsaber:

再インコードは無視されることが判明。しかし、この状況でこれは間違っている!

次のような構成が必要です。Expert Advisor は mqh ファイルに含まれています。しかし、私はそれを実際のアカウント(第一のインクルード)と私のテスター(第二のインクルード)で実行できるようにする必要があります。

すべてが正しく、きちんと無視される。

シシュハックは通じない。