エラー、バグ、質問 - ページ 133 1...126127128129130131132133134135136137138139140...3185 新しいコメント Mario 2010.09.15 12:53 #1321 Interesting: 発生を理解する限り、デモでもテスターでもそうですが...。 何それ、再起不能? Alexey Da 2010.09.15 13:02 #1322 Dmitriy2: そのため、ログに値を出力する際に、一度だけ(初めて)放物線関数、つまりCopyBufferが、エラー時にあるべき-1ではなく0を返します(本来はそうではないのですが、すべてのデータはそこにあり、すべてダウンロードされ、大きな多次元配列は なく、エラーは発生しません!)そしてこれはテスターでのみ、一度だけ発生するのです。これ以降はすべて正常に動作します。基本的なコードでは、関数が何を返すかは気にしません。結局、トレードのリクエストになると、リクエストに対して受け取った値をユニバーサル関数でチェックし、すべてがOKならリクエストを送信し、OKでなければ-OKになるのを待ちます...」と。 放物線状の値を取得する関数で、以下のコードを試してみてください。double Параболик(ENUM_TIMEFRAMES период,double step,double maximum,int бар) { double ЗначениеParabolic[1]; int Parabolic=iSAR(Symbol(),период,step,maximum); int cb=CopyBuffer(Parabolic,0,бар,1,ЗначениеParabolic); if(cb!=1) Print("BarsCalculated ",BarsCalculated(Parabolic),", CopyBuffer ", cb, ", ArrayValue ",ЗначениеParabolic[0]); return(ЗначениеParabolic[0]); }ログに以下のような内容が表示されます。2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 2010.09.01 00:00:07 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 2010.09.15 14:53:53 Core 1 SLпоПервойТочкеПараболика=true なぜ-1ではなく0になるのか、その理由を説明します。3回目のリピートです。データはあるが、その時点の指標値がまだ算出されていない可能性がある。ヘルプに書いてありますよ〜。 削除済み 2010.09.15 13:39 #1323 maryan.dirtyn: 再暗号化か発生か? オーバークリはFCに悩まされ、MTはずっとアクセル全開。通常日はシングル、水曜日は×3(トリプルスワップの日を 明確にすべき)...。 Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте www.mql5.com Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5 Mario 2010.09.15 14:04 #1324 Interesting: FCは過剰蓄積に苦しみ、MTは生涯蓄積を続けてきた。通常日はシングル、水曜日は×3(トリプルスワップの日を 明確にすべき)...。 fcが何なのかわからない...ただ、チャンピオンシップでどうなるのか知りたい。 Дмитрий 2010.09.15 14:07 #1325 alexvd: パラボリックの値を得るために、あなたの関数でこのコードを試してみてください。 ログにはおおよそ次のような出力が得られます。 これで、なぜ-1でなく0になるのかがわかります。 3回目もリピートします。データは存在するが、その時点の指標値がまだ計算されていない可能性がある。ヘルプに書いてありますよ! その通り、CopyBufferのレスポンスではなく、パラボリックの値を取得しています...。 いい放物線関数を、あなたが提供したもの(プリント付き)に変更します。 forループの中でプリントを追加しています(ゼロプロテクトはしていません)。if(НапрСигнала==ORDER_TYPE_BUY) { if(SLпоПервойТочкеПараболика==true) for(i=0;;i=i+1) { Print("бай, параболик до иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); if(iLow(PERIOD_CURRENT,i+1,1)<Параболик(PERIOD_CURRENT,0.02,0.2,i+1))// || Параболик(PERIOD_CURRENT,0.02,0.2,i+1)<=0 { Print("бай, параболик после иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); break; } } ЗначениеSAR=NormalizeDouble(Параболик(PERIOD_CURRENT,0.02,0.2,i)/ТИК,0)*ТИК; if(БИД>ЗначениеSAR) //bay slтики=(int)NormalizeDouble((АСК-ЗначениеSAR)/ТИК,0); } if(НапрСигнала==ORDER_TYPE_SELL) { if(SLпоПервойТочкеПараболика==true) for(i=0;;i=i+1) { Print("селл, параболик до иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); if(iHigh(PERIOD_CURRENT,i+1,1)>Параболик(PERIOD_CURRENT,0.02,0.2,i+1))// || Параболик(PERIOD_CURRENT,0.02,0.2,i+1)<=0 { Print("селл, параболик после иф ",Параболик(PERIOD_CURRENT,0.02,0.2,i+1)); break; } } ЗначениеSAR=NormalizeDouble(Параболик(PERIOD_CURRENT,0.02,0.2,i)/ТИК,0)*ТИК; if(БИД<ЗначениеSAR) //sell slтики=(int)NormalizeDouble((ЗначениеSAR-БИД)/ТИК,0); } テスターで実行するJQ 0 Core 1 15:16:37 agent process started NJ 0 Core 1 15:16:37 connecting to 127.0.0.1:3000 NJ 0 Core 1 15:16:39 connected GP 0 Core 1 15:16:39 authorized (agent build 328) LK 0 Tester 15:16:39 EURUSD,H1 (MetaQuotes-Demo): testing of Experts\Отладка.ex5 from 2010.01.01 00:00 to 2010.09.11 00:00 to be started RH 0 Core 1 15:16:41 common synchronization completed RS 0 Core 1 15:16:41 3124 bytes of account info loaded RI 0 Core 1 15:16:41 3768 bytes of group info loaded MN 0 Core 1 15:16:41 7170 bytes of tester parameters loaded EL 0 Core 1 15:16:41 275 bytes of selected symbols loaded IK 0 Core 1 15:16:41 expert file added: Experts\Отладка.ex5. 6597 bytes loaded LE 0 Core 1 15:16:41 initial deposit 10000.00 USD, leverage 1:100 KO 0 Core 1 15:16:41 successfully initialized RQ 0 Core 1 15:16:41 23 Kb of total initialization data received KK 0 Core 1 15:16:41 performance: 72 HP 0 Core 1 15:16:41 EURUSD: symbol synchronized, 2904 bytes of symbol info received RI 0 Core 1 15:16:43 EURUSD: load 27 bytes of history data to synchronize MG 0 Core 1 15:16:43 EURUSD: history synchronized from 1993.05.13 to 2010.09.10 MP 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 CD 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 IK 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 ON 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 ER 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 KI 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 QL 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 GP 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 MG 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 CK 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 IN 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 OE 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 EI 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 KL 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 QS 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 GG 0 Core 1 15:16:45 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 KJ 0 Core 1 15:16:47 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 EN 0 Core 1 15:16:47 2010.01.04 00:00:02 BarsCalculated -1, CopyBuffer -1, ArrayValue 0 というように、キャンセルを押すまでずっと チャート上のExpert AdvisorPJ 0 Experts 15:27:14 expert Отладка (EURUSD,M20) removed MR 0 Trades 15:27:18 '677265' : instant buy 0.10 EURUSD at 1.29697 EH 0 Trades 15:27:19 '677265' : accepted instant buy 0.10 EURUSD at 1.29697 GL 0 Trades 15:27:21 '677265' : order #1350474 buy 0.10 EURUSD at 1.29697 done LH 0 Trades 15:27:21 '677265' : deal #1426626 buy 0.10 EURUSD at 1.29697 done (based on order #1350474) LI 0 Experts 15:27:56 expert Отладка (EURUSD,M20) loaded successfully IR 0 Trades 15:28:07 '677265' : instant sell 0.10 EURUSD at 1.29690 sl: 1.30136 tp: 1.29502 IM 0 Trades 15:28:08 '677265' : accepted instant sell 0.10 EURUSD at 1.29690 sl: 1.30136 tp: 1.29502 RK 0 Trades 15:28:10 '677265' : order #1350477 sell 0.10 EURUSD at 1.29690 done RO 0 Trades 15:28:10 '677265' : deal #1426629 sell 0.10 EURUSD at 1.29690 done (based on order #1350477) ろくごうきじ Expertsタブの画像を見てください。エラーメッセージもありません。 放物線を数えることができ、すべてがうまく一致し、12番目の放物線で、サイクルを終了する... Дмитрий 2010.09.15 14:10 #1326 昔、MQL5で「あの時」「あの時」と気付いたことがあるんです。ここやあそこのデータは計算できないかもしれない...。しかし、それはおかしい、あなたはそれを修正する必要があり、コードに松葉杖を書くことではありません ちなみに、パラボリックに 限らず、他のインジケーターでも同じことが言えます。 削除済み 2010.09.15 14:11 #1327 maryan.dirtyn: FCが何であるかは知らないが、チャンピオンシップでどのようになるかを知りたい。FC - Forex Clubと言い、その端末はRumus2です。チャンピオンシップのテストアカウントはお持ちですか?試してみると、すべてがクリアになる...。 Alexey Da 2010.09.15 15:23 #1328 Dmitriy2:昔、MQL5で「あの時」「あの時」と気付いたことがあるんです。ここやあそこのデータは計算できないかもしれない...。しかし、それはおかしい、あなたはそれを修正する必要があり、コードに松葉杖を書くことではありません 松葉杖を書かずに直さないと...ちなみに、パラボリックに限らず、他の指標でも同じことです。議論の掛け算はやめましょう。このテーマは何度も議論されてきました。少し前にリベンジされました(https://www.mql5.com/ru/forum/1951)。 Тестер стратегий. Помогите разобраться с ошибкой. www.mql5.com mq5) handle индикатора объявляется как глобальная переменная, индикатор инициализируется в OnInit() и передается в функцию. 削除済み 2010.09.15 16:30 #1329 座って...見ている...MQL5とMQL4が同じチームで書かれたなんて、絶対に信じないぞ((MQ4 - フライング...MQ5は子供の遊びです。悪気はないのですが......(( Дмитрий 2010.09.15 17:11 #1330 alexvd: 議論はやめましょう。 このテーマは何度も議論されてきました。少し前にリベンジされました(https://www.mql5.com/ru/forum/1951)。 このスレッドを見ていないのですが・・・。おなじく 要は、あらゆる場面ですべての行にチェックを入れて、コードを混乱させたり、ごちゃごちゃさせたりするような愚かなことはしない、ということです。それが問題外なら...松葉杖が追加され、十分に大きなプロジェクトがようやく完全にやり直されて動き出す...。 そして、総じて、このやり方には驚かされるばかりです......。それは、このような質問が発生するのは初めてではないことが判明した(そして、私は将来的に他の人に発生すると確信している)、そして、このバグを回避するために行う必要があるかを説明するためにあなたと他の人の作業時間の多くを費やすためにすべての時間 "初めての" ... そのスレッドで推奨されているTESTERに、Expert Advisorの起動時にSleep(1000)を1つだけ追加するだけです。 シェルが不具合を意味するようなことがあってはならないし、そのような不具合はコードで避けなければならない。そして、TERMINALは正常に正しく動作しており、NO ERRORS(この状況では)です。しかし、テスターの動作は端末の動作とは異なります。 ps EQUこんにちは:) 1...126127128129130131132133134135136137138139140...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
発生を理解する限り、デモでもテスターでもそうですが...。
そのため、ログに値を出力する際に、一度だけ(初めて)放物線関数、つまりCopyBufferが、エラー時にあるべき-1ではなく0を返します(本来はそうではないのですが、すべてのデータはそこにあり、すべてダウンロードされ、大きな多次元配列は なく、エラーは発生しません!)そしてこれはテスターでのみ、一度だけ発生するのです。これ以降はすべて正常に動作します。
基本的なコードでは、関数が何を返すかは気にしません。結局、トレードのリクエストになると、リクエストに対して受け取った値をユニバーサル関数でチェックし、すべてがOKならリクエストを送信し、OKでなければ-OKになるのを待ちます...」と。
放物線状の値を取得する関数で、以下のコードを試してみてください。
ログに以下のような内容が表示されます。
なぜ-1ではなく0になるのか、その理由を説明します。
3回目のリピートです。データはあるが、その時点の指標値がまだ算出されていない可能性がある。ヘルプに書いてありますよ〜。
再暗号化か発生か?
FCは過剰蓄積に苦しみ、MTは生涯蓄積を続けてきた。通常日はシングル、水曜日は×3(トリプルスワップの日を 明確にすべき)...。
パラボリックの値を得るために、あなたの関数でこのコードを試してみてください。
ログにはおおよそ次のような出力が得られます。
これで、なぜ-1でなく0になるのかがわかります。
3回目もリピートします。データは存在するが、その時点の指標値がまだ計算されていない可能性がある。ヘルプに書いてありますよ!
その通り、CopyBufferのレスポンスではなく、パラボリックの値を取得しています...。
いい放物線関数を、あなたが提供したもの(プリント付き)に変更します。
forループの中でプリントを追加しています(ゼロプロテクトはしていません)。
テスターで実行する
というように、キャンセルを押すまでずっと
チャート上のExpert Advisor
ろくごうきじ
Expertsタブの画像を見てください。エラーメッセージもありません。
放物線を数えることができ、すべてがうまく一致し、12番目の放物線で、サイクルを終了する...
昔、MQL5で「あの時」「あの時」と気付いたことがあるんです。ここやあそこのデータは計算できないかもしれない...。しかし、それはおかしい、あなたはそれを修正する必要があり、コードに松葉杖を書くことではありません
ちなみに、パラボリックに 限らず、他のインジケーターでも同じことが言えます。
FCが何であるかは知らないが、チャンピオンシップでどのようになるかを知りたい。
FC - Forex Clubと言い、その端末はRumus2です。
チャンピオンシップのテストアカウントはお持ちですか?試してみると、すべてがクリアになる...。
昔、MQL5で「あの時」「あの時」と気付いたことがあるんです。ここやあそこのデータは計算できないかもしれない...。しかし、それはおかしい、あなたはそれを修正する必要があり、コードに松葉杖を書くことではありません
松葉杖を書かずに直さないと...ちなみに、パラボリックに限らず、他の指標でも同じことです。
議論の掛け算はやめましょう。
このテーマは何度も議論されてきました。少し前にリベンジされました(https://www.mql5.com/ru/forum/1951)。
座って...見ている...
MQL5とMQL4が同じチームで書かれたなんて、絶対に信じないぞ((
MQ4 - フライング...
MQ5は子供の遊びです。悪気はないのですが......((
議論はやめましょう。
このテーマは何度も議論されてきました。少し前にリベンジされました(https://www.mql5.com/ru/forum/1951)。
このスレッドを見ていないのですが・・・。おなじく
要は、あらゆる場面ですべての行にチェックを入れて、コードを混乱させたり、ごちゃごちゃさせたりするような愚かなことはしない、ということです。それが問題外なら...松葉杖が追加され、十分に大きなプロジェクトがようやく完全にやり直されて動き出す...。
そして、総じて、このやり方には驚かされるばかりです......。それは、このような質問が発生するのは初めてではないことが判明した(そして、私は将来的に他の人に発生すると確信している)、そして、このバグを回避するために行う必要があるかを説明するためにあなたと他の人の作業時間の多くを費やすためにすべての時間 "初めての" ...
そのスレッドで推奨されているTESTERに、Expert Advisorの起動時にSleep(1000)を1つだけ追加するだけです。
シェルが不具合を意味するようなことがあってはならないし、そのような不具合はコードで避けなければならない。そして、TERMINALは正常に正しく動作しており、NO ERRORS(この状況では)です。しかし、テスターの動作は端末の動作とは異なります。
ps EQUこんにちは:)