KimIVの便利な機能 - ページ 43

 
Tsyrus писал (а)>>

This is all!!!!!!!

>> ありがとうございました。

 

Igorさん、複数のローソク足を1つにまとめることができる良いインジケーターが ありますよ。しかし、それは1時間足チャートでしか機能しません。ユニバーサルにすることは可能ですか?

お礼を申し上げたい。

 

GetNearestDownFractal()関数。

この関数は、最も近いボトムフラクタルを検索し、その価格水準を返す。この関数の特徴は、フラクタルに任意の数式を設定できることである。一般に受け入れられている標準的なフラクタル式は2-2である。左側に2本、右側に2本の小節という意味です。この機能を使えば、8-2(左が8本、右が2本)や5-3(左が5本、右が3本)など、非常にエキゾチックなフラクタル表現も可能です。この関数は、以下のオプションパラメータを受け付ける。

  • sy- 楽器の名称。"" またはNULL- 現在のシンボル。デフォルトはNULL
  • tf- タイムフレーム.初期値0- 現在のシンボル。
  • nl- 残りのバーの数.初期値は2 です。
  • nr- 右側のバーの数.初期設定は2 です。
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает ценовой уровень ближайшего нижнего фрактала         |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    tf - таймфрейм                  (    0       - текущий таймфрейм)       |
//|    nl - количество баров слева                                             |
//|    nr - количество баров справа                                            |
//+----------------------------------------------------------------------------+
double GetNearestDownFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
  bool f;
  int  fb, i, nb=-1;

  if (sy=="" || sy=="0") sy=Symbol();
  if (nl<1) nl=1;
  if (nr<1) nr=1;

  fb=nr;
  while (nb<0) {
    fb++;
    f=True;
    for (i=fb; i>fb-nr; i--) {
      if (iLow(sy, tf, i)>iLow(sy, tf, i-1)) { f=False; break; }
    }
    if (f) {
      for (i=fb; i<fb+nl; i++) {
        if (iLow(sy, tf, i)>iLow(sy, tf, i+1)) { f=False; break; }
      }
      if (f) { nb=fb; break; }
    }
  }

  return(iLow(sy, tf, nb));
}
 

GetNearestDownFractal()の使用例です。

  • 現在のチャートで最も近い底値フラクタルの価格水準。フラクタル式は2-2(標準)。
    Message(GetNearestDownFractal());
  • USDCAD H1チャートの直近の下降フラクタルの価格水準です。フラクタル式は4-2。
    Message(GetNearestDownFractal("USDCAD", PERIOD_H1, 4));
  • 現在のチャートで最も近い下フラクタル5-3の価格水準を通る水平線を 引く。
    double p=GetNearestDownFractal(NULL, 0, 5, 3);
    SetHLine(Red, "", p);

PS.関数GetNearestDownFractal()をテストするためのスクリプトを添付します。

ファイル:
 
KimIV писал (а)>>

GetNearestDownFractal()の使用例です。

  • 現在のチャートで最も近い底値フラクタルの価格水準。フラクタル式は2-2(標準)です。
  • USDCAD H1チャートの直近の下部フラクタルの価格水準。フラクタルの計算式は4-2です。
  • 現在のチャートで最も近い下フラクタル5-3の価格水準を通る水平線を引きます。

PS.GetNearestDownFractal()関数をテストするためのスクリプトを添付します。

最後のフラクタルだけでなく、検索が可能であれば..................うっ!!!?

 
Tsyrus писал (а)>>

最後のフラクタル以外も探せるようになれば........................うっ!!?

たとえば、直近の9小節のうち、形成されたばかりのフラクタル座標に対して値が≧1であるフラクタルに印をつけ、その値をフラクタル上部に表示するようにしましょう。助け舟を出して(あえて聞くこともしない)...。

 

そういうことを書ける一般的な能力に感心しています。私自身はアンダーパッチラマーです。MQLを学び始めたところです。

話が脱線してすみませんでしたー。

書き方がまだよくわからない。

1.1本と2本のバーのストキャスティックラインと、新たに0本が出現したときのシグナル機能を比較します。

(大雑把に言うと、ラインの上下方向と交差する方向を評価するため)

2.1時間/30分/15分おきに行う方法。

簡単な例を示してください!?

あるいは、似たようなもののリンクを教えてください。

無視してもいいから、よろしくお願いします!!!!

 
Domynus писал (а)>>

1.1本と2本のバーのストキャスティックラインと、新たに0本が形成されたときの同シグナル機能の比較。

(大雑把に言うと、ラインの上下方向と交差する方向を見極めるため)

2.1時間/30分/15分おきに行う方法。

簡単な例を示してください!?

あるいは、似たようなもののリンクを教えてください。

https://book.mql4.com/ru/samples/indicators
https://book.mql4.com/ru/build/conditions

 

ストキャスティックをありがとうございました。

ただ、他にできることがあるんじゃないかと思ったんです。

また、与えられた時間間隔に一度だけ取引を行うにはどうすればよいのでしょうか?

(例:15分、30分、60分に一度、信号の調査が行われる)

機能自体に興味がある。

 

GetNearestUpFractal()関数。

この関数は、最も近い上方向フラクタルを検索し、その価格水準を返す。この関数の特徴は、フラクタルに任意の数式を設定できることである。一般に受け入れられている標準的なフラクタル式は2-2である。左側に2本、右側に2本の小節という意味です。この機能を使えば、8-2(左が8本、右が2本)や5-3(左が5本、右が3本)など、非常にエキゾチックなフラクタル表現も可能です。この関数は、以下のオプションパラメータを受け付ける。

  • sy- 楽器の名称。"" またはNULL- 現在のシンボル。デフォルトはNULL
  • tf- タイムフレーム.初期値0- 現在のシンボル。
  • nl- 左側のバーの数.初期値は2 です。
  • nr- 右側のバーの数.初期値 -2.
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 07.10.2006                                                     |
//|  Описание : Возвращает ближайший верхний фрактал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (NULL - текущий символ)                 |
//|    tf - таймфрейм                  ( 0 - текущий таймфрейм)                |
//|    nl - количество баров слева                                             |
//|    nr - количество баров справа                                            |
//+----------------------------------------------------------------------------+
double GetNearestUpFractal(string sy="0", int tf=0, int nl=2, int nr=2) {
  bool f;
  int  fb, i, nb=-1;

  if (sy=="" || sy=="0") sy=Symbol();
  if (nl<1) nl=1;
  if (nr<1) nr=1;

  fb=nr;
  while (nb<0) {
    fb++;
    f=True;
    for (i=fb; i>fb-nr; i--) {
      if (iHigh(sy, tf, i)<iHigh(sy, tf, i-1)) { f=False; break; }
    }
    if (f) {
      for (i=fb; i<fb+nl; i++) {
        if (iHigh(sy, tf, i)<iHigh(sy, tf, i+1)) { f=False; break; }
      }
      if (f) { nb=fb; break; }
    }
  }

  return(iHigh(sy, tf, nb));
}