Caratteristiche utili da KimIV - pagina 43

 
Tsyrus писал (а) >>

QUESTO È TUTTO!!!!!

>> GRAZIE !

 

Igor, c'è un buon indicatore che può combinare diverse candele in una sola. Ma funziona solo sul grafico orario. È possibile renderlo universale?

Vorrei ringraziarvi.

 

Funzione GetNearestDownFractal().

Questa funzione cerca il frattale inferiore più vicino e restituisce il suo livello di prezzo. La particolarità di questa funzione è la possibilità di impostare una formula arbitraria per il frattale. La formula frattale standard, generalmente accettata, è 2-2. Significa 2 barre a sinistra e 2 barre a destra. Con questa funzione, si possono eseguire anche frattali molto esotici, come 8-2 (8 barre a sinistra e 2 a destra) o 5-3 (5 barre a sinistra e 3 a destra) e così via. La funzione accetta i seguenti parametri opzionali:

  • sy - Nome dello strumento. "" o NULL - simbolo corrente. Il valore predefinito è NULL.
  • tf - Timeframe. Valore predefinito 0 - simbolo corrente.
  • nl - Numero di barre rimaste. Il valore predefinito è 2.
  • nr - Numero di barre sulla destra. L'impostazione predefinita è 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));
}
 

Esempi di come usare GetNearestDownFractal().

  • Il livello di prezzo del frattale inferiore più vicino sul grafico corrente. La formula frattale è 2-2 (standard).
    Message(GetNearestDownFractal());
  • Il livello di prezzo del frattale inferiore più vicino sul grafico H1 di USDCAD. La formula frattale è 4-2.
    Message(GetNearestDownFractal("USDCAD", PERIOD_H1, 4));
  • Disegna una linea orizzontale attraverso il livello di prezzo del frattale inferiore più vicino 5-3 sul grafico corrente.
    double p=GetNearestDownFractal(NULL, 0, 5, 3);
    SetHLine(Red, "", p);

PS. In allegato c'è uno script per testare la funzione GetNearestDownFractal().

 
KimIV писал (а) >>

Esempi di come usare GetNearestDownFractal().

  • Il livello di prezzo del frattale inferiore più vicino sul grafico corrente. La formula frattale è 2-2 (standard).
  • Livello di prezzo del frattale inferiore più vicino sul grafico H1 di USDCAD. La formula del frattale è 4-2.
  • Disegna una linea orizzontale attraverso il livello di prezzo del frattale inferiore più vicino 5-3 sul grafico corrente.

PS. In allegato c'è uno script per testare la funzione GetNearestDownFractal().

Se solo fosse possibile cercare non solo l'ultimo frattale...................UH!!!

 
Tsyrus писал (а) >>

Se solo fosse possibile cercare più dell'ultimo frattale...................UH!!!

Sì. Per esempio, segna (con una linea verticale) tutti i frattali (durante le ultime 9 barre) che hanno valore >= 1 in relazione alla coordinata del frattale appena formato e visualizza questo valore sopra il frattale. A titolo di aiuto (non oso nemmeno chiedere) ....

 

Ammiro la sua capacità generale di scrivere queste cose. Anch'io sono un lamer sottopagato. Ho appena iniziato a imparare MQL.

Scusa se ho divagato dall'argomento!

Non capisco come scrivere:

1. Confronta la linea stocastica per 1 e 2 barre e la sua funzione di segnale quando appare una nuova barra 0.

(approssimativamente, per valutare la direzione del movimento della linea su e giù e attraversandoli)

2. Come farlo ogni ora/mezza ora/15 minuti.

Per favore, mostratemi un esempio semplice?

O dare un link a qualcosa di simile.

Grazie in anticipo, anche se lo ignorate!!!

 
Domynus писал (а) >>

1. Confronto della linea stocastica per 1 e 2 barre e la sua stessa funzione di segnale quando si forma una nuova barra 0.

(approssimativamente, per valutare la direzione del movimento della linea su e giù e che li attraversa)

2. Come farlo ogni ora/mezza ora/15 minuti.

Per favore, mostratemi un esempio semplice?

O dare un link a qualcosa di simile.

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

 

Grazie per lo stocastico.

Ho solo pensato che c'era qualcos'altro che potevo fare.

E come fare un trade solo una volta in un dato intervallo di tempo?

(ad esempio, l'indagine del segnale avviene una volta ogni 15, 30 o 60 minuti)

Interessato alla funzione stessa.

 

Funzione GetNearestUpFractal().

Questa funzione cerca il frattale verso l'alto più vicino e restituisce il suo livello di prezzo. La particolarità di questa funzione è la possibilità di impostare una formula arbitraria per il frattale. La formula frattale standard, generalmente accettata, è 2-2. Significa 2 barre a sinistra e 2 barre a destra. Con questa funzione, si possono eseguire anche frattali molto esotici, come 8-2 (8 barre a sinistra e 2 a destra) o 5-3 (5 barre a sinistra e 3 a destra) e così via. La funzione accetta i seguenti parametri opzionali:

  • sy - Nome dello strumento. "" o NULL - simbolo corrente. Il valore predefinito è NULL.
  • tf - Timeframe. Valore predefinito 0 - simbolo corrente.
  • nl - Numero di barre a sinistra. Il valore predefinito è 2.
  • nr - Numero di barre sulla destra. Valore predefinito - 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));
}
Motivazione: