MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 886 1...879880881882883884885886887888889890891892893...1953 新しいコメント Artyom Trishkin 2019.06.12 06:27 #8851 Sergey Voytsekhovsky:そうですね、確かに。 それは気がつきませんでした。見た目がよくなり、文字数も少なくなりました。 3つのバージョン(正しい言い方が わからない)を1つのオペレーターの下に置く方法はないのでしょうか?中括弧のみ - 条件を限定するものです。 Sergey Voytsekhovsky 2019.06.12 07:51 #8852 int a,b,c,d,e,f,g,j; a=10; b=5; d=3; f=4; j=1; a>b?{c=d;e=f;g=j}:{c=0;e=0;g=0}; Print("c=",c," e=",e," g=",g);こんなデザインを描こうとしたら、コンパイラが何か嫌な匂いをまき散らしてきたんです。どこが間違いなのか? Alexey Viktorov 2019.06.12 07:59 #8853 Sergey Voytsekhovsky:UURRAA、そして魂は歌った。アレクセイ、どうもありがとう !!!! すべてうまくいきました。配列がないとどう なるのかよくわかりませんが その記述が削除されたためでは、ここにある余分な配列はまったくなくてもいいのですね。 #property indicator_color3 clrGreen,clrRed これがその配列です。 Alexey Viktorov 2019.06.12 08:05 #8854 Sergey Voytsekhovsky:そうですね、確かに。 それは気がつきませんでした。見た目がよくなり、文字数も少なくなりました。 3つのバージョン(正しい言い方が わからない)を1つのオペレーターの下に置く方法はないのでしょうか?はい、できます。2つのユーザー定義関数を作成し、それらを呼び出します。 int m = 5;//0;// m = m == 0 ? f1 : f2; int f1() { return(1); } int f2() { return(2); } klok79 2019.06.12 09:19 #8855 Konstantin Nikitin:そういうことなんです。よし、これで終わりだ。彼が知っている限りは...了解です、ありがとうございます。 ただ、混乱しているんです。すべて初めての経験です。 Sergey Voytsekhovsky 2019.06.12 10:55 #8856 Alexey Viktorov:できます。2つのカスタム関数を作成し、それらを呼び出します。 ちゃんと理解できたかな? ColorHistogram_2Colors[i]=ExtMainBuffer[i]>=50?ColorUp(i):ColorDown(i); //+------------------------------------------------------------------+ int ColorUp(int i) { ColorHistogram_2Buffer1[i]=50; ColorHistogram_2Buffer2[i]=ExtMainBuffer[i]; return(0); } int ColorDown(int i) { ColorHistogram_2Buffer1[i]=ExtMainBuffer[i]; ColorHistogram_2Buffer2[i]=50; return(1); } インジケータでそうしました - うまくいきました。 Alexey Viktorov 2019.06.12 11:08 #8857 Sergey Voytsekhovsky: ちゃんと理解できたかな? インジケーターでそう処方したのですが......効きますね。うまくいけば、それが正しいのです。しかし、私はそのようなやり方はしません。 まず、バッファの変更はしない。無条件で常にどちらかに50を書き込めば十分です。 そして、2番目のバッファには、50より大きいか小さいかの値を入れます。そして、条件<=>では、色のみを指定すること。また、別機能はありません。 Sergey Voytsekhovsky 2019.06.12 11:57 #8858 Alexey Viktorov:うまくいけば、それが正しいのです。でも、こんなやり方はありえない。 まず、=50でバッファの派手な変更はしない。無条件で常にどちらかに50を書き込めば十分です。 そして、2つ目のバッファに50より大きいか小さいかの値を設定する。そして、条件<=>では、色を割り当てるだけでよい。また、別機能はありません。条件<>50が色だけを定義するのであれば同意しますが、ヒストグラム・キャンドルの始まり/終わりでもあるのです。ですから、私は反論せず、おそらくあなたが正しいのでしょうが、確認してみようと思います。 Sergey Voytsekhovsky 2019.06.12 12:09 #8859 Alexey Viktorov:うまくいけば、それが正しいのです。でも、そんなことではダメなんです。はい、確かに、キャンドルの開始/終了を定義する2つのDRAW_COLOR_HISTOGRAM2バッファのいずれかを開始または終了にすることができます。今はすべてがシンプルになりました。 ColorHistogram_2Buffer1[i]=50; ColorHistogram_2Buffer2[i]=ExtMainBuffer[i]; ColorHistogram_2Colors [i]=ExtMainBuffer[i]>=50?0:1; サイエンスに感謝します。 Alexandr Sokolov 2019.06.12 13:28 #8860 モード切替時にINDICATOR_MAXIMUMとINDICATOR_MINIMUMの値をリセットする方法を教えてください。 ポイントは、これらの値があるモードでは使われ、他のモードでは使われないという点です。これらの最大値、最小値が不要なモードに切り替えると、なぜか保存される。この問題は、MQL4とMQL5の両方に存在します。 例えば、最初のモードでインジケータを実行する場合、境界線は必要なく、すべてが正しく動作します。 2番目のモードは、インジケータウィンドウの 最大と最小の 境界を設定します。最初のモードから2番目のモードへ切り替えると、すべてが正しく機能します しかし、2番目のモードから1番目のモードに切り替えると(1番目のモードでは境界線は使用されません)、これらの最大値と最小値が保存され、ユーザーは実際の指標値を見ることができません。 MQL4でのコードは添付ファイルの通りです。 このような悩みをお持ちの方はいらっしゃいませんか?どなたか解決方法をご存じないでしょうか? ファイル: test.mq4 4 kb 1...879880881882883884885886887888889890891892893...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そうですね、確かに。 それは気がつきませんでした。見た目がよくなり、文字数も少なくなりました。
3つのバージョン(正しい言い方が わからない)を1つのオペレーターの下に置く方法はないのでしょうか?
中括弧のみ - 条件を限定するものです。
こんなデザインを描こうとしたら、コンパイラが何か嫌な匂いをまき散らしてきたんです。どこが間違いなのか?
UURRAA、そして魂は歌った。アレクセイ、どうもありがとう !!!!
すべてうまくいきました。配列がないとどう なるのかよくわかりませんが
その記述が削除されたためでは、ここにある余分な配列はまったくなくてもいいのですね。
これがその配列です。
そうですね、確かに。 それは気がつきませんでした。見た目がよくなり、文字数も少なくなりました。
3つのバージョン(正しい言い方が わからない)を1つのオペレーターの下に置く方法はないのでしょうか?
はい、できます。2つのユーザー定義関数を作成し、それらを呼び出します。
そういうことなんです。よし、これで終わりだ。彼が知っている限りは...
了解です、ありがとうございます。
ただ、混乱しているんです。すべて初めての経験です。
できます。2つのカスタム関数を作成し、それらを呼び出します。
ちゃんと理解できたかな?
インジケータでそうしました - うまくいきました。
ちゃんと理解できたかな?
インジケーターでそう処方したのですが......効きますね。
うまくいけば、それが正しいのです。しかし、私はそのようなやり方はしません。
まず、バッファの変更はしない。無条件で常にどちらかに50を書き込めば十分です。
そして、2番目のバッファには、50より大きいか小さいかの値を入れます。そして、条件<=>では、色のみを指定すること。また、別機能はありません。
うまくいけば、それが正しいのです。でも、こんなやり方はありえない。
まず、=50でバッファの派手な変更はしない。無条件で常にどちらかに50を書き込めば十分です。
そして、2つ目のバッファに50より大きいか小さいかの値を設定する。そして、条件<=>では、色を割り当てるだけでよい。また、別機能はありません。
条件<>50が色だけを定義するのであれば同意しますが、ヒストグラム・キャンドルの始まり/終わりでもあるのです。ですから、私は反論せず、おそらくあなたが正しいのでしょうが、確認してみようと思います。
うまくいけば、それが正しいのです。でも、そんなことではダメなんです。
はい、確かに、キャンドルの開始/終了を定義する2つのDRAW_COLOR_HISTOGRAM2バッファのいずれかを開始または終了にすることができます。今はすべてがシンプルになりました。
サイエンスに感謝します。
モード切替時にINDICATOR_MAXIMUMとINDICATOR_MINIMUMの値をリセットする方法を教えてください。

ポイントは、これらの値があるモードでは使われ、他のモードでは使われないという点です。これらの最大値、最小値が不要なモードに切り替えると、なぜか保存される。この問題は、MQL4とMQL5の両方に存在します。
例えば、最初のモードでインジケータを実行する場合、境界線は必要なく、すべてが正しく動作します。
2番目のモードは、インジケータウィンドウの 最大と最小の 境界を設定します。最初のモードから2番目のモードへ切り替えると、すべてが正しく機能します

しかし、2番目のモードから1番目のモードに切り替えると(1番目のモードでは境界線は使用されません)、これらの最大値と最小値が保存され、ユーザーは実際の指標値を見ることができません。

MQL4でのコードは添付ファイルの通りです。
このような悩みをお持ちの方はいらっしゃいませんか?どなたか解決方法をご存じないでしょうか?