EURUSD,M15: Fractals conditions met on bar 98 EURUSD,M15: Fractals conditions met on bar 95 EURUSD,M15: Fractals conditions met on bar 91 EURUSD,M15: Fractals conditions met on bar 81 EURUSD,M15: Fractals conditions met on bar 77 EURUSD,M15: Fractals conditions met on bar 68 EURUSD,M15.Factals conditions met on bar 61 ユーロ米ドル(EURUSD)M15: フラクタルズ条件(EURUSD)M15:Fractals conditions met on bar 61 EURUSD,M15: Fractals conditions met on bar 48 EURUSD,M15: Fractals conditions met on bar 39 EURUSD,M15: Fractals conditions met on bar 24 EURUSD,M15: Fractals conditions met on bar 19 EURUSD,M15: Fractals conditions met on bar 12 EURUSD,M15: Fractals conditions met on bar 4
when is this while starting and
停止中は?
StringHighStatus="True";
私もテストするまでは同じことを思っていました。意外なことに、if(double == double)の部分は動作するのですが、新しいビルドではdoubleの比較は別の方法で処理されるのでしょうか。
EURUSD,M15: バー98でフラクタルの条件を満たしました。
EURUSD,M15: バー95でフラクタルの条件を満たしました。
EURUSD,M15: フラクタル条件がバー91で満たされました。
EURUSD,M15: フラクタル条件がバー81で満たされた場合
EURUSD,M15: フラクタル条件が満たされたバー77
EURUSD,M15: フラクタル条件がバー68で満たされる
EURUSD,M15: フラクタル条件がバー61で満たされる
EURUSD,M15: フラクタル条件がバー48で満たされる
EURUSD,M15: フラクタル条件が満たされたバー39
EURUSD,M15: フラクタル条件が満たされたバー24
EURUSD,M15: フラクタル条件が満たされたバー19
EURUSD,M15: フラクタル条件が満たされたバー12
EURUSD,M15: 4小節目でフラクタルの条件に合致
GumRaiさん、ありがとうございます。
私が間違っていて頭が固いのかもしれませんが、論理が理解できません...。
最初のIFで、ご指摘のようにSwinghHighShift=10で文字列を「真」にすると、そのサイクルではカウントは増えません。その後、制御はWHILEに戻ります。WHILEには論理和があり、その条件の1つが満たされているので、この時点でサイクルが終了するはずです。
逆に、変数がfalseのままなら、カウンタが最大値に達し、再び終了条件となるはずです。
AND演算子であれば、あなたの考察は正しいと思います。
あなたの解釈に従って、私はWHILEの中のORをスキップして、最初のIF条件を文字列の上に置くことができます:もし "true "になったら、ブレークがWHILEを終了させ、さもなければカウンターは最大値になるまで進みます。
そうでなければ、カウンタは最大値まで進みます。
しかし、これはまだ回避策であり、悲しいかな、なぜWHILEがORを処理しないのか(私には)説明できません。
WHILEや論理ORには何の問題もありません。WHILEの中に2つの条件があり、WHILEが終了する前にその両方が壊れる必要があります。
これが引っかかる理由です。
ループが終了する可能性はわずかで、それは100本のバー(SwingBarCount)全体に対してIF条件が満たされない場合なので、2番目のWHILE条件は1番目の前に壊れています。その後、フラクタルはIF条件を満たし、1番目のWHILE条件を解除するコード(StringHighStatusを変更)が実行されます。
SwingHighShift++; を ELSE から取り出し、それ自体を IF オペレータの後の while ループに入れる必要があります。
また、オブジェクトに別の名前をつける必要があり、そうしないと一度だけしか描画されません。(一度だけ描画させたい場合は別ですが)。
私はそれをテストするまで同じことを考えた、驚くべきことに、それの if(double == double) 部分は動作する、それはダブルの比較が新しいビルドで異なって処理されるのかどうか疑問に思う。
EURUSD,M15: Fractals conditions met on bar 98
EURUSD,M15: Fractals conditions met on bar 95
EURUSD,M15: Fractals conditions met on bar 91
EURUSD,M15: Fractals conditions met on bar 81
EURUSD,M15: Fractals conditions met on bar 77
EURUSD,M15: Fractals conditions met on bar 68
EURUSD,M15.Factals conditions met on bar 61 ユーロ米ドル(EURUSD)M15: フラクタルズ条件(EURUSD)M15:Fractals conditions met on bar 61
EURUSD,M15: Fractals conditions met on bar 48
EURUSD,M15: Fractals conditions met on bar 39
EURUSD,M15: Fractals conditions met on bar 24
EURUSD,M15: Fractals conditions met on bar 19
EURUSD,M15: Fractals conditions met on bar 12
EURUSD,M15: Fractals conditions met on bar 4
これがうまくいくのは、コードが効果的に同じ値を比較しているからです。
フラクタルバッファは 空の値を持つか、関連するバーの高値からその値を取ります。
このコードは事実上
に置き換えることができない理由はないでしょう。
に置き換えることができない理由はないと思います。
このスレッドでのあなたの投稿を読み返したところ、あなたの混乱がどこに生じたかがわかりました。WHILEとORの論理を逆に考えているのですね。ORはWHILEを止めるためのものではありません。どちらかの条件が成立したときに、それを継続させることです。例えば、2つの照明が点灯しているとします。あなたの指示は、ライト1またはライト2が点灯している間、何かをし続けることです。明らかに、どちらか一方だけでなく、両方のライトが消灯していないと、終了できません。
これだけです。
恥ずかしながら... :-)
さらに、WHILEを使うのは初めてではないのですが、逆に考え始めてしまい、自分のループから抜け出せなくなってしまいました :-/。
そして、deVriesの提案した、||を&&に置き換えるというのは正解でした。
このトピックのおかげで、IF( == )がうまくいくかどうかなど、他にも気をつけるべきことがたくさん出てきました。
皆さん、私に理解させるために時間を費やしていただき、ありがとうございました。
私は、この方法で、whileループを中断するために、breakを使用する必要があります、それは正しいですか?