エラー、バグ、質問 - ページ 148 1...141142143144145146147148149150151152153154155...3185 新しいコメント Prival 2010.09.25 14:39 #1471 EQU:そしてまた、コード...コード...。コードもいいけど......戦術、サイクルも......。;)チャートに新しいバーを作成する旨のメッセージが表示されないか?信じられない...)))イベントを作るのは問題ないのでしょうか? 少なくとも定義済みの変数なのでしょうか?一般に、山のようなコードを埋めるより、イベントを処理する方が簡単です。しかも - エラーで (ERROR-FREE PROGRAMS DO EVER!!! )))))新バーはイベントだからプログラム化してもいい(はず)というのは全く同感です。https://www.mql5.com/ru/forum/1031 に 枝があるので、自由に読んでください。でも、何年も悩んでいるんです......。Z.I.これを読んだら、新しいバーがNEVERで出てくるかもしれないことがわかると思います。 Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5" www.mql5.com Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5". Валерий 2010.09.25 16:14 #1472 EQU:もう一度、コード...コード...。コードもいいけど、戦術やループもいいよね。;)チャートに新しいバーを 作成する旨のメッセージが表示されないか?信じられない...)))イベントを作るのは問題ないでしょうか? せめて定義済みの変数にするとか?一般に、山のようなコードを埋めるより、イベントを処理する方が簡単です。しかも - エラーで (ERROR-FREE PROGRAMS DO EVER!!! ))))) 一般的には、どのように捉えているのでしょうか。20のタイムフレーム×シンボル数の「Market Watch」で、OnNewBarイベントがそれぞれ生成される? そして、どのシンボルとタイムフレームを参照しているかを判断するために、それぞれを処理する必要がある?自分自身の関数NewBarを書き、その中で新しいバーを受け取りたいものを定義します:あるシンボルのすべての期間、現在の期間のすべてのシンボル、またはいくつかの特別なケース。これによって、シンプルな機能が実現されています。これは、多くのチェックを伴う普遍的なOnNewBar関数よりも優れています。 Konstantin Chernov 2010.09.25 16:37 #1473 テスト時、エラーが発生する CTrade::PositionClose::OrderCheck: 無効なストップ(複数可)リクエスト 私のExpert Advisorでは、次のような行があります。 変数の記述 CTrade m_trade; つかずはなれず m_trade.PositionClose(_Symbol,eSlippage)。 なぜエラーが表示されるのですか?CTrade::PositionClose::OrderCheck: 無効なストップ(複数可)リクエスト 間違ったSLやTPトレード_レトコード_無効なストップ数 ストップとポジションクローズはどう関係があるのでしょうか? それとも何か見落としているのでしょうか? Документация по MQL5: Основы языка / Переменные www.mql5.com Основы языка / Переменные - Документация по MQL5 削除済み 2010.09.25 16:55 #1474 Prival:新しいバーはイベントであり、プログラム化できる(すべき)というのは全く同感です。https://www.mql5.com/ru/forum/1031 にスレッドがあるので、自由に読んでいただければと思いますが、私は何年も前から戦っ...Z.I. これを読んだら、新しいバーがNEVERで出てくるかもしれないことがわかると思うのですが...穴が...」と。危険を冒してまでリンク先を見たのに...。本当に読んだ方がいいんだろうなぁ...暇な時にでも...;)それが、このようなイベントを望む理由です...。バーがなければ、イベントもない。 削除済み 2010.09.25 17:01 #1475 Valmars: 実際、どのようなイメージですか?20のタイムフレーム×'Market Watch'のシンボル数で、それぞれOnNewBarイベントが生成される? そして、どのシンボルとタイムフレームを参照しているかを判断するために、それぞれを処理する必要がある?自分自身の関数NewBarを書き、その中で新しいバーを 受け取りたいものを定義します: あるシンボルのすべての期間、現在の期間のすべてのシンボル、またはいくつかの特別なケース。その結果、特定かつ簡略化された機能を実現することができました。多くのチェックを行う普遍的なOnNewBar関数より優れています。20タイムフレーム...ulongパラメータの限界ではない...1分間に1回変数全体を埋めるのが正しい、難しくない...。なぜかというと、OnTickは「『マーケットウォッチ』の文字数をx個調べて、それぞれにイベントを発生させる」・・・?そして、ビットチェックは、私を信じて、かなり速いものです...。また、イベントでも - 誰も私に加工をさせるつもりはない。- また、イベントがあったとしても、必要に応じて、「自分でNewBar関数を書いて、新しいバーを取得するかどうかを定義する」-という追加や代用を妨げるものは何もありません...。 Vladimir Kustikov 2010.09.25 17:28 #1476 Interesting:今でも、やり方さえわかれば簡単にできます。開発者は、OnTrade()を書き直し、そこに必要なパラメータを追加することを約束しました。このような状況は、OnTick() や OnTime() -取引操作の 場所でローカルに処理されることを妨げるものではありません。軽さとは相対的な概念で、ある人はグラムで、ある人はトンで測ります。私のExpert Advisorでは、私の言語にはPROSTOの亜種が存在しないため、(私のコードがそう呼ばれるのであれば)簡単に行う必要がありました(存在する可能性は十分にありますが、イマイチです)。それに、コードが100行も長くなって、より複雑な印象を与えるようになったことも、特に嬉しくなかったですね。ここで、一般的な問題点を説明します。ティックが来て、インジケータがクローズする必要性を示し、私はクローズする。次のティックが来ると、インジケータはクローズしなければならないと表示し、どうしたらいいのかわかりません。ポジションはすでにポジションしているので、もちろん現時点での状況を知ることは可能ですが、わからないのです。 なぜ、この複雑さがここに残っているのか理解できないのですが?なぜ、何が起こったかを理解するために、onTrade()イベントで膨大なコードを書かなければならないのか理解できません。私はシンプルでありたいと思っている。そして、それがないとき、私は悲しくなる。 Дмитрий 2010.09.25 17:47 #1477 Vladix: 軽さとは相対的な概念であり、ある人はグラムで、ある人はトンで測ります。私のコードがそう呼ばれるのであれば)EAでやらなければならなかったのですが、PROSTOの亜種は現在言語にはありません。それに、コードが100行も長くなって、より複雑な印象を与えるようになったことも、特に嬉しくなかったですね。 ここで、一般的な問題点を説明します。 ティックが来て、インジケータがクローズする必要性を示し、私はクローズする。 次のティックが来たとき、インジケータは閉じるべきであると示し、私は何をすべきかわからない - ポジションはすでにぶら下がっており、もちろん私は今何が起こっているかを調べることができますが、私は知りません。 なぜ、この複雑さがここに残っているのか理解できないのですが?なぜonTrade()イベントで、何が起こったかを理解するために大量のコードを書くよう提案されるのか理解できないのですが? 私はシンプルでありたいと思っている。そして、それがないとき、私は悲しくなる。 私はそうして、コードは100行未満です... :) ソリューションは、信頼性が高く、すぐに多通貨のために//+----------------------------------------------------------------------------+ // Функция контроля открытия ордера на текущем баре MQL5 | //-----------------------------------------------------------------------------+ bool ЕстьОрдернаТекущемБаре(ENUM_ORDER_TYPE тип) { ulong тикет; HistorySelect(SeriesInfoInteger(СИМВОЛ,Period(),SERIES_LASTBAR_DATE),TimeCurrent()); for(int i=0;i<HistoryDealsTotal();i=i+1) { тикет=HistoryDealGetTicket(i); if(HistoryDealGetString(тикет,DEAL_SYMBOL)!=СИМВОЛ || HistoryDealGetInteger(тикет,DEAL_ENTRY)==DEAL_ENTRY_STATE)// || HistoryDealGetInteger(тикет,DEAL_MAGIC)!=MAGIC continue; if(HistoryDealGetInteger(тикет,DEAL_TYPE)==тип || HistoryDealGetInteger(тикет,DEAL_TYPE)==DEAL_ENTRY_INOUT) return(true); } return(false); } EAがホバリングしている期間ではなく、任意の期間を指定することができます。すなわち、注文は各期間に1回までとする また、取引要求が あった後、30秒以内に取引要求を禁止するような遅延を設けるべきでしょう(例えば)。そうでない場合は、次のティックで注文が履歴に表示されないことがあります。 Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса www.mql5.com Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5 削除済み 2010.09.25 18:06 #1478 Valmars: 一般的には、どのようなイメージでしょうか?一般的には、「Market Watch」に20のタイムフレーム×シンボルの数があり、そのそれぞれに対してOnNewBarイベントが生成されるということでしょうか。 そして、それぞれのシンボルとタイムフレームを処理して、どれを参照しているのかを判断する必要があるのでしょうか。自分自身の関数NewBarを書き、その中で新しいバーを受け取りたいものを定義します:あるシンボルのすべての期間、現在の期間のすべてのシンボル、またはいくつかの特別なケース。その結果、特定かつ簡略化された機能を実現することができました。多くのチェックを伴う普遍的なOnNewBar関数よりも優れています。標準的なソリューションで言えば、次のようなものです。1.イベントは、オープン・チャート、その期間、シンボルにバインドされる必要があります。イベントは新しいバーが表示されたときに発生する必要があります(穴は無視されます)。イベントは、別の端末スレッド(またはスレッド)で処理 する必要があります。追記で、その上で。もちろん、これは多くの仕様を考慮しない大まかな概算ですが...。 Документация по MQL5: Основы языка / Функции / Функции обработки событий www.mql5.com Основы языка / Функции / Функции обработки событий - Документация по MQL5 削除済み 2010.09.25 18:22 #1479 Vladix:実は、問題そのものはこうなんです。ティックが入ってきて、インジケータがクローズする必要があることを示すと、私はクローズを行う。次のティックが来たとき、インジケータはそれが閉じなければならないことを示し、私は何をすべきかわからない - ポジションはすでにぶら下がっていると1つは、もちろん、どこにも瞬間に何が起こっているかを知ることができますが。 なぜ、このような複雑な状況が続いているのか、理解できません。なぜonTrade()イベントで、何が起こったかを理解するために大量のコードを書くよう提案されるのか理解できないのですが?私はシンプルであることに賛成です。それがないとき、それは悲しいことになります。 おそらく、開発者はOnTrade()にパラメータを追加するでしょう、少なくとも彼らはそれを考えていました。私の知る限りでは、それに関する発言もあったようです。 Vladimir Kustikov 2010.09.25 18:48 #1480 Dmitriy2: この方法で作ったので、100行より少ないコードで... :) ソリューションは信頼性が高く、すぐに多通貨に対応できます。 EAの休止期間の代わりに、任意の期間を指定することができます。つまり、注文は1期間に1回までとなります。 また、取引要求が あった後、30秒以内に取引要求を禁止するような遅延を設けるべきでしょう(例えば)。そうでない場合は、次のティックで注文が履歴に表示されないことがあります。ディレイをかける - はい、承りました、何行のコードが必要でしょうか?また、多通貨ということであれば、それぞれの遅延を考慮する必要がありますよね?これを解決するコードを書きました。ただ、私はそれが好きではないのです、申し訳ありませんが、あなたのものが好きではないのと同じように。そして、偏見ではなく、要は他に選択肢がない、シンプルでエレガントであることです。 1...141142143144145146147148149150151152153154155...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そしてまた、コード...コード...。コードもいいけど......戦術、サイクルも......。;)
チャートに新しいバーを作成する旨のメッセージが表示されないか?信じられない...)))
イベントを作るのは問題ないのでしょうか? 少なくとも定義済みの変数なのでしょうか?
一般に、山のようなコードを埋めるより、イベントを処理する方が簡単です。しかも - エラーで (ERROR-FREE PROGRAMS DO EVER!!! )))))
新バーはイベントだからプログラム化してもいい(はず)というのは全く同感です。https://www.mql5.com/ru/forum/1031 に 枝があるので、自由に読んでください。でも、何年も悩んでいるんです......。
Z.I.これを読んだら、新しいバーがNEVERで出てくるかもしれないことがわかると思います。
もう一度、コード...コード...。コードもいいけど、戦術やループもいいよね。;)
チャートに新しいバーを 作成する旨のメッセージが表示されないか?信じられない...)))
イベントを作るのは問題ないでしょうか? せめて定義済みの変数にするとか?
一般に、山のようなコードを埋めるより、イベントを処理する方が簡単です。しかも - エラーで (ERROR-FREE PROGRAMS DO EVER!!! )))))
テスト時、エラーが発生する
CTrade::PositionClose::OrderCheck: 無効なストップ(複数可)リクエスト
私のExpert Advisorでは、次のような行があります。
変数の記述
CTrade m_trade;
つかずはなれず
m_trade.PositionClose(_Symbol,eSlippage)。
なぜエラーが表示されるのですか?CTrade::PositionClose::OrderCheck: 無効なストップ(複数可)リクエスト
間違ったSLやTP
トレード_レトコード_無効なストップ数
ストップとポジションクローズはどう関係があるのでしょうか? それとも何か見落としているのでしょうか?
新しいバーはイベントであり、プログラム化できる(すべき)というのは全く同感です。https://www.mql5.com/ru/forum/1031 にスレッドがあるので、自由に読んでいただければと思いますが、私は何年も前から戦っ...
Z.I. これを読んだら、新しいバーがNEVERで出てくるかもしれないことがわかると思うのですが...穴が...」と。
危険を冒してまでリンク先を見たのに...。本当に読んだ方がいいんだろうなぁ...暇な時にでも...;)
それが、このようなイベントを望む理由です...。バーがなければ、イベントもない。
実際、どのようなイメージですか?20のタイムフレーム×'Market Watch'のシンボル数で、それぞれOnNewBarイベントが生成される? そして、どのシンボルとタイムフレームを参照しているかを判断するために、それぞれを処理する必要がある?自分自身の関数NewBarを書き、その中で新しいバーを 受け取りたいものを定義します: あるシンボルのすべての期間、現在の期間のすべてのシンボル、またはいくつかの特別なケース。その結果、特定かつ簡略化された機能を実現することができました。多くのチェックを行う普遍的なOnNewBar関数より優れています。
20タイムフレーム...ulongパラメータの限界ではない...1分間に1回変数全体を埋めるのが正しい、難しくない...。
なぜかというと、OnTickは「『マーケットウォッチ』の文字数をx個調べて、それぞれにイベントを発生させる」・・・?
そして、ビットチェックは、私を信じて、かなり速いものです...。
また、イベントでも
- 誰も私に加工をさせるつもりはない。
- また、イベントがあったとしても、必要に応じて、「自分でNewBar関数を書いて、新しいバーを取得するかどうかを定義する」-という追加や代用を妨げるものは何もありません...。
今でも、やり方さえわかれば簡単にできます。開発者は、OnTrade()を書き直し、そこに必要なパラメータを追加することを約束しました。
このような状況は、OnTick() や OnTime() -取引操作の 場所でローカルに処理されることを妨げるものではありません。
軽さとは相対的な概念で、ある人はグラムで、ある人はトンで測ります。私のExpert Advisorでは、私の言語にはPROSTOの亜種が存在しないため、(私のコードがそう呼ばれるのであれば)簡単に行う必要がありました(存在する可能性は十分にありますが、イマイチです)。それに、コードが100行も長くなって、より複雑な印象を与えるようになったことも、特に嬉しくなかったですね。
ここで、一般的な問題点を説明します。
ティックが来て、インジケータがクローズする必要性を示し、私はクローズする。
次のティックが来ると、インジケータはクローズしなければならないと表示し、どうしたらいいのかわかりません。ポジションはすでにポジションしているので、もちろん現時点での状況を知ることは可能ですが、わからないのです。
なぜ、この複雑さがここに残っているのか理解できないのですが?なぜ、何が起こったかを理解するために、onTrade()イベントで膨大なコードを書かなければならないのか理解できません。
私はシンプルでありたいと思っている。そして、それがないとき、私は悲しくなる。
軽さとは相対的な概念であり、ある人はグラムで、ある人はトンで測ります。私のコードがそう呼ばれるのであれば)EAでやらなければならなかったのですが、PROSTOの亜種は現在言語にはありません。それに、コードが100行も長くなって、より複雑な印象を与えるようになったことも、特に嬉しくなかったですね。
ここで、一般的な問題点を説明します。
ティックが来て、インジケータがクローズする必要性を示し、私はクローズする。
次のティックが来たとき、インジケータは閉じるべきであると示し、私は何をすべきかわからない - ポジションはすでにぶら下がっており、もちろん私は今何が起こっているかを調べることができますが、私は知りません。
なぜ、この複雑さがここに残っているのか理解できないのですが?なぜonTrade()イベントで、何が起こったかを理解するために大量のコードを書くよう提案されるのか理解できないのですが?
私はシンプルでありたいと思っている。そして、それがないとき、私は悲しくなる。
私はそうして、コードは100行未満です... :) ソリューションは、信頼性が高く、すぐに多通貨のために
EAがホバリングしている期間ではなく、任意の期間を指定することができます。すなわち、注文は各期間に1回までとするまた、取引要求が あった後、30秒以内に取引要求を禁止するような遅延を設けるべきでしょう(例えば)。そうでない場合は、次のティックで注文が履歴に表示されないことがあります。
一般的には、どのようなイメージでしょうか?一般的には、「Market Watch」に20のタイムフレーム×シンボルの数があり、そのそれぞれに対してOnNewBarイベントが生成されるということでしょうか。 そして、それぞれのシンボルとタイムフレームを処理して、どれを参照しているのかを判断する必要があるのでしょうか。自分自身の関数NewBarを書き、その中で新しいバーを受け取りたいものを定義します:あるシンボルのすべての期間、現在の期間のすべてのシンボル、またはいくつかの特別なケース。その結果、特定かつ簡略化された機能を実現することができました。多くのチェックを伴う普遍的なOnNewBar関数よりも優れています。
標準的なソリューションで言えば、次のようなものです。
1.イベントは、オープン・チャート、その期間、シンボルにバインドされる必要があります。イベントは新しいバーが表示されたときに発生する必要があります(穴は無視されます)。
イベントは、別の端末スレッド(またはスレッド)で処理 する必要があります。
追記
で、その上で。もちろん、これは多くの仕様を考慮しない大まかな概算ですが...。
Vladix:
実は、問題そのものはこうなんです。
ティックが入ってきて、インジケータがクローズする必要があることを示すと、私はクローズを行う。
次のティックが来たとき、インジケータはそれが閉じなければならないことを示し、私は何をすべきかわからない - ポジションはすでにぶら下がっていると1つは、もちろん、どこにも瞬間に何が起こっているかを知ることができますが。
なぜ、このような複雑な状況が続いているのか、理解できません。なぜonTrade()イベントで、何が起こったかを理解するために大量のコードを書くよう提案されるのか理解できないのですが?
私はシンプルであることに賛成です。それがないとき、それは悲しいことになります。
この方法で作ったので、100行より少ないコードで... :) ソリューションは信頼性が高く、すぐに多通貨に対応できます。
EAの休止期間の代わりに、任意の期間を指定することができます。つまり、注文は1期間に1回までとなります。また、取引要求が あった後、30秒以内に取引要求を禁止するような遅延を設けるべきでしょう(例えば)。そうでない場合は、次のティックで注文が履歴に表示されないことがあります。
ディレイをかける - はい、承りました、何行のコードが必要でしょうか?また、多通貨ということであれば、それぞれの遅延を考慮する必要がありますよね?
これを解決するコードを書きました。ただ、私はそれが好きではないのです、申し訳ありませんが、あなたのものが好きではないのと同じように。そして、偏見ではなく、要は他に選択肢がない、シンプルでエレガントであることです。