und werden Sie Mitglied unserer Fangruppe
Veröffentliche einen Link auf das Skript, damit die anderen ihn auch nutzen können
Bewerten Sie es im Terminal MetaTrader 5
- Ansichten:
- 993
- Rating:
- Veröffentlicht:
- 2017.02.07 14:56
-
Benötigen Sie einen Roboter oder Indikator, der auf diesem Code basiert? Bestellen Sie ihn im Freelance-Bereich Zum Freelance
Der Indikator Color Day zeichnet mit einer Farbe eines Stier- oder Bärentages.
Wenn der Exit-Preis des Tages mehr als der Preis der Eröffnung ist, färben wir es mit der blauen Farbe (es wird in Einstellungen gegeben).
input color UP = Blue; // Die Farbe eines Stiertages
Wenn der Exit-Preis des Tages weniger als der Preis der Eröffnung ist, färben wir es mit der roten Farbe (es wird in Einstellungen gegeben).
input color DN = Red; // Die Farbe eines Bärentages
Wir kopieren die Preise der Eröffnung, der Schließung und die Zeit der Eröffnung für die angegebene Zahl der Tage Days:
CopyTime(NULL,PERIOD_D1,0,Days+1,tm); CopyOpen(NULL,PERIOD_D1,0,Days+1,op); CopyClose(NULL,PERIOD_D1,0,Days+1,cl);
in die entsprechenden Arrays:
datetime tm[]; double op[]; double cl[];
Vor der Setzung des Indikators auf das Chart werden wir die Dimension der Arrays geben:
int OnInit() { //--- indicator buffers mapping Comment(""); ArrayResize(tm,Days); ArrayResize(op,Days); ArrayResize(cl,Days); //--- return(INIT_SUCCEEDED); }
Wir ordnen der Variablen die Werte der Arrays-Zellen zu und wir bestimmen die Schließungszeit des Tages time1:
datetime time0=tm[i]; datetime time1=time0+3600*24; double dopen=op[i]; double dclose=cl[i];
Mit Hilfe der Funktion PutRect():
void PutRect(string name,datetime t1,double p1,datetime t2,double p2,color clr) { ObjectDelete(0,name); //--- wir erstellen das Rechteck nach den aufgegebenen Koordinaten ObjectCreate(0,name,OBJ_RECTANGLE,0,t1,p1,t2,p2); //--- wir setzen die Farbe des Rechteckes ObjectSetInteger(0,name,OBJPROP_COLOR,clr); //--- Wir aktivieren (true) oder deaktivieren (false) die Ausfüllung des Rechteckes ObjectSetInteger(0,name,OBJPROP_FILL,true); }
Wir werden den Tag je nachdem färben, wohin der Preis gegangen ist:
if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,DN); if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,UP);
In der Loop bearbeiten wir alle Tage, die in den Einstellungen Days eingegeben sind:
for(int i=0;i<=Days;i++) { CopyTime(NULL,PERIOD_D1,0,Days+1,tm); CopyOpen(NULL,PERIOD_D1,0,Days+1,op); CopyClose(NULL,PERIOD_D1,0,Days+1,cl); datetime time0=tm[i]; datetime time1=time0+3600*24; double dopen=op[i]; double dclose=cl[i]; if(dclose<dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,DN); if(dclose>dopen) PutRect("Rect"+(string)dopen,time0,dopen,time1,dclose,UP);
Bei der Entfernung des Indikators vom Chart, mit Hilfe der Funktion DeleteObjects():
void DeleteObjects() { for(int i=ObjectsTotal(0,0,OBJ_RECTANGLE)-1;i>=0;i--) { string name=ObjectName(0,i,0,OBJ_RECTANGLE); if(StringFind(name,"Rect",0)>=0) ObjectDelete(0,name); } }
Wir entfernen die erstellten Objekte vom Chart:
void OnDeinit(const int reason) { Comment(""); DeleteObjects(); }
Einstellungen:
input int Days = 11; // Die Tage für die Berechnung input color UP = Blue; // Die Farbe eines Stiertages input color DN = Red; // Die Farbe eines Bärentages
in Abb 1. Der Indikator im Chart
Tipps:
- Der Indikator Color Day — der visuelle Helfer beim Handeln.
Übersetzt aus dem Russischen von MetaQuotes Ltd.
Originalpublikation: https://www.mql5.com/ru/code/16383

Der glättende schnelle digitale Filter JSatl mit der Anzeige des letzten Wertes in Form von einer Preismarkierung und mit der Möglichkeit, die Ebene des Indikators zur erforderlichen Anzahl der Ordnung abzurunden.

Das Handelssystem, welches aufgrund der Signale des Indikators JSatl_Digit_System gebaut wurde.

Die kurzfristige und accumulation Indexe der Preisschwankung.

Der Indikator zeigt die Kraft der "Stiere" und "Bären" nach einer einfachen Weise in einem Fenster.