bool
b = false,
s = false; //обе эти переменные должны быть объявлены за пределами всех блоков программы
BUY_1=NormalizeDouble(iCustom(NULL,0,"4X Pip Snager Trend",1,1),Digits);
if(BUY_1 != EMPTY_VALUE)
{
// первичный вход в этот блок означает, что 1 бар закрыт выше линии, но действие при этом не выполняется т. к. b == false (либо изначально, либо было сброшено в блоке else)// вторичный и все последующие подряд входы в этот блок означают, что, как минимум 2 бара подряд закрыто выше линии и действие будет выполнятся т. к. в предыдущем входе b присвоено значение trueif(b)
{
// ДЕЙСТВИЕ ДЛЯ СИНЕЙ ЛИНИИ
}
b = true;
s = false;
}
elae
{
// аналогично, как и в блоке вышеif(s)
{
// ДЕЙСТВИЕ ДЛЯ КРАСНОЙ ЛИНИИ
}
b = false;
s = true;
}
フォーラム全体を探しましたが、インジケータ内の矢印/アイコンのシフトを 自動的に計算する方法は見つかりませんでした(TFを切り替えるときはオフセットを調整する必要があります)が、数ヶ月前に誰かが既製の機能を投稿したことを知っています。
PLEASE! )))
フォーラム全体を探しましたが、インジケータ内の矢印/アイコンのシフトを 自動的に計算する方法は見つかりませんでした(TFを切り替えるときはオフセットを調整する必要があります)が、数ヶ月前に誰かが既製の機能を投稿したことを知っています。
PLEASE! )))
これか?
これか?
すごーい
ZS: ひとつわからないのは、20分くらい検索して、Vitalyが投稿したのを思い出した(彼の投稿を検索した)のですが、あなたが見つけて、私が見つけられなかったことです((((;゚Д゚)))))))))
すごーい
ZS: 一つだけわからないことがあるのですが、なぜ、私が20分も検索して、Vitalyが投稿したことを確かに覚えていたのに(彼の投稿を検索しました)、あなたが見つけて、私が見つけられなかったのか((((( ;゚Д゚)))))
パズルは、メモ帳と「お役立ち」というファイルを開くだけです。私が見た中で、どこかの誰かにとって役に立つかもしれないもの、それは些細なことではありませんが、その記事へのリンクと短い説明を入力します。何年も前からこんな感じなんだけど...。私たちは、注文を「見守る」だけでなく、「助ける」ためにここにいるのです![](https://c.mql5.com/3/270/pardon.gif)
ありがとうございます。赤から青に変わる瞬間をとらえるのは難しくないのですが、この時、青い線が黒で覆われていることをどうやって知るのか、さっぱりわかりません。どのような条件を加えればいいのか:-)
というのは、バーが黒い線を越えたときにシグナルを除外するためでしょうか?スクリーンショットでは、最後のクロスを上向きにカウントし、前の3本のバーのクロスをカウントしないようにしてください。
簡単に言うと、EMA(21)の線の上にバーが閉じる間、それらは一つのバッファ(青)に書き込まれ、その下には別のバッファ(赤)に書き込まれます。このラインの交差のシグナルを除外するには、少なくとも2つのバーが連続して高値または安値で閉じている必要があります。
コードの場合は次のようになります。
すごーい
ZS: ひとつわからないのは、なぜ私が20分も検索して、Vitalyが投稿したのを覚えていると思ったのに(彼の投稿を検索した)、あなたは見つけて、私は見つけられなかったのでしょう(((
しかし、この方法では、ユーザーがチャートをスクロールすることを考慮に入れていません。ボラティリティの高い期間にインジケータを置き、その後フラットな期間にスクロールする、またはその逆を行う。
その意味では、あるATRのデータに頼って距離を計算する方が理にかなっていると思います。
新しい極端なチャートの価格に基づいてすべての矢印を再配置するために、ユーザーによってチャートのスクロールを追跡したくない場合。
ここでは、フラクタルに基づいた例を紹介します。バッファー2個追加作成。フラクタルでは、単にローソクの価格を参照することができるので、それは冗長です。 しかし、このバリアントは、あなたのタスクのために有用であるかもしれません。
ありがとうございました。
30個のZigZag頂点に頂点番号で署名し、さらにヒストリーにテキストラベルを表示しない。
パズルが開くのは、シンプルにメモ帳と「お役立ち」という名前のファイルです。私が見た中で、誰かの役に立つかもしれないもの、それは些細なことではありませんが、その記事へのリンクと短い説明を載せます。何年も前からこんな感じなんだけど...。私たちは、注文を「見守る」だけでなく、「助ける」ためにここにいるのです
私は申し訳ありませんので、私は共有しないことを言うために、埋めるためにKBの有用性で、説得、ちょうど彼らのコードを伴う、私は意志を確信していない、と何を議論し、どのようにすでに疲れている
ZS: 面白くて準備万端というのは、98%くらいです。
1. ZigZagの頂点を構造体の配列としてアクセスする(ダイナミックリストと演算子のオーバーロード[])と、すべてが飛んでいるように見え、ZZ[2].priceと書くと非常に便利です...。ZZ[i]です。up = true
2. MT4によるセカンドチャート
それとも、どこの国でもそうですが、100%出来合いのコードを渡されても、自分たちでは何もしないのでしょうか?
ありがとうございました。
30個のZigZagノードにノード番号で署名し、それ以降の履歴にはテキストラベルを表示しないようにしました。
私は申し訳ありませんので、私は共有しないことを言うために、埋めるためにKBの有用性で、説得、ちょうど彼らのコードを伴う、私は意志を確信していない、と何を議論し、どのようにすでに疲れている
ZS: 面白くて準備万端というのは、98%くらいです。
1. ZigZagの頂点を構造体の配列としてアクセスする(ダイナミックリストと演算子のオーバーロード[])と、すべてが飛んでいるように見え、ZZ[2].priceと書くと非常に便利です...。ZZ[i]です。up = true
2. MT4によるセカンドチャート
それとも、どこの国でもそうですが、100%出来合いのコードを渡されても、自分たちでは何もしないのでしょうか?
さて、それぞれのコードから有益なもの、時には珍しいものを得ることができます。
Codebaseはまさにそのために設計されているのであって、二人がそれを使って何をするかということではありません。
追伸:これは良いアイデアを与えてくれました、私は構造体の配列に書き換える必要があります、なぜか私は前にそれについて考えもしませんでした。P.S. いいアイデアをいただきました!私も構造体配列で書き直そうかな、今まで考えたこともなかったです。
構造体配列はもう少し単純ですが、機能は低いです。私は動的リストCListを通して 行いました。実装は非常に簡単ですが、MQLでポインタを扱うことに慣れるのは難しいです。コードを確定してKBに投稿してみます。