MetaEditorの改善に関する提案 - ページ 6

 
Lizar:
試してみてください。テスターで動作します。ただし、記事で規定されている調整で。

そして、イベントを通じて送信するテスターの何?

A) テスターのチャートが開けない

B) イベントインジケーターが受信しない

Expert Advisorは自分自身にイベントを送信するので、意味がないのでは?

 

Обработка событий в тестере

Expert Advisor のハンドラ OnTick() は、MetaTrader 5 の Strategy Tester でヒストリカルデータをテストするために必須ではありません。 Expert Advisor は、上記のハンドラ関数を少なくとも 1 つ持っていれば十分です。

  • OnTick() - 新しいティック到着イベントのハンドラ;
  • OnTrade() - 取引イベントのハンドラ;
  • OnTimer() - タイマー信号到達のイベントハンドラ;
  • OnChartEvent()- カスタムイベントのハンドラ。

Expert Advisor でテストする場合、カスタムイベントはOnChartEvent() で処理できますが、インジケータではこの関数はテスターで呼び出されません。インジケータにOnChartEvent() ハンドラがあり、この インジケータがテスト対象のExpert Advisorで使用されていたとしても、インジケータ自体はカスタムイベントを受信しません。

テスト中のインジケータはEventChartCustom() 関数を使用してカスタムイベントを生成することができ、エキスパートアドバイザーはOnChartEvent() でこれらのイベントを処理することができます。

1.現時点では、私の記憶では、テスターのExpert AdvisorはEventChartCustom()関数で送信されたイベントを処理しません。

2.記事にはテスターのインジケーターで機能が動作しない旨の記載がありますが、ヘルプファイルには記載がありません。どのように理解していますか?

3.まあ、デモ・リアルで動くものがテスターで動かないというのはおかしいですからね。あなたが私に何をしようと、それはまだ間違っています。

インジケータでOnChartEvent() をやるなら、どこでも動くようにしてくれ、そうでなければ、そこに置いておく意味がない...。

追記

開発者への質問 - テスターでは全く動作しないのか、OnChartEvent() で送信されるものだけなのか?

 
Urain:

そして、イベントを通じて送信するテスターの何?

A) テスター内のチャートが開けない

B) インジケータはイベントを受信しない

Expert Advisorが自分自身にイベントを送信することになりますが、その意味は何ですか?

理にかなっている、私、例えば、自分自身を送信することに成功し、複数(テスターがイベント受信を壊したまで)。

そして、テスターがチャートを理解し処理するようになると、イベントを受け取ることが論理的にできるようになる...。

 

質問が不明確です。テスターでは全く動作しない、またはOnChartEvent() で送られたものしか処理しない」とはどういうことでしょうか?

テスターには、インジケータに ChartEventを配信する仕組みがありません。テスト対象のExpert Advisorに 配信されるイベントのサイクルは、まさにテスターの主要な部分です。

 
Interesting:

ポイントがあり、例えば私は、自分自身を送信することに成功し、複数(テスターでイベント受信が壊れるまで)。

テスターは以前はイベント受信ができたが、その後壊れたということですか?
 
Interesting:

それは意味があり、例えば私は、自分自身を送信することに成功し、複数(テスターがイベント受信を破壊するまで)。

そして、テスターがグラフィックを理解し、処理するようになると、イベントを受け取ることが論理的にできるようになる...。

一つのプログラムの中では、情報を伝達する可能性はたくさんありますが、イベントの意味は、異なるプログラム間の情報伝達です。
 
Lizar:

記事で 正式に発表されてから、2週間ほど経ちました。

公式には記事ではなく「ビルドアップデート」で発表されたようなものです。アップデート」に何かあったのでしょうか?
 
Urain:
一つのプログラムの中で、情報を伝達する機会はたくさんあります。イベントのポイントは、異なるプログラム間で情報を伝達することです。

ポイントは、どのように納品するかではなく、テスターで動いていた(はずの)ものが、半年ほど前にそこで動かなくなったことです。

ストリングス

テスターには、インジケータに ChartEventを配信する仕組みがありません。テスト対象のExpert Advisorに 配信されるイベントのサイクルは、テスターの主要な部分です。

以前はテスターでイベント受信ができたのに、それが壊れてしまったのですね。

Expert Advisorのテスターで EventChartCustom()OnChartEvent() の問題ということです。私が何か理解していないのかもしれませんが、チャンピオンシップ以前は問題なく動作していたのに、今はそうではありません。

同時に、もう誰もが知っていて理解していることだと思いますが、「機関車」はまだ動いていません(まさに「主要部分」であるにもかかわらず)。

簡単な例です。

1 .300秒(5分)ごとにタイマーを起動し、Expert Advisorを初期化します。

//Function OnInit
int OnInit()
//Function for initialization of the trade system
{
//----------------------------------------------------------------------------//
int Result = 0; //Returned importance
//----------------------------------------------------------------------------//

EventSetTimer(300);

//----------------------------------------------------------------------------//
return(Result);
//----------------------------------------------------------------------------//
}

2.タイマーでは、コード1001でイベントを送信するように規定されています。

//Event OnTimer
void OnTimer()
{
//----------------------------------------------------------------------------//
//Work variables
int customEventID; // номер пользовательского события для отправки
//----------------------------------------------------------------------------//
customEventID=CHARTEVENT_CUSTOM+1;

EventChartCustom(0,(ushort)(customEventID-CHARTEVENT_CUSTOM),0,0,"OnTimer - EventChartCustom");
//----------------------------------------------------------------------------//
}
3. Expert Advisorでこのイベントをキャッチする。
//Event OnChartEvent
void OnChartEvent(const int id,
                  const long& lparam,
                  const double& dparam,
                  const string& sparam
                  )
{
//----------------------------------------------------------------------------//
//Work variables
//----------------------------------------------------------------------------//

//----------------------------------------------------------------------------//
//                          Processing user events                            //
//----------------------------------------------------------------------------//
  if(id>CHARTEVENT_CUSTOM)
  //User event is received
  {
  Print("New event, ID ",id," - ",sparam);
  }
//----------------------------------------------------------------------------//  
}


その結果、Demoはイベントを取得しますが、Strategy Testerは取得しません。

そしてこれは、「核戦争」の場合でも機能することになっている貿易システムの基本的な要素のようなものです。

1.1分タイマー付きデモ


2. 1時間のタイマーを持つテスター


また、2011年04月01日から2011年04月07日まで、タイムフレーム1Hでテストを実施したことを付け加えておきます。

そして、彼らはどこにいるのか?

追記

Expert Advisorからメッセージが届かなければ、iindukeから届くと考える人がいるのかも?


 
Yedelkin:
記事ではなく、「アップデートビルド」で公式に発表されたようなものです。アップデート」に何かあったのでしょうか?

そうです、何もなかったんです、バグが出たから重くなったんです。

そして、それは記事で指定されるべきではありませんので、記事で、あまりにもそこにあるが、新しいビルドの説明でもないという事実について。

むしろ、そういうことは国語便覧に規定されているはずだ。 どこにそんな言葉があるのか教えてくれ(個人的には見つけられなかった)...。

 
stringo:
以前はテスターでイベント受信ができたのに、それが壊れてしまったのですね。

それは、国家試験の準備をきちんとすることです。そして、私がやっていることは、フォーラムで自分の書き込みを探すことです。:)

1.バグ、バグ、質問

バグ、バグ、質問。

私はチャンピオンシップの間にすでにフィックを動作させなかったことを覚えているが、問題についての最初のポストを見つけるために望んで、それを掘ることはありませんでした...

2010年5月9日付けの投稿が、与えられたトピックの最初のものだったと仮定してみましょう。 結論 - すでに8ヶ月が経過しています...:(

追記

ここでは、その詳細をご紹介します。

2010年09月06日の私の例

そして、アレクセイも問題の解決策を考えることを約束した。