記事"メタトレーダー5における検証の原則"についてのディスカッション - ページ 2

 
Rosh:
Technical Indicators またはIndicatorCreate() の関数によって作成されたすべてのインジケータ... "をお読みください。

ありがとうございました。

 

この素晴らしい記事を読んでいたのですが、どこかにタイプミスがあったようです。

//+------------------------------------------------------------------+
|エキスパート初期化関数|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   bool hidden=IndicatorRelease(handle_ind);
   if(hided) Print("IndicatorRelease() successfully completed");
   else Print("IndicatorRelease() returned false. Error code ",GetLastError());
  }

私は、あなたが「if(hided) Print...」ではなく「if(hidden) Print......」とタイプしたかったのではないかと考えています。

//+------------------------------------------------------------------+
|エキスパート初期化関数|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   bool hidden=IndicatorRelease(handle_ind);
   if(hidden) Print("IndicatorRelease() successfully completed");
   else Print("IndicatorRelease() returned false. Error code ",GetLastError());
  }

記事をありがとう。

サム

削除済み  

なぜ「テストの基本」の記事には、ALL が何から始めるかについて一言も書かれていないのでしょうか?

私は、ForexTesterのような手動戦略のテストについて話しているのです。少なくとも、注文の設定/実行/変更はできませんが、ティック(少なくともバーチャート)と、インジケータを見たり、タイムフレームを切り替えて「リアルタイム」チャートを作成する機能があります。

削除済み  

ExpertMACD Expert Advisor(「ビルトイン」)を、以前に保存したテンプレートtester.tpl(2つのインジケーターウィンドウ)でテストを 開始すると、最初のウィンドウがExpert AdvisorのMACDインジケーターとテンプレートのインジケーターが重なってしまいます。このように設計されているのでしょうか?

他のExpert Advisorは確認していません。本日MTのバージョンを更新しました。

 
VladMih:

なぜ「テストの基本」の記事には、ALLがどこから始めるかについて一言も書かれていないのでしょうか?

私は、ForexTesterのような手動戦略のテストについて話しているのです。少なくとも、注文の設定/実行/変更はできませんが、ティック(少なくともバーチャートのみ)やインジケータを見たり、タイムフレームを切り替えてリアルタイムチャートを作成する機能はあります。

なぜなら、自動売買システムのテストについて話しているからです。

テンプレートにインジケーターを表示するソリューションは一時的なもので、すぐにビジュアライゼーション中にインジケーターが自動的に表示されるようになります。

削除済み  
Renat:

自動売買システムのテストについて話しているからです。

テンプレートにインジケータを使用したソリューションは一時的なもので、すぐにビジュアライゼーション中にインジケータが自動的に表示されるようになります。

1.1.理解していますが、記事のタイトルにはありません。

また、「手動システムのテストに関する話」はどこで読むのでしょうか?どこにも?申し訳ないが、「プログラマーでない者はトレーダーでない」(「人間でない」とまでは言わないまでも)ようなことが判明した。これは「党の方針」なのだろうか?このままなのか、それとも凡人向けに何か計画されているのか。凡人向けとか...。

2.わかっていませんね。自動で表示されますが、EAのインジケーターはテスターのテンプレートのインジケーターに重なっています。

ただし、一時的に重なっているのであれば、もちろん議論することはありません。

 

Моделирование времени в тестере

テスト中、ローカル時間TimeLocal() は常にサーバー時間TimeTradeServer() と等しい。また、サーバー時刻は常に GMT 時刻に対応する時刻 -TimeGMT()- と等しくなります。したがって、これらの関数はすべて、テスト中に同じ時刻を生成します。

このように、テスト中は「サーバー時間」== TimeTradeServer() == TimeGMT()と表示されます。 同時に、MQデモ口座に関するフォーラムでは、「MQサーバー時間」==「平均ヨーロッパ時間」== GMT+1と表示されています。

私のラップトップ(ビルド674)でスクリプトをオフラインで実行したところ、TimeTradeServer() == TimeGMT()と表示されました。 MQサーバー時間」== TimeGMT()であり、GMT+1ではないと結論付けてよろしいでしょうか?

 

物事は浮き沈みし、変化する。昔はこうだったのに

В то же время, на форуме в отношении демо-счетов MQ утверждалось, что "серверное время MQ" == "среднеевропейское время" == GMT+1.

今はこうだ

TimeTradeServer()== TimeGMT()

 

ご説明ありがとうございます!つまり、デモ口座の場合、"サーバー時間MQ" ==TimeGMT().

 

Расчет индикаторов при тестировании

リアルタイムモードでは、インディケータ値は各ティックで計算されます。テスターは、経済的な指標計算モデルを採用しています。指標は、Expert Advisorが実行のために起動される直前にのみ再計算されます。つまり、インジケータ値の再計算は、OnTick ()、OnTrade()、OnTimer()関数を呼び出す前に 実行されます。

特定のイベントハンドラにインジケータ呼び出しがあるかどうかに関係なく、iCustom() またはIndicatorCreate ( ) 関数によってハンドルが作成されたすべてのインジケータは、イベントハンドラ関数を呼び出す前に 再計算されます。

したがって、"All ticks" モードでテストする場合、OnTick() の各呼び出しの前に インディケータの計算が実行されます。EventSetTimer() 関数を使用してExpert Advisorでタイマーを有効にすると、OnTimer() ハンドラーの各呼び出しの前に インジケーターが再計算されます。

記事によると、インジケータの値は3つの関数(イベントハンドラ)を呼び出す前に再計算されます。私のExpert Advisorにはこれらの関数はありません。計算は他のシンボルのチャートにアタッチされたインジケータによって実行されます。 テスターではすべてが多かれ少なかれ計算されているようです。

他のシンボルにぶら下がっているインジケータはどの瞬間に再計算されるのでしょうか? Expert Advisor に OnTick() 関数がない場合でも、NewTickイベントが送信されるたびに計算されるの でしょうか?もしそうなら、インジケータは他のシンボルのティックの頻度で再計算されるのでしょうか?