[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 170 1...163164165166167168169170171172173174175176177...652 新しいコメント Maxim Zaguzov 2011.09.11 09:10 #1691 splxgf: 作者のバージョンにこの2行を追加するだけで、原理的にはかなりスピードアップできるはずです。 本当ですか? Всеволод 2011.09.11 09:33 #1692 MaxZ: 本当ですか? 基本的には、UPPprice/LOWpriceの範囲に入らないキャンドルをチェックと計算から除外するという提案ですが...。は、2行で除外されます。ループから抜け出さないということは、価格が必要な範囲にあるということであり、標準的なチェックを行うのです。INSを扱うロジックは非常に複雑なので、前の反復からこの変数の値を使用することはナンセンスであるため、あなたのコードは、結果の不利益にのみ速く行くかもしれません。 Maxim Zaguzov 2011.09.11 09:50 #1693 splxgf: 基本的には、UPPprice/LOWpriceの範囲に入らないキャンドルをチェックと計算から除外するという提案ですが...。は、2行で除外されます。ループから抜け出さないということは、価格が必要な範囲にあるということであり、標準的なチェックを行うのです。INSを扱うロジックは非常に複雑なので、前の反復からこの変数の値を使用することはナンセンスであるため、あなたのコードは、結果の不利益にのみ速く行くかもしれません。 ということは、確信犯!?:)))) 先ほど、コードを引用されましたね。 splxgf: if (LOWprice > iHigh(NULL,60,i)) continue; if (UPPprice < iLow (NULL,60,i)) continue; 価格がLowより下にある場合、なぜ価格がHighより上にあるかどうかを確認する必要があるのでしょうか?あなたのバージョンでは、この条件は除外されていません。しかし、私の提案では if (UPP) ... // не выполнится if (LOW) if (LOWprice < iLow (NULL,60,i)) continue; else .. は除外されます。 私のコードが最適でない可能性があることは否定しません。 しかし、何倍の速さだと思いますか? if (UPP) の方が効くでしょう。 if (LOWprice > iHigh(NULL,60,i)) ? 実際、そうなんです。 UPP = LOWprice > iHigh(NULL, 60, i); 私だけが知っている事実(現在のヒストリカルバーの内側でビッドした場合を除く)、そしてあなたが計算する...。 Maxim Zaguzov 2011.09.11 10:05 #1694 abolk: そうですね。 3行の明確なコードを、理解しにくいコードに変えてしまうほど、ひねくれなければならないのです。 iLow, iHighのチェックを分割するアイデアがあれば、すぐにでも分割できたはずです。 そして、ワイセツなことはしないでください また、ねじれた面倒なコードが、時に単純な3行よりも速く走ることがあると考えたことはありませんか?:))) Всеволод 2011.09.11 10:16 #1695 INS = True; for (int i=1; i<=6000; i++) { if (INS) { if (LOWprice > iHigh(NULL,60,i)) { INS = False; UPP = True; LOW = False; continue; このコードの部分を考えてみましょう。 INS=True。 ループは行った 飛行に問題がない場合 if (LOWprice...) 例えば、条件はtrueだが、INS=Falseとなり、次の反復に進むため、おかしくなる。 で、(false)なら、もう一本だから、もういいや...。 私のコードに関しては、価格をチェックするのではなく、バーが現在の価格から+300/300pips以内かどうかをチェックし、そうであればそれを考慮する必要があるのです。その他の最適化については、例えば最初の2つのチェックで不要なバーを90%排除できるため、それほど重要ではありません。 Maxim Zaguzov 2011.09.11 10:24 #1696 splxgf: もしそうなら(false)、もうダメだ、違うバーなんだから、何を...と聞かなければならない。 出航はしていないが、他に出航している{ ...}. Всеволод 2011.09.11 10:39 #1697 と言って、本当に泳いでしまった...。 なぜブール変数は、各条件の後にもう一つ if (LOWprice >iHigh(NULL,60,i)) 、つまり同じ卵でも横からプラス1条件とたくさんの代入があると高速化すると思うのですが...。 BBC 2011.09.12 06:55 #1698 うわっ! ここで議論が白熱する。 とりあえずこんな感じにしておきます。 extern int Distance = 3000; int CountH,NewCountH,CountL,NewCountL,CountB,NewCountB; double ResistH,ResistL,ResistB; //====================================================================== int start(){ double bid = Bid; double UPPprice = bid+Distance*Point; double LOWprice = bid-Distance*Point; NewCountH=0; NewCountL=0; NewCountB=0; ResistH=0; ResistL=0; ResistB=0; while(LOWprice<UPPprice) { CountH=0; CountL=0; for(int i=1; i<=6000; i++){ if(iHigh(NULL,60,i)>LOWprice) if(LOWprice>iLow(NULL,60,i)) if(LOWprice> bid) CountH++; else CountL++; } if(CountH>NewCountH){NewCountH=CountH;ResistH=LOWprice;} if(CountL>NewCountL){NewCountL=CountL;ResistL=LOWprice;} LOWprice=LOWprice+25*Point; } CountB=0; for(i=1; i<=6000; i++){ if(iHigh(NULL,60,i)>=bid) if(bid>=iLow(NULL,60,i)) CountB++; } if(CountB>NewCountB){NewCountB=CountB;ResistB=bid;} Comment("\n", "\n", // "\n", " Spread ", MarketInfo(Symbol(), MODE_SPREAD), "\n", " Distance ", Distance, "\n", " CountH ", NewCountH, "\n", " CountB ", NewCountB, "\n", " CountL ", NewCountL, "\n", "-------------------------------------------------- ", "\n"); if(ObjectFind("RH") == -1) { ObjectCreate("RH", OBJ_HLINE, 0, 0, ResistH); ObjectSet("RH", OBJPROP_COLOR, Magenta); ObjectSet("RH", OBJPROP_STYLE, STYLE_DOT); }else ObjectMove("RH", 0, iTime(NULL,0,0), ResistH); string text=DoubleToStr(NewCountH,0); ObjectDelete("RHtxt"); if(ObjectFind("RHtxt") == -1) { ObjectCreate("RHtxt", OBJ_TEXT, 0, 0, 0); ObjectSetText("RHtxt", text , 8, "Arial", Aqua); ObjectMove("RHtxt", 0, iTime(NULL,0,0), ResistH); }else ObjectMove("RHtxt", 0, iTime(NULL,0,0), ResistH); string text3=DoubleToStr(NewCountB,0); ObjectDelete("RBtxt"); if(ObjectFind("RBtxt") == -1) { ObjectCreate("RBtxt", OBJ_TEXT, 0, 0, 0); ObjectSetText("RBtxt", text3 , 8, "Arial", Aqua); ObjectMove("RBtxt", 0, iTime(NULL,60,0), ResistB); }else ObjectMove("RBtxt", 0, iTime(NULL,60,0), ResistB); if(ObjectFind("RL") == -1) { ObjectCreate("RL", OBJ_HLINE, 0, 0, ResistL); ObjectSet("RL", OBJPROP_COLOR, Magenta); ObjectSet("RL", OBJPROP_STYLE, STYLE_DOT); }else ObjectMove("RL", 0, iTime(NULL,0,0), ResistL); string text2=DoubleToStr(NewCountL,0); ObjectDelete("RLtxt"); if(ObjectFind("RLtxt") == -1) { ObjectCreate("RLtxt", OBJ_TEXT, 0, 0, 0); ObjectSetText("RLtxt", text2 , 8, "Arial", Aqua); ObjectMove("RLtxt", 0, iTime(NULL,0,0), ResistL); }else ObjectMove("RLtxt", 0, iTime(NULL,0,0), ResistL); return (0);} //====== THE END ====================== 値動きを見ていると、とても面白いです。常に最も抵抗の少ない方向に進みます。 将来の動きを予測することもできます。観察する。 価格は水の流れのようなものです。 皆さん、ありがとうございました。 Александр 2011.09.12 07:24 #1699 highの値が最も大きいバー番号の求め方を教えてください。 Search_High=MathMax( High[i],High[1]) Всеволод 2011.09.12 08:51 #1700 001: チャイ値の最も高いバーの番号の求め方を教えてください。 Search_High=MathMax( High[i],High[1]) https://docs.mql4.com/ru/array/ArrayMaximum にアクセスすることができます。 を通して、アレイのHigh. 1...163164165166167168169170171172173174175176177...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
本当ですか?
基本的には、UPPprice/LOWpriceの範囲に入らないキャンドルをチェックと計算から除外するという提案ですが...。は、2行で除外されます。ループから抜け出さないということは、価格が必要な範囲にあるということであり、標準的なチェックを行うのです。INSを扱うロジックは非常に複雑なので、前の反復からこの変数の値を使用することはナンセンスであるため、あなたのコードは、結果の不利益にのみ速く行くかもしれません。
基本的には、UPPprice/LOWpriceの範囲に入らないキャンドルをチェックと計算から除外するという提案ですが...。は、2行で除外されます。ループから抜け出さないということは、価格が必要な範囲にあるということであり、標準的なチェックを行うのです。INSを扱うロジックは非常に複雑なので、前の反復からこの変数の値を使用することはナンセンスであるため、あなたのコードは、結果の不利益にのみ速く行くかもしれません。
ということは、確信犯!?:))))
先ほど、コードを引用されましたね。
価格がLowより下にある場合、なぜ価格がHighより上にあるかどうかを確認する必要があるのでしょうか?あなたのバージョンでは、この条件は除外されていません。しかし、私の提案では
は除外されます。
私のコードが最適でない可能性があることは否定しません。
しかし、何倍の速さだと思いますか?
if (UPP)
の方が効くでしょう。
?
実際、そうなんです。
私だけが知っている事実(現在のヒストリカルバーの内側でビッドした場合を除く)、そしてあなたが計算する...。
そうですね。
3行の明確なコードを、理解しにくいコードに変えてしまうほど、ひねくれなければならないのです。
iLow, iHighのチェックを分割するアイデアがあれば、すぐにでも分割できたはずです。
そして、ワイセツなことはしないでくださいこのコードの部分を考えてみましょう。
INS=True。
ループは行った
飛行に問題がない場合
if (LOWprice...) 例えば、条件はtrueだが、INS=Falseとなり、次の反復に進むため、おかしくなる。
で、(false)なら、もう一本だから、もういいや...。
私のコードに関しては、価格をチェックするのではなく、バーが現在の価格から+300/300pips以内かどうかをチェックし、そうであればそれを考慮する必要があるのです。その他の最適化については、例えば最初の2つのチェックで不要なバーを90%排除できるため、それほど重要ではありません。
もしそうなら(false)、もうダメだ、違うバーなんだから、何を...と聞かなければならない。
と言って、本当に泳いでしまった...。
なぜブール変数は、各条件の後にもう一つ if (LOWprice >iHigh(NULL,60,i)) 、つまり同じ卵でも横からプラス1条件とたくさんの代入があると高速化すると思うのですが...。
うわっ!
ここで議論が白熱する。
とりあえずこんな感じにしておきます。
値動きを見ていると、とても面白いです。常に最も抵抗の少ない方向に進みます。
将来の動きを予測することもできます。観察する。
価格は水の流れのようなものです。
皆さん、ありがとうございました。
highの値が最も大きいバー番号の求め方を教えてください。
Search_High=MathMax( High[i],High[1])
チャイ値の最も高いバーの番号の求め方を教えてください。
Search_High=MathMax( High[i],High[1])
https://docs.mql4.com/ru/array/ArrayMaximum にアクセスすることができます。
を通して、アレイのHigh.