エラーに悩まされ、取引業務がない - ページ 7

 

合理的だ、アルチョム。この初歩的なコードには、本当にエラープリンターがないのです。ぜひ追加して、また確認したいと思います。しかし、その中で、メインのEAでは、エラーごとにメッセージが表示されます。

また、2つ目の質問ですが、バリデータが情報環境で最小ロットを0. 2に設定し、初回入金額を1ドルとして取引を開始しようとした場合。このテストに合格するチェックやプリントはないことは明らかです。上記のコードのように何もチェックしない場合、エラー134で終了することが保証されています。あるいは、すべてをチェックした上で、オープニングオーダーをサーバーに送信しない場合は「ノートレード」。

この悪循環から抜け出すには、どうしたらいいのでしょうか。

なぜNZDUSDALWAYSにはトレードがない のか?両方のEAを確認しました。実験の純度を高めるために、同僚のアカウントで確認するように送りました。トレードもなかった。テストが成功するかどうかは関係ない。コードからわかるように、このペアの取引に制限はありません。

私やEAだけではありません。このスレッドと隣のスレッドでバリデータレポートを投稿した人からは、NZDUSDのトレードはありません
 
Andrey Kaunov:

合理的だ、アルチョム。この初歩的なコードには、本当にエラープリンターがないのです。ぜひ追加して、また確認したいと思います。しかし、その中で、メインのEAでは、エラーごとにメッセージが表示されます。

また、2つ目の質問ですが、バリデータが情報環境で最小ロットを0. 2に設定し、初回入金額を1ドルとして取引を開始しようとした場合。このテストに合格するチェックやプリントはないことは明らかです。上記のコードのように何もチェックしない場合、エラー134で終了することが保証されています。あるいは、すべてをチェックした上で、オープニングオーダーをサーバーに送信しない場合は「ノートレード」。

この悪循環から抜け出すには、どうしたらいいのでしょうか。

なぜNZDUSDALWAYSには トレードがないのか?両方のEAを確認しました。実験の純度を高めるために、同僚のアカウントで確認するように送りました。トレードもなかった。テストが成功するかどうかは関係ない。コードからわかるように、このペアの取引に制限はありません。

私やEAだけではありません。このスレッドと隣のスレッドで検証レポートを投稿した人のNZDUSDのトレードはありません

自分で 言ったんでしょう?

すべてをチェック し、サーバーにオーダーを送らない。

サーバーからの不可避のエラーを待つのではなく、自分でやらなければならないのです。そして、このような理由でサーバーに注文を送ることができなかったということを、必ず ログに報告してください。

 
Artyom Trishkin:

...

サーバーからの不可避のエラーを待つのではなく、自分でやらなければならないのです。そして、必ず ログブックに「こんな理由でサーバーに注文が送れませんでした」と報告してください。

じゃあ、私はチェックをパスしないんだ、アルチョム。そして、1時間かけて確認すると、もう額縁に入れられるようなレポートが返ってきます。

2つ目の質問、NZDUSDについてはどうでしょうか?もしかして、あれかな? EURUSDでは必ずトレードがありますが、NZDUSDではバリデーターが躓いているようです。さ らに滑ることもあれば、テストに合格することもある。

しかし、ほとんどの場合、フリーズしてバリデーションエラーが発生します。このNZDUSDをチェックすると、それが問題のようです。

 
Andrey Kaunov:

では、私は試験に合格していないのですね、アルチョムさん。そして、1時間かけてチェックした結果、もうフレーム化できるようなレポートが返ってくるんです。

陸上での修理には十分すぎるほどです。

バリデータのエラーレポートは、以前はもっと控えめでした。

NZDUSD H1 でストラテジーテスターを 実行し、ログを確認します。

GBPUSD M30と同じ

 

Renat、その初歩的なコードでは、うまくいかないかもしれないことです。私のテスターでは、どのペアでも動作しています。ここでは、それを少しグレードアップしてみました。自分で確認してみてください。もしかしたら見落としがあるかもしれませんが...。

#property version   "1.00"
#property strict

int test_ticket[2]={0,0};
double   gl_lots,
         gl_ask,
         gl_bid;
string   gl_comm;         
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() {
//---

//---
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
//---

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() {
   gl_lots=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
   gl_ask=NormalizeDouble(Ask,_Digits);
   gl_bid=NormalizeDouble(Bid,_Digits);
   gl_comm="test";
//---
   if(AccountFreeMarginCheck(_Symbol,OP_BUY,gl_lots)<=0 || GetLastError()==134) {
      printf("Not enough money for the minimum lot: %.4f",gl_lots); 
      ExpertRemove();
   }
   if(test_ticket[1]<8 && test_ticket[0]==0) {
      test_ticket[0]=OrderSend((StringCompare(_Symbol,"NZDUSD")==0?"NZDUSD":_Symbol),OP_BUY,gl_lots,gl_ask,30,0.0,0.0,gl_comm,33333,0,clrNONE);
      if(test_ticket[0]>0) test_ticket[1]++;
   }   
   if(test_ticket[0]>0)
      if(OrderSelect(test_ticket[0],SELECT_BY_TICKET)) {
         if(OrderCloseTime()==0 && OrderOpenTime()+300<TimeCurrent())
            if(OrderClose(test_ticket[0],OrderLots(),gl_bid,30,clrNONE)) {
               printf("Test order closed, ticket #%d",test_ticket[0]);
               test_ticket[0]=0;
            }   
      }
}
//+------------------------------------------------------------------+

NZDUSDについては、あれだけ危惧していたのに、まだトレードしていない。

しかし、今バリデータはエラー134を 表示しませんし、私は1ドルの初期預金で0.2ロットでそれをテストしたことが表示されません。

 
Andrey Kaunov:

Renat、その初歩的なコードでは、うまくいかないかもしれないことです。私のテスターでは、どのペアでも動作しています。そこで、少しグレードアップしてみました。

そして未だにNZDUSDのトレードは皆無です、泣。

通常のテスターで実行すると、ログにエラーが表示されることがある
 

何が言いたいんだ、レナト。さて、ここからが本題です。



 
Andrey Kaunov:

Renat、その初歩的なコードでは、うまくいかないかもしれないことです。私のテスターでは、どのペアでも動作しています。ここでは、それを少しグレードアップしてみました。自分で確認してみてください。もしかしたら見落としがあるかもしれませんが...。

NZDUSDについては、あれだけ危惧していたのに、まだトレードしていない。

しかし、今バリデータはエラー134を 表示されませんし、私は$ 1の初期預金で0.2ロットでそれをテストしたことが表示されません。

Expert Advisorをアンロードすることができません。

 
Artyom Trishkin:

エキスパートがアンロードできない。

アルチョム 荷を降ろさなくても、まったく同じでしたよ。エキスパートではなく、NZDUSDの話です。具体的なことではなく、本質に注目すること!!!

ログファイルのサイズを超えるというエラーが出ないようにアンロードする。
 
Andrey Kaunov:

Artyomさん、アップロードしなくても全く同じでしたよ。EAがどうのこうのではなく、NZDUSDがどうのこうのなのです。具体的なことではなく、本質に注目すること!!!

バリデータは、パラメータを通過していきます。最初の組み合わせで取引 なしを満たすと、Expert Advisorをアンロードします。それだけです。これ以上の検査は意味がない。

問題の本質は、Expert AdvisorでValidatorを動作させないことです。

一部のシンボルで取引がない場合でもテストはパスします。主な内容は、取引操作ができない場合、Expert Advisorはその旨のログを発行し、作業を継続するというものです。
あなたが作っているのは、バリデーターではなく、人々のためのプログラムなのです。なぜ、エラーを処理せず、単にチャートから削除するプログラムがマーケットに必要なのでしょうか?そんな奇跡を、あなたは自分で買いますか?