"ダミー "からの質問 - ページ 188

 
Karlson:
まだ試していませんが、1つのファイルにまとめるという考え方は理解できますので、開発者の方からオプションとして、フォルダから未変更のデータを接続 する方法などをご指摘いただけるとよいかもしれません。
そして、「 フォルダから 不変のデータを接続する」という提案で、CDに直行しましたね。
 

こんにちは。

私が書いた関数を紹介します。2010 年初めの為替レートに対する現在の為替レートの比率を算出したものです。

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

2011年以前の期間についてテストを 実行すると正しく動作しますが、2012年についてテストを実行すると0が返されます :(

何が問題なのか、アドバイスをお願いします。

Expert Advisorは10分間に実行されています。私はテスト用にチャンピオンシップ2012のサーバーとアカウントを使用しています。

 
MegaVoin:

こんにちは。

私が書いた関数を紹介します。2010 年初めの為替レートに対する現在の為替レートの比率を算出したものです。

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 

   double OtkrVal[1]; 

   datetime time=D'2010.01.01 00:00:00';

   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) return(0);

   return(Bid / OtkrVal[0]);

}

2011年以前の期間についてテストを 実行すると正しく動作しますが、2012年についてテストを実行すると0が返されます :(

何が問題なのか、アドバイスをお願いします。

Expert Advisorは10分間に実行されています。私はテスト用にチャンピオンシップ2012のサーバーとアカウントを使用しています。

エラーのプリントアウトを貼ってください-。
 
Yedelkin:
そうですね、プログラムのロジックがどうなっているのかわかりませんが、10分という期間の表記が少し違っていますね。

他はすべて10分で動く、こんな感じです。

CopyHigh(_Symbol, _Period, 0, 2, MaxVal ) 

この機能だけが、月からデータを取ろうとする。

また、そのエラーを印刷する方法は?CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) が1ではなく-1を返すことは理解した。

 
MegaVoin:

また、エラーを印刷する方法は?CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) が1ではなく-1を返すことは理解できました。 しかし、なぜこのようなことが起こるのか、エラーを出力することは可能なのでしょうか。

double CalcKorr()
{
   double Bid = SymbolInfoDouble(_Symbol,SYMBOL_BID); 
   double OtkrVal[1]; 
   datetime time=D'2010.01.01 00:00:00';
   ResetLastError();
   if (CopyOpen(_Symbol,PERIOD_MN1,time,1,OtkrVal) != 1) 
     {
      Print("error = ",_LastError);
      return(0);
     }
   return(Bid / OtkrVal[0]);
}
 
Yedelkin:
エラーのプリントアウトを貼って~見よう。

エラー = 4401

メタトレーダーでエラーコードの 解読ができないのですが・・・。

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5
 
MegaVoin:

エラー = 4401

メタトレーダーでエラーコードの 解読ができないのですが・・・。

https://www.mql5.com/ru/docs/constants/errorswarnings/errorcodes
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
MegaVoin: エラー = 4401

OK、「要求された履歴は見つかりませんでした」。つまり、2010年1月は2012年には見つかりませんよね?

また、デモ口座(テスターではありません)では、どのように表示されるのでしょうか?

 
Yedelkin:

OK、「要求された履歴は見つかりませんでした」。つまり、2010年1月は2012年には見つかりませんよね?

また、デモ口座(テスターではありません)では、どのように表示されるのでしょうか?

ウンウン、検出されない。

新しくデモ口座を作りました(チャンピオンシップの口座ではありません)。2011年のテストでは5以上のロットはスキップされるようになりましたが、2012年では同じエラーが発生します。

テスト期間前にどれだけの履歴にアクセスできるかをどこかで設定しなければならないのでしょうね。そして、デフォルトでは2年でなければならない...。どこに設定されているのかだけ...

 
MegaVoin: 新規にデモ口座を作成(チャンピオン口座ではありません)。2011年のテストでは5個以上のロットはスキップされるようになりましたが、2012年ではまだ同じエラーです。

では、このエラーは(テスターではなく)デモ口座でも発生するのですね。

MegaVoin :テスト期間までにどれだけの履歴が残っているか、どこかで設定する必要があるのでしょうね。初期設定は2年でしょうか...。設定されているところのみ・・・。

むしろ、「トレーディング戦略のテスト」のコーナーでテストのための履歴を読みたいと思います。