Ich werde den Indikator kostenlos schreiben - Seite 44

 

Hilfe zum Indikator


Ich möchte es so belassen, wie es ist, aber es auf zwei Puffer umstellen


#property indicator_separate_window

#Eigenschaft indicator_buffers 1

#property indicator_color1 DodgerBlue

#property indicator_maximum 1.4

#eigenschaft indicator_level1 0

#property indicator_minimum -1.2


//------- Externe Indikatorparameter -------------------------------

extern int CCI_Period_0 = 14; // CCI-Periode für den aktuellen Zeitrahmen

extern int Level_0 = 100; // CCI Level für die aktuelle TF

extern int TF_1 = 60; // Anzahl der Minuten im ersten Zeitfenster

extern int CCI_Period_1 = 14; // CCI-Periode für die erste TF

extern int Level_1 = 100; // CCI Level für die erste TF

extern int TF_2 = 240; // Anzahl der Minuten der zweiten TF

extern int CCI_Period_2 = 14; // CCI-Periode für die zweite TF

extern int Level_2 = 100; // CCI-Level für die zweite TF

extern int NumberOfBars = 10000; //Anzahl der Balken(0-all)


//------- Indikatorpuffer ------------------------------------------

double buf0[];

//+------------------------------------------------------------------+

//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |

//+------------------------------------------------------------------+

void init()

{

IndicatorDigits(1);


SetIndexPuffer(0,buf0);

SetIndexLabel(0, "i-3CCI-h");

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);

SetIndexEmptyValue(0,0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Deinitialisierungsfunktion |

//+------------------------------------------------------------------+

void deinit()

{

Kommentar(");

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

void start()

{

double cci0,cci1,cci2;

int nb1,nb2;

int LoopBegin,sh;


if(NumberOfBars==0) LoopBegin=Bars-1;

sonst LoopBegin=AnzahlTakte-1;

SchleifenBeginn=MathMin(Balken-1,SchleifenBeginn);


for(sh=LoopBegin; sh>=0; sh--)

{

nb1=iBarShift(NULL, TF_1, Time[sh], False);

nb2=iBarShift(NULL, TF_2, Time[sh], False);


cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);

cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);

cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);


if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf0[sh]=1;

if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf0[sh]=-1;

}

}

//+------------------------------------------------------------------+


Ich habe es selbst versucht, bisher ohne Erfolg.

hat es so versucht


#property indicator_separate_window

#Eigenschaft indicator_buffers 2

#property indicator_color1 Grün

#Eigenschaft indicator_color2 Rot

#property indicator_maximum 1.4

#eigenschaft indicator_level1 0

#property indicator_minimum -1.2


//------- Externe Indikatorparameter -------------------------------

extern int CCI_Period_0 = 14; // CCI-Periode für den aktuellen Zeitrahmen

extern int Level_0 = 100; // CCI Level für die aktuelle TF

extern int TF_1 = 60; // Anzahl der Minuten im ersten Zeitfenster

extern int CCI_Period_1 = 14; // CCI-Periode für die erste TF

extern int Level_1 = 100; // CCI Level für die erste TF

extern int TF_2 = 240; // Anzahl der Minuten der zweiten TF

extern int CCI_Period_2 = 14; // CCI-Periode für die zweite TF

extern int Level_2 = 100; // CCI-Level für die zweite TF

extern int NumberOfBars = 10000; //Anzahl der Balken(0-all)


//------- Indikatorpuffer ------------------------------------------

double ExtBuffer1[];

double ExtBuffer2[];

//+------------------------------------------------------------------+

//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |

//+------------------------------------------------------------------+

void init()

{

SetIndexPuffer(0,ExtPuffer1);

SetIndexStyle(0,DRAW_HISTOGRAM,0,2);

//----

SetIndexPuffer(1, ExtPuffer2);

SetIndexStyle(1,DRAW_HISTOGRAM,0,2);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Deinitialisierungsfunktion |

//+------------------------------------------------------------------+

void deinit()

{

Kommentar(");

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

void start()

{

double cci0,cci1,cci2;

int nb1,nb2;

int LoopBegin,sh;


if(NumberOfBars==0) LoopBegin=Bars-1;

sonst LoopBegin=AnzahlTakte-1;

SchleifenBeginn=MathMin(Balken-1,SchleifenBeginn);


for(sh=LoopBegin; sh>=0; sh--)

for(st=LoopBegin; st<0; st--)

{

nb1=iBarShift(NULL, TF_1, Time[sh], False);

nb2=iBarShift(NULL, TF_2, Time[st], False);


cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh);

cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1);

cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2);


if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf1[sh]=1;

if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf2[st]=-1;



der Fehler ist


Letztendlich brauchen wir zwei Puffer, einen über und einen unter Null.


Dateien:
12121.jpg  42 kb
ere.mq4  6 kb
 

Lieber koziabrrr !!! Sie haben Ihr eigenes Thema erstellt. Es gibt mehr Themen. Was ist, wenn jemand nach einem Thema sucht? Und es gibt so viele Themen, dass es schwer ist, sie zu finden. Um es einfacher zu machen, Thema für Thema. Das oberste Thema ist für die Unterstützung von Neulingen gedacht. Das ist der richtige Ort für Ihre Frage. Erstellt Thema löschen, und dort schreiben unter Berücksichtigung meiner Kommentare!!! Dann haben Sie auch in diesem Thread geschrieben - nun, das ist Größenwahn, übertriebene Meinung über den Wert seiner Person

Um Aufmerksamkeit zu erregen, müssen Sie die Aufgabe erklären. 1. Wie sieht der Indikator aus = Screenshot. 2. Was macht der Indikator, wozu dient er (Einstiegspunkte werden angezeigt, Trend, Flat, ...). 3) Warum brauchen wir zwei Puffer? Was ist nützlicher für sie (es zeigt besser den Trend, die Wohnung, Einstiegspunkte)? Dann werden sich alle darauf stürzen, es zu verfeinern!!!! .... Das ist gut für sie und für Sie! Wir sollten Freunde sein, teilen

 

Hier ist eine Neuauflage. Es scheint sich ein Trend abzuzeichnen. Aber das ist Betrug.

In einer halben Stunde werden wir wissen, dass wir hätten verkaufen sollen...

Und dass es Zeit ist, zu kaufen - es ist still...

 
So etwas wäre besser:

oder MAinColor irgendeiner Art

 
STARIJ:

Hier ist eine Neuauflage. Es scheint sich ein Trend abzuzeichnen. Aber das ist Betrug.

In einer halben Stunde werden wir wissen, dass wir hätten verkaufen sollen...

Und dass es Zeit ist zu kaufen - es ist still...


Ja, es sieht besser aus, danke für die Neugestaltung. Aber ich verstehe immer noch nicht, wie)))

 
koziabrrr: Ja, es sieht besser aus, danke für die Neugestaltung. Aber ich verstehe immer noch nicht, wie))
#property indicator_buffers 2
#property indicator_color2 Tomato
double buf0[], buf1[];  //------- Буферы индикатора ------   добавил второй буфер
void init() 
  {
..................
   SetIndexBuffer(1,buf1);
   SetIndexLabel(1,"Вниз");
   SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2);
   SetIndexEmptyValue(1,0);
  }

void start() 
  {
....................
..................

      buf0[sh]=0;buf1[sh]=0;
      if(cci0>Level_0 && cci1>Level_1 && cci2>Level_2) buf0[sh]=1;
      if(cci0<-Level_0 && cci1<-Level_1 && cci2<-Level_2) buf1[sh]=-1;
    }
}
 
STARIJ:

STARIJ:

Ich versuche es, aber ich kriege das Ganze nicht auf die Reihe. Es ist gut, wenn man das Problem kennt, aber wenn man es nicht kennt, ist jede Kleinigkeit ein Tag.

 
koziabrrr:


Ich versuche es, aber ich kriege das Ganze nicht auf die Reihe. Es ist gut, wenn man das Problem kennt, aber wenn man es nicht kennt, ist jede Kleinigkeit ein Tag.

... Und jeder Tag ist eine unschätzbare Erfahrung, die man nur durch eigene Arbeit machen kann - nicht durch eine Forenlösung.
 
Artyom Trishkin:
... Und jeder Tag ist eine unschätzbare Erfahrung, die nur durch die eigene Arbeit entsteht - nicht durch eine Entscheidung in einem Forum.

Das ist Ja!


STARIJ: Danke für Ihre Hilfe!!!!


Das Problem ist gelöst)))

 

Hallo Juri.

Beschreibung des Indikators: ab 3 Kerzen, die auf dem gleichen Niveau oder fast auf dem gleichen Niveau gehalten werden, wird eine Warnung per E-Mail und ein Ton ausgegeben. Außerdem wurden das Instrument und der Zeitrahmen auf dem Bildschirm angezeigt, bis ich den Vorgang abbrach. Sehen Sie sich bitte die beigefügten Dateien an, dort finden Sie Beispiele

Dateien:
11.png  25 kb
12.png  24 kb
13.png  24 kb
14.png  27 kb