記事"MQL5ウィザード:トレーディングシグナル用モジュール作成方法"についてのディスカッション - ページ 3 12345678 新しいコメント Rashid Umarov 2011.06.08 17:26 #21 MQL5ウィザードの新バージョンでは、信号モジュールのフォーマットが変更されました。詳しくはこちらをご覧ください -https://www.mql5.com/ru/forum/3724/66962#comment_66962。 Обсуждение статьи "Мастер MQL5: Новая версия" www.mql5.com Изменения в архитектуре сигналов позволяют теперь создавать торговые роботы на основе комбинации различных рыночных моделей. Oleg 2011.06.08 17:52 #22 Rosh: MQL5ウィザードの新バージョンでは、信号モジュールのフォーマットが変更されました。https://www.mql5.com/ru/forum/3724/66962#comment_66962。 これらの変更を行ったところ、ウィザードには新しいシグナルモジュールが表示されますが、生成されたExpert Advisorはなぜか取引しません。デバッグを使用して CheckOpenShort/CheckOpenLong 関数にアクセスできますか? Oleg 2011.06.12 10:55 #23 Signalフォルダにあるいくつかの準備完了したシグナルのコードを見てみましたが、CheckOpenShort/CheckOpenLong関数の実装はありませんでした。その代わりに//--- 市場モデルが形成されているかどうかをチェックする方法 virtual int LongCondition(); virtual int ShortCondition(); 私は正しく理解していますか?自分のモジュールを書く場合、それらも実装する必要がありますか?CExpertクラスの 説明はいつ登場しますか? Rashid Umarov 2011.06.12 11:42 #24 beginner: Signalフォルダにあるいくつかの準備完了したシグナルのコードに目を通しましたが、CheckOpenShort/CheckOpenLong関数の実装がありませんでした。その代わりに正しく使用されているのですね? はい、その通りです。 Oleg 2011.06.12 12:07 #25 Rosh: ああ、その通りだ。正直、ちょっと混乱している。CExpertSignalクラスには CheckOpenShort/CheckOpenLong関数があります。あなたはシグナルで他の関数を使っていますが、CExpertでもどこで呼び出されているのか理解できません。問題は、自分でシグナルモジュールを書くという記事から既成のシグナルを取り出し、ウィザードに表示させ(おそらく新しいフォーマットに関する記事に変更を加えることができます)、このシグナルでExpert Advisorを作成したのですが、1年間テスターで1度も取引していません。 コンストラクタで関数が呼び出されるのは明らかですが、なぜ標準関数が使用されないのでしょうか? Oleg 2011.06.12 15:07 #26 何が問題なのかご覧ください。テスターを交換しない。 ファイル: 1.mq5 7 kb SampleSignal.mqh 12 kb Aleksey Sergan 2011.06.12 15:22 #27 beginner: 何が悪いのか見てください。テスターでは取引されていません。このモジュールは取引しています。あなたの場合、ロングをif( High(1) > High(2) && Low(2)>Low(3) && High(2)<High(3) && Close(3)>Open(3) ){ return(100); } //--- условие не выполнено return(0); }をOpen(1)< Open(2)をショート用に置き換えてください。 ファイル: InnerBarSignal.mqh 4 kb Oleg 2011.06.12 15:36 #28 gdtt:このモジュールはで置き換えてください。をに置き換えてください。 そうですね、ありがとうございます!一日かけて、記事の通りにすべてやったと思うのですが、私の間違いは何でしょうか? Aleksey Sergan 2011.06.12 15:48 #29 beginner: そうですね、ありがとうございます!一日かけて、記事のようにすべてやったと思うのですが、私の間違いは何でしょうか?新しいウィザードでは、以前のウィザードと比較して、非常に大きな変更があります、仮想ブール CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);virtual bool CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);Expert Advisorで使用される複数のオブジェクトの中に、main属性を持つCExpertSignalクラスのオブジェクトがあり、そのオブジェクトがこれらの関数を使用できる。virtual int ShortCondition(); //売りの始値条件をチェックする。virtual int LongCondition(); //買いポジションの開始条件をチェックする。i'sに点を打つには、新しいウィザードで独自のシグナル・モジュールを書く方法についての記事が必要なので、それを待っている。 Oleg 2011.06.12 16:05 #30 そうですね、記事が抜けていますし、CExpertSignalの ドキュメントも更新が必要でしょう。 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MQL5ウィザードの新バージョンでは、信号モジュールのフォーマットが変更されました。https://www.mql5.com/ru/forum/3724/66962#comment_66962。
Signalフォルダにあるいくつかの準備完了したシグナルのコードに目を通しましたが、CheckOpenShort/CheckOpenLong関数の実装がありませんでした。その代わりに正しく使用されているのですね?
ああ、その通りだ。
正直、ちょっと混乱している。CExpertSignalクラスには CheckOpenShort/CheckOpenLong関数があります。あなたはシグナルで他の関数を使っていますが、CExpertでもどこで呼び出されているのか理解できません。問題は、自分でシグナルモジュールを書くという記事から既成のシグナルを取り出し、ウィザードに表示させ(おそらく新しいフォーマットに関する記事に変更を加えることができます)、このシグナルでExpert Advisorを作成したのですが、1年間テスターで1度も取引していません。
コンストラクタで関数が呼び出されるのは明らかですが、なぜ標準関数が使用されないのでしょうか?何が悪いのか見てください。テスターでは取引されていません。
このモジュールは取引しています。
あなたの場合、ロングを
if( High(1) > High(2) && Low(2)>Low(3) && High(2)<High(3) && Close(3)>Open(3) ){ return(100); } //--- условие не выполнено return(0); }を
をショート用に置き換えてください。
このモジュールは
で置き換えてください。
を
に置き換えてください。
そうですね、ありがとうございます!一日かけて、記事のようにすべてやったと思うのですが、私の間違いは何でしょうか?
新しいウィザードでは、以前のウィザードと比較して、非常に大きな変更があります、
仮想ブール CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration);
virtual bool CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration);
Expert Advisorで使用される複数のオブジェクトの中に、main属性を持つCExpertSignalクラスのオブジェクトがあり、そのオブジェクトがこれらの関数を使用できる。
virtual int ShortCondition(); //売りの始値条件をチェックする。
virtual int LongCondition(); //買いポジションの開始条件をチェックする。
i'sに点を打つには、新しいウィザードで独自のシグナル・モジュールを書く方法についての記事が必要なので、それを待っている。