エラー、バグ、質問 - ページ 342 1...335336337338339340341342343344345346347348349...3185 新しいコメント Konstantin Gruzdev 2011.03.19 22:18 #3411 Urain:MQの最も簡単な解決策は、関数にパラメータを与えることです。 変数ではなく、配列がパラメータとして存在するようになりました。もちろん、EA間でデータを転送する方法はないので、この解決策は一方的なものですが、それでも何もしないよりはましです。さらに良いのは、次のようなものです。void SendData(const int handle,const long &lparam[],const double &dparam[],const string &sparam[]) void GetData(const int handle,const long &lparam[],const double &dparam[],const string &sparam[]) 特定の受信者に送信し、特定の送信者から受信できるようにすること。そして、チャートだけでなく、ハンドルネームも公表してください。まあ、そんなところでしょうか。 Mykola Demko 2011.03.20 00:32 #3412 エキスパートアドバイザーからインジケータウィンドウを削除し、復元する必要があります。しかし、計算されたデータは一定である。簡単な方法は、データを計算するためのインジケータ(「Calculate」と呼ぶことにしましょう)と、データを別のウィンドウに表示するためのインジケータ(「Plot」と呼ぶことにしましょう)を作成することです。Plot」 インジケータはiCustom("Calculate")から呼び出されますが、Expert AdvisorもiCustom("Calculate")の前に呼び出されています。これらは同じパラメータで呼び出されます。どこかで書きましたが、同じパラメータを持つ2つのインジケータは1つのチャートに作成されるのではなく、すでに開始されているインジケータ処理のメインハンドルを 参照する追加のハンドルが 作成されるそうです。そこで質問ですが、EAからPlotを 削除して再度追加した後、Plotで 起動したCalculate インディケータは再度計算されるのでしょうか、それともEAで起動したCalculate インディケータの計算データを取り込むだけなのでしょうか? MQL5での取引戦略の自動化(第3回):ダイナミック取引管理のためのZone Recovery RSIシステム 日足レンジブレイクアウト戦略に基づくMQL5 EAの作成 MQL5を使ったシンプルな多通貨エキスパートアドバイザーの作り方(第7回):オーサムオシレーターシグナルを持つジグザグ Yedelkin 2011.03.20 01:04 #3413 Urain: どこかで書きましたが、同じパラメーターを持つ2つのインジケーターは1つのチャートに作成されず、すでに実行中のインジケータープロセスのメインハンドルを 参照する追加ハンドルが 作成されるだけだそうです。 MQL5 リファレンスガイド / テクニカルインジケーター /テクニカルインジケーターを操作するための関数 です。 "iMA、iAC、iMACD、iIchimokuなどのすべての機能は、クライアント端末のグローバルキャッシュに適切なテクニカル指標のコピーを作成 します。これらのパラメータを持つインジケーターのコピーが既に存在する場合、新しいコピーは作成されませんが、このコピーへの参照のカウンターはインクリメントされます。 これらの関数は、対応するインジケータ・コピーのハンドルを返します。このハンドルを使って、対応するインジケーターで計算されたデータを続けて取得することができます..." "注意 "すること1つのmql5プログラム内で、同じパラメータでインジケータ関数を複数回呼び出しても、参照カウンタは何度も増加せず、カウンタは1回だけ1増加 します ...". Документация по MQL5 - языку автоматического трейдинга и тестированию торговых стратегий www.mql5.com Справочник MetaQuotes Language 5 (MQL5) - Документация на MQL5.com Mykola Demko 2011.03.20 10:51 #3414 Yedelkin: MQL5 リファレンスガイド/ テクニカルインジケーター /テクニカルインジケーターを操作するための関数 です。..."注意 "すること 1つのmql5プログラム内で 、同じパラメータでインジケータ機能に複数回アクセスしても、インジケータカウンタは複数回増加せず、カウンタは1回だけ1増加 します ...". はい、まさにその通りです。ご指摘ありがとうございます。このセリフは正確には理解できない。Expert Advisorで起動するインジケータを1つのプログラムと考えることは可能ですか、それとも2つのプログラムであることを意味しますか?最初の仮定が成立していれば、すべてOKなのです。しかし、コンパイラがそれらを別のプログラムとして扱うのであれば、問題がある。 Yedelkin 2011.03.20 11:48 #3415 Urain: EAの中で動いている指標は、1つのプログラムとして考えていいのか、それとも2つのプログラムを意味しているのか? 1.ハンドブックには、「iMA、iAC、iMACD、iIchimokuなどのすべての機能は、対応するテクニカル 指標のコピーを クライアント端末のグローバルキャッシュに作成 します」と書かれています。 iMA、iAC、iMACD、iIchimokuなどのすべての関数は 、特定のmql5-programから呼び出され、クライアント端末のグローバルキャッシュに適切なテクニカルインジケータの コピーを作成します」と解釈しています。したがって、「EA Eが指標Iを実行する 」という一般的な表現は、EA Eが関数Iを呼び出して、クライアント端末のグローバルキャッシュに指標のコピーを作成し、EA Eにそのコピーのハンドルを受け取らせることを意味する。 2. 「EA Eが指標関数Iを呼び出す」場合、「1つのmql5プログラム内で」指標関数を呼び出すことを意味します。 a483483 2011.03.20 12:05 #3416 ここから420ビルドをダウンロードしましたhttps://www.mql5.com/ru/forum/23/page11 しかし、実際には412がインストールされます。私の問題なのか、それともmetaquotes.netの ファイルを変更するのを忘れたのか? Список изменений в билдах MetaTrader 5 Client Terminal www.mql5.com Автоматическое обновление доступно через систему LiveUpdate:. Mykola Demko 2011.03.20 12:09 #3417 Yedelkin: 1.リファレンスマニュアルには、「iMA、iAC、iMACD、iIchimokuなどのすべての関数は、クライアント端末のグローバルキャッシュに 関連するテクニカル指標のコピーを 作成 します」と書かれています。 iMA、iAC、iMACD、iIchimokuなどのすべての関数は、 特定のmql5プログラムから呼び出され、 クライアント端末のグローバルキャッシュに適切なテクニカルインジケータのコピーを作成します」と読みました。したがって、「EA Eが指標Iを実行する 」という一般的な表現は、EA Eが関数Iを呼び出して、クライアント端末のグローバルキャッシュに指標のコピーを作成し、EA Eにそのコピーのハンドルを受け取らせることを意味する。 2) 「EA Eがインジケータ関数Iを呼び出す」ということは、「1つのmql5プログラムの中で」インジケータ関数を呼び出すという話です。了解しました。ここでのキーワードは「クライアント端末のグローバルキャッシュに」である。 もしそうなら、すべてOKです。もうひとつ、疑問が明らかになりました。 Mykola Demko 2011.03.20 12:10 #3418 a483483: ここから420のビルドをダウンロードしますhttps://www.mql5.com/ru/forum/23/page11 でも実際には412がインストールされます。私は問題を持っているか、またはmetaquotes.netの ファイルを変更するのを忘れている?それで待っていれば、最新のバージョンに更新されるはずです。SZSは、ターミナルを起動したままにしておくと、しばらくしてターミナルに「こんなバージョンをダウンロードしました」というメッセージが表示され、ターミナルを再起動するように指示されるはずです。 Александр Михеев 2011.03.20 20:55 #3419 こんにちは。420リリースにアップグレードした後、私は自分のEAをテストし始め、それが何らかの理由で「負ける」ようになったことに気づきました。自分のトレードを分析したところ、存在しない価格でストップロスが発動していることに気づきました。例えば、EURUSDでストップロスを1.06520に設定しましたが、最大価格は 1.05920ですが、動作しています。さらに見ていくと、そんな案件がたくさんあるんです。テイクプロフィットは、同じ原理で(存在しない価格で)トリガーされます - デルタは同じです - 600ポイントです。チャート上のテスターでは、上下の矢印はバーから遠く離れた宙に「ぶら下がって」います。スクリーンショットを添付します。 Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы www.mql5.com Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5 ファイル: eurusd.jpg 235 kb Yedelkin 2011.03.20 21:05 #3420 Kairoser: こんにちは。 420リリースにアップグレードした後、私は自分のEAをテストし始め、それが何らかの理由で「負ける」ようになったことに気づきました。自分のトレードを分析したところ、存在しない価格でストップロスが発動していることに気づきました。例えば、EURUSDでストップロスを1.06520に設定しましたが、最大価格は 1.05920ですが、動作しています。さらに見ていくと、そんな案件がたくさんあるんです。テイクプロフィットは、同じ原理で(存在しない価格で)トリガーされます - デルタは同じです - 600ポイントです。チャート上のテスターでは、上下の矢印はバーから遠く離れた宙に「ぶら下がって」います。 スクリーンショットを添付します。 MQサーバーでEAをテストしてみてください。アルパリは、ヒストリカルデータが正しくないという昔の問題がまだ残っているのかもしれません。 1...335336337338339340341342343344345346347348349...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MQの最も簡単な解決策は、関数にパラメータを与えることです。
変数ではなく、配列がパラメータとして存在するようになりました。もちろん、EA間でデータを転送する方法はないので、この解決策は一方的なものですが、それでも何もしないよりはましです。
さらに良いのは、次のようなものです。
特定の受信者に送信し、特定の送信者から受信できるようにすること。そして、チャートだけでなく、ハンドルネームも公表してください。まあ、そんなところでしょうか。
エキスパートアドバイザーからインジケータウィンドウを削除し、復元する必要があります。しかし、計算されたデータは一定である。
簡単な方法は、データを計算するためのインジケータ(「Calculate」と呼ぶことにしましょう)と、データを別のウィンドウに表示するためのインジケータ(「Plot」と呼ぶことにしましょう)を作成することです。Plot」 インジケータはiCustom("Calculate")から呼び出されますが、Expert AdvisorもiCustom("Calculate")の前に呼び出されています。これらは同じパラメータで呼び出されます。どこかで書きましたが、同じパラメータを持つ2つのインジケータは1つのチャートに作成されるのではなく、すでに開始されているインジケータ処理のメインハンドルを 参照する追加のハンドルが 作成されるそうです。
そこで質問ですが、EAからPlotを 削除して再度追加した後、Plotで 起動したCalculate インディケータは再度計算されるのでしょうか、それともEAで起動したCalculate インディケータの計算データを取り込むだけなのでしょうか?
どこかで書きましたが、同じパラメーターを持つ2つのインジケーターは1つのチャートに作成されず、すでに実行中のインジケータープロセスのメインハンドルを 参照する追加ハンドルが 作成されるだけだそうです。
MQL5 リファレンスガイド / テクニカルインジケーター /テクニカルインジケーターを操作するための関数 です。
"iMA、iAC、iMACD、iIchimokuなどのすべての機能は、クライアント端末のグローバルキャッシュに適切なテクニカル指標のコピーを作成 します。これらのパラメータを持つインジケーターのコピーが既に存在する場合、新しいコピーは作成されませんが、このコピーへの参照のカウンターはインクリメントされます。
これらの関数は、対応するインジケータ・コピーのハンドルを返します。このハンドルを使って、対応するインジケーターで計算されたデータを続けて取得することができます..."
"注意 "すること1つのmql5プログラム内で、同じパラメータでインジケータ関数を複数回呼び出しても、参照カウンタは何度も増加せず、カウンタは1回だけ1増加 します ...".
MQL5 リファレンスガイド/ テクニカルインジケーター /テクニカルインジケーターを操作するための関数 です。
...
"注意 "すること 1つのmql5プログラム内で 、同じパラメータでインジケータ機能に複数回アクセスしても、インジケータカウンタは複数回増加せず、カウンタは1回だけ1増加 します ...".
はい、まさにその通りです。ご指摘ありがとうございます。
このセリフは正確には理解できない。Expert Advisorで起動するインジケータを1つのプログラムと考えることは可能ですか、それとも2つのプログラムであることを意味しますか?
最初の仮定が成立していれば、すべてOKなのです。しかし、コンパイラがそれらを別のプログラムとして扱うのであれば、問題がある。
EAの中で動いている指標は、1つのプログラムとして考えていいのか、それとも2つのプログラムを意味しているのか?
1.ハンドブックには、「iMA、iAC、iMACD、iIchimokuなどのすべての機能は、対応するテクニカル 指標のコピーを クライアント端末のグローバルキャッシュに作成 します」と書かれています。
iMA、iAC、iMACD、iIchimokuなどのすべての関数は 、特定のmql5-programから呼び出され、クライアント端末のグローバルキャッシュに適切なテクニカルインジケータの コピーを作成します」と解釈しています。したがって、「EA Eが指標Iを実行する 」という一般的な表現は、EA Eが関数Iを呼び出して、クライアント端末のグローバルキャッシュに指標のコピーを作成し、EA Eにそのコピーのハンドルを受け取らせることを意味する。
2. 「EA Eが指標関数Iを呼び出す」場合、「1つのmql5プログラム内で」指標関数を呼び出すことを意味します。
1.リファレンスマニュアルには、「iMA、iAC、iMACD、iIchimokuなどのすべての関数は、クライアント端末のグローバルキャッシュに 関連するテクニカル指標のコピーを 作成 します」と書かれています。
iMA、iAC、iMACD、iIchimokuなどのすべての関数は、 特定のmql5プログラムから呼び出され、 クライアント端末のグローバルキャッシュに適切なテクニカルインジケータのコピーを作成します」と読みました。したがって、「EA Eが指標Iを実行する 」という一般的な表現は、EA Eが関数Iを呼び出して、クライアント端末のグローバルキャッシュに指標のコピーを作成し、EA Eにそのコピーのハンドルを受け取らせることを意味する。
2) 「EA Eがインジケータ関数Iを呼び出す」ということは、「1つのmql5プログラムの中で」インジケータ関数を呼び出すという話です。
了解しました。ここでのキーワードは「クライアント端末のグローバルキャッシュに」である。
もしそうなら、すべてOKです。もうひとつ、疑問が明らかになりました。
ここから420のビルドをダウンロードしますhttps://www.mql5.com/ru/forum/23/page11 でも実際には412がインストールされます。私は問題を持っているか、またはmetaquotes.netの ファイルを変更するのを忘れている?
それで待っていれば、最新のバージョンに更新されるはずです。
SZSは、ターミナルを起動したままにしておくと、しばらくしてターミナルに「こんなバージョンをダウンロードしました」というメッセージが表示され、ターミナルを再起動するように指示されるはずです。
こんにちは。
420リリースにアップグレードした後、私は自分のEAをテストし始め、それが何らかの理由で「負ける」ようになったことに気づきました。自分のトレードを分析したところ、存在しない価格でストップロスが発動していることに気づきました。例えば、EURUSDでストップロスを1.06520に設定しましたが、最大価格は 1.05920ですが、動作しています。さらに見ていくと、そんな案件がたくさんあるんです。テイクプロフィットは、同じ原理で(存在しない価格で)トリガーされます - デルタは同じです - 600ポイントです。チャート上のテスターでは、上下の矢印はバーから遠く離れた宙に「ぶら下がって」います。
スクリーンショットを添付します。
こんにちは。
420リリースにアップグレードした後、私は自分のEAをテストし始め、それが何らかの理由で「負ける」ようになったことに気づきました。自分のトレードを分析したところ、存在しない価格でストップロスが発動していることに気づきました。例えば、EURUSDでストップロスを1.06520に設定しましたが、最大価格は 1.05920ですが、動作しています。さらに見ていくと、そんな案件がたくさんあるんです。テイクプロフィットは、同じ原理で(存在しない価格で)トリガーされます - デルタは同じです - 600ポイントです。チャート上のテスターでは、上下の矢印はバーから遠く離れた宙に「ぶら下がって」います。
スクリーンショットを添付します。