MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 527 1...520521522523524525526527528529530531532533534...1953 新しいコメント Konstantin Erin 2018.04.12 09:40 #5261 novichok2018: ありがとうございました。規約は理解した、配慮する。しかし、提案されたスクリプトを理解するには、残念ながら私のmcl4に関する知識は十分ではありません。申し訳ありません :( .私は、実験はすべてスクリプトで行っています。ターミナルでスクリプトを実行します。一部のラインを変更するか、捨てるか。様子を見る Corvin85 2018.04.12 11:01 #5262 インジケータデータのMin Maxを求めたいのですが、「マニュアル通りに全て」やったのですが、インジケータデータが配列に書き込まれない感じがします。MQL proはどこを間違えたか教えてください。 int limit=40000; double ArrayGreen[]; ArrayResize(ArrayGreen,limit); for (int i=0;i>=limit;i++) { ArrayGreen[i] =iCustom(NULL,0,"Kolier_SuperTrend_Indi",ATR_Period,ATR_Multiplier,0,1); } int max=ArrayMaximum(ArrayGreen,Quant,0); double iMaximum = ArrayGreen[max]; Print("Max = ",ArrayGreen[max]," at index=",max); double ArrayRad[]; ArrayResize(ArrayRad,limit); for (int i=0;i>=limit;i++) { ArrayRad[i] = iCustom(NULL,0,"Kolier_SuperTrend_Indi",ATR_Period,ATR_Multiplier,1,1); } int min=ArrayMinimum(ArrayRad,Quant_Bars,0); double iMinimum = ArrayRad[min]; Print("Min= ",ArrayRad[min]," at index=",min); Ihor Herasko 2018.04.12 13:51 #5263 Corvin85:インジケータデータのMin Maxを求めたいのですが、「マニュアル通りに全て」やったのですが、インジケータデータが配列に書き込まれない感じがします。MQLのプロの方、どこが間違いかアドバイスお願いします。 変数limitが0より大きい値である。そのため、どのループも実行されません。その結果、ArrayGreen と ArrayRad は未充填のままとなります。 limitを0以下に設定すると、プログラムは最初のループに戻ります。 したがって、ループの条件を変更する必要があります。たいていの場合、このようにするはずです。 for (int i = 0; i < limit; i++) Alekseu Fedotov 2018.04.12 16:57 #5264 Corvin85:インジケータデータのMin Maxを求めたいのですが、「マニュアル通りに全て」やったのですが、インジケータデータが配列に書き込まれない感じがします。MQLのプロは優秀なのですが、どこが間違いなのかアドバイスしてください。 また、iCustom(.........) では、最後に渡されたパラメータ i for (int i=0;i<limit;i++) { ArrayGreen[i] =iCustom(NULL,0,"Kolier_SuperTrend_Indi",ATR_Period,ATR_Multiplier,0,i); } というようなものです。 Corvin85 2018.04.12 17:57 #5265 ありがとうございます! 動いていますよ YanSay 2018.04.13 14:53 #5266 こんにちは。 テストの都合上、条件を有効にしたり無効にしたりするボタンを削除して、毎回コードを入力する必要がなく、条件をテキストに変更する必要がないようにしたいのです。 つまり、今はこうやってやっている。 if ((Close[1]<=High[2])&&(Close[1]>=Low[2])&&(Open[1]<=High[2])&&(Open[1]>=Low[2])) { このようにOFFにすることで //if ((Close[1]<=High[2])&&(Close[1]>=Low[2])&&(Open[1]<=High[2])&&(Open[1]>=Low[2])) //{ 有効・無効を入力bool Y=True;(Yは条件)の設定に引き込み、Yを条件に代入し、条件が成立した場合と成立しなかった場合にelse ifで分岐させようとしました。しかし、何かがうまくいかなかった。 このような場合、どのようにしたらよいかアドバイスをお願いします。 Vitaly Muzichenko 2018.04.13 14:56 #5267 YanSay:こんにちは。 テストの都合上、条件を有効にしたり無効にしたりするボタンを削除して、毎回コードを入力する必要がなく、条件をテキストに変更する必要がないようにしたいのです。 つまり、今はこうやってやっている。 このようにOFFにすることで 有効・無効を入力bool Y=True;(Yは条件)に引き込み、Yを条件に代入し、else ifで条件が成立しているかいないかを分岐させようとしました。しかし、何かがうまくいかなかった。 このような場合、どうすればよいのかアドバイスをお願いします。次のようなことが考えられます。 input bool FLAG =True; if (FLAG && (Close[1]<=High[2])&&(Close[1]>=Low[2])&&(Open[1]<=High[2])&&(Open[1]>=Low[2])) { YanSay 2018.04.13 15:27 #5268 Vitaly Muzichenko:こんなこともできるんですね。 これは、アルゴリズムがFalseの条件を無視して次の条件に進むためである。 input bool FLAG =False; Falseの時はこの条件を無視して次の条件に進むはずなのに、アルゴリズムは先に進みません。 私の場合、2つのブランチを指定するのが唯一の方法でしょうか。 input bool FLAG =True; if (FLAG=True) {(Close[1]<=High[2])&&(Close[1]>=Low[2])&&(Open[1]<=High[2])&&(Open[1]>=Low[2])) {//следующие условия } } if (FLAG=False) {//следующие условия } それとも、もっと簡単な方法があるのでしょうか? Vitaly Muzichenko 2018.04.13 15:38 #5269 YanSay:あなたのバージョンでは、もし値が Falseの場合はこの条件を無視して次の条件に進むはずだが、アルゴリズムはそれ以上進めない。 私の場合、2つのブランチを書くという選択肢しかないのでしょうか? それとも、もっと簡単な方法があるのでしょうか?//+------------------------------------------------------------------+ input bool FLAG =True; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ if(FLAG) { if(Close[1]<=High[2]) && (Close[1]>=Low[2]) && (Open[1]<=High[2]) && (Open[1]>=Low[2]) //... } else { //следующие условия } //+------------------------------------------------------------------+ Alexey Viktorov 2018.04.13 15:54 #5270 YanSay:あなたのバージョンでは、もし値が Falseの場合はこの条件を無視して次の条件に進むはずだが、アルゴリズムはそれ以上進めない。 私の場合、2つのブランチを書くという選択肢しかないのでしょうか? それとも、もっと簡単な方法があるのでしょうか?この方法のみ if(!FLAG || (Close[1]<=High[2] && Close[1]>=Low[2] && Open[1]<=High[2] && Open[1]>=Low[2])) 1...520521522523524525526527528529530531532533534...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
私は、実験はすべてスクリプトで行っています。ターミナルでスクリプトを実行します。一部のラインを変更するか、捨てるか。様子を見る
インジケータデータのMin Maxを求めたいのですが、「マニュアル通りに全て」やったのですが、インジケータデータが配列に書き込まれない感じがします。MQL proはどこを間違えたか教えてください。
インジケータデータのMin Maxを求めたいのですが、「マニュアル通りに全て」やったのですが、インジケータデータが配列に書き込まれない感じがします。MQLのプロの方、どこが間違いかアドバイスお願いします。
変数limitが0より大きい値である。そのため、どのループも実行されません。その結果、ArrayGreen と ArrayRad は未充填のままとなります。
limitを0以下に設定すると、プログラムは最初のループに戻ります。
したがって、ループの条件を変更する必要があります。たいていの場合、このようにするはずです。
インジケータデータのMin Maxを求めたいのですが、「マニュアル通りに全て」やったのですが、インジケータデータが配列に書き込まれない感じがします。MQLのプロは優秀なのですが、どこが間違いなのかアドバイスしてください。
また、iCustom(.........) では、最後に渡されたパラメータ i
というようなものです。
こんにちは。
テストの都合上、条件を有効にしたり無効にしたりするボタンを削除して、毎回コードを入力する必要がなく、条件をテキストに変更する必要がないようにしたいのです。
つまり、今はこうやってやっている。
このようにOFFにすることで
有効・無効を入力bool Y=True;(Yは条件)の設定に引き込み、Yを条件に代入し、条件が成立した場合と成立しなかった場合にelse ifで分岐させようとしました。しかし、何かがうまくいかなかった。
このような場合、どのようにしたらよいかアドバイスをお願いします。
こんにちは。
テストの都合上、条件を有効にしたり無効にしたりするボタンを削除して、毎回コードを入力する必要がなく、条件をテキストに変更する必要がないようにしたいのです。
つまり、今はこうやってやっている。
このようにOFFにすることで
有効・無効を入力bool Y=True;(Yは条件)に引き込み、Yを条件に代入し、else ifで条件が成立しているかいないかを分岐させようとしました。しかし、何かがうまくいかなかった。
このような場合、どうすればよいのかアドバイスをお願いします。
次のようなことが考えられます。
こんなこともできるんですね。
これは、アルゴリズムがFalseの条件を無視して次の条件に進むためである。
Falseの時はこの条件を無視して次の条件に進むはずなのに、アルゴリズムは先に進みません。
私の場合、2つのブランチを指定するのが唯一の方法でしょうか。
それとも、もっと簡単な方法があるのでしょうか?
あなたのバージョンでは、もし値が
Falseの場合はこの条件を無視して次の条件に進むはずだが、アルゴリズムはそれ以上進めない。
私の場合、2つのブランチを書くという選択肢しかないのでしょうか?
それとも、もっと簡単な方法があるのでしょうか?
あなたのバージョンでは、もし値が
Falseの場合はこの条件を無視して次の条件に進むはずだが、アルゴリズムはそれ以上進めない。
私の場合、2つのブランチを書くという選択肢しかないのでしょうか?
それとも、もっと簡単な方法があるのでしょうか?
この方法のみ