//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, |//+----------------------------------------------------------------------------+//| Версия : 07.10.2006 |//| Описание : Возвращает экстремум ЗигЗага по его номеру. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL или "" - текущий символ) |//| tf - таймфрейм ( 0 - текущий ТФ) |//| ne - номер экстремума ( 0 - последний) |//| dp - ExtDepth |//| dv - ExtDeviation |//| bs - ExtBackstep |//+----------------------------------------------------------------------------+double GetExtremumZZPrice(string sy="", int tf=0, int ne=0, int dp=12, int dv=5, int bs=3) {
if (sy=="" || sy=="0") sy=Symbol();
double zz;
int i, k=iBars(sy, tf), ke=0;
for (i=1; i<k; i++) {
zz=iCustom(sy, tf, "ZigZag", dp, dv, bs, 0, i);
if (zz!=0) {
ke++;
if (ke>ne) return(zz);
}
}
Print("GetExtremumZZPrice(): Экстремум ЗигЗага номер ",ne," не найден");
return(0);
}
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
OK、では、例えば、過去3本のバー(ifの条件を満たす)から最高値を選択し、その上にポイントを置き(まさにこの高値に!)、さらに低値も見つけたい場合は、どのようにコードを作り直せばいいのでしょうか?
この方法で試してみるが、よくわからない
この方法で試してみるが、よくわからない
残念ながらシフトオフセットは正しい選択ではありません。標準ジグザグに自分のコードを挿入してみたらどうだろうと思っています。今、試していますが、今のところ効果はありません。あなたはどう思いますか、私はジグザグを介して行くことができますか? 最後に私はハイローハイのように、交互に接続された頂点を見つける必要があるので、私はオプションのハイハイ、またはローローを満たしている場合、これらの第二のハイとローは、配列に含まれていない、と反対を待つ。
残念ながら、シフトチェンジはできません。標準のジグザグに自分のコードを挿入してみたらどうだろうと思っているんです。今、いろいろとつっこんでいますが、今のところ無駄です。ジグザグに進むことは可能だと思いますか? なぜなら、最後に見つけたトップをハイ・ロー・ハイのように交互につなぐ必要があり、もしオプションのハイ・ローやロー・ローに出会ったら、これらの第2のハイ・ローは配列に含めず、反対を 待つべきだからです。
いいえ、前のものはゼロにし、現在のものをインジケータ・バッファに追加する必要があります。
残念ながら、シフトオフセットは適切な選択肢ではありません。標準のジグザグに自分のコードを挿入してみたらどうだろうと思っているんです。今、いろいろとつっこんでいますが、今のところ無駄です。あなたはどう思いますか、私はジグザグを介して行くことができますか? 最後に私はハイローハイのように、交互に接続された頂点を見つける必要があるので、私はオプションのハイハイ、またはローローを満たしている場合、これらの第二のハイとローは、配列に含まれていない、と反対を待つ。
いずれにせよ、2-3本前のバーの条件が揃うまで、つまり描画されないというラグが発生します。
高値から安値までジグザグにする必要があると理解していますが?いずれにせよ、2-3本前のバーの条件が揃うまで、つまり描画されないというラグが発生します。
高値から安値までジグザグにする必要があるのかな?そうですね、理想的には高値から安値までのジグザグが必要です(ですから、この高値と安値は私の条件ではifで、高値・安値が2つ以上並んでいる場合は、この2つ目の高値・安値は表示せず、反転を待つべきです)。私のインジケータでは、直近の安値6本、高値6本が表示されれば十分です。そして、その見つけたジグザグポイントをスクリプト/アドバイザーの中で呼び出して、さらなる必要性を追求したい。
こんにちは。
デバッグモードで値が表示されないのはなぜか、どなたかアドバイスをお願いします。
mt5のプログラムをアップデートした後に、問題が発生したようです。
また、「Values」の欄の赤は何を意味するのでしょうか?
こんにちは。
デバッグモードで値が表示されないのはなぜか、どなたかアドバイスをお願いします。
mt5のプログラムをアップデートした後に、問題が発生したようです。
また、「Values」列の値の赤色は何を意味しているのでしょうか?
1.最低限の情報(ターミナル再起動後のジャーナルタブの最初の3行)を教えてください。
2) ビルドの更新
そうですね、理想的には高値から安値へのジグザグが必要です(これらの高値と安値がifで私の条件になるように、また高値・安値が2つ以上連続する場合は、これらの2つ目の高値・安値を表示せず、反転を待ちます)。インジケーターに直近の安値6本、高値6本が表示されれば十分です。そして、その見つけたジグザグポイントをスクリプト/アドバイザーの中で呼び出して、さらなる必要性を追求したい。
私はプログラマーではないので、まだどうしたらいいか分かりませんが、考えてみます...。
カスタムインジケーターZigZagの 極値を検索し、その価格水準を返す関数です。この関数は、以下のオプションパラメータを受け付ける。- sy- 楽器の名前です。"" またはNULL- 現在のシンボル。デフォルトはNULL。
- tf- タイムフレーム.初期 値 0- 現在のシンボル。
- ne- 極端な数字。0- 最後、1- 前、2- 前、など。
- dp,dv,bs- ZigZagaのパラメータ:ExtDepth, ExtDeviation, ExtBackstep.
カスタムZigZagインディケータの 極値を検索し、その価格水準を返します。この関数は、以下のオプションパラメータを受け付ける。- sy- 楽器の名前です。"" またはNULL- 現在のシンボル。デフォルトはNULL。
- tf- タイムフレーム.初期 値 0- 現在のシンボル。
- ne- 極端な数字。0- 最後、1- 前、2- 前、など。
- dp,dv,bs- ZigZagaのパラメータ:ExtDepth, ExtDeviation, ExtBackstep.