- Preismuster (Gartley, Schmetterling, Fledermaus,...)
- Multi-Timeframe-Indikatoren
- Wie programmiert man?
Kann die Funktion auf diese Weise vorgeschrieben werden? Aber die Farbe ändert sich nicht auf den einzelnen Ebenen kann es irgendwo einen Fehler geben oder sollte etwas anderes hinzugefügt werden???
int fibo(datetime X1, double Y1, datetime X2, double Y2)
{
ObjectCreate("Fibo", OBJ_FIBO, 0, 0, 0, 0); // Objekt der Fibonacci-Stufen erstellen
ObjectSet("Fibo",OBJPROP_COLOR,clrRed); // Farbe der Diagonale
//ObjectSet("Fibo",OBJPROP_LEVELCOLOR,clrBlue); //die Farbe der Ebenen ist die gleiche
//ObjectSetInteger(0, "Fibo",OBJPROP_BACK,true);//--- Anzeige im Vordergrund (false) oder im Hintergrund (true)
ObjectSet("Fibo",OBJPROP_FIBOLEVELS,13); //die Anzahl der Objektebenen festlegen
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+0,0.000);//den Wert jeder Objektstufe einstellen
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,0,0.000);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,0,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,0,STYLE_SOLID);//Linie
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,0,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",0, "0.000");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+1,0.146);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,1,0.146);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,1,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,1,STYLE_SOLID);//Zeile
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,1,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",1, "0.146");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+2,0.236);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,2,0.236);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,2,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,2,STYLE_SOLID);//Zeile
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,2,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",2, "0.236");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+3,0.382);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,3,0.382);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,3,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,3,STYLE_SOLID);//Linie
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,3,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",3, "0.382");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+4,0.5);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,4,0.5);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,4,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,4,STYLE_SOLID);//Linie
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,4,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",4, "0.5");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+5,0.618);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,5,0.618);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,5,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,5,STYLE_SOLID);//Linie
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,5,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",5, "0.618");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+6,0.764);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,6,0.764);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,6,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,6,STYLE_SOLID);//Linie
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,6,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",6, "0.764");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+7,1);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,7,1);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,7,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,7,STYLE_SOLID);//Zeile
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,7,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",7, "1");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+8,1.236);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,8,1.236);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,8,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,8,STYLE_SOLID);//Zeile
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,8,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",8, "1.236");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+9,1.618);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,9,1.618);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,9,clrGreen); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,9,STYLE_SOLID);//Zeile
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,9,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",9, "1.618");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+10,-0.236);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,10,-0.236);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,10,clrBlue); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,10,STYLE_SOLID);//Linie
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,10,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",10,"-0.236");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+11,-0.618);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,11,-0.618);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,11,clrBlue); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,11,STYLE_SOLID);//Zeile
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,11,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",11,"-0.618");
ObjectSet("Fibo",OBJPROP_FIRSTLEVEL+12,-1);
ObjectSetDouble(0, "Fibo",OBJPROP_LEVELVALUE,12,-1);
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELCOLOR,12,clrBlue); // Farbe der Ebene
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELSTYLE,12,STYLE_SOLID);//Zeile
ObjectSetInteger(0, "Fibo",OBJPROP_LEVELWIDTH,12,1); //--- Ebenendicke
ObjectSetFiboDescription("Fibo",12,"-1");
ObjectMove("Fibo", 1, X1, Y1);
ObjectMove("Fibo",0, X2, Y2);
zurück(0);
}
int fFiboLevels(string Prefix,int Number ,int Bar1,double Price1 ,int Bar2,double Price2 ,int Bar3,double Price3 ,color Цвет,color ЦветОтката ,int Видимость=0,int Толщина=1 ,int УровнейПродолжения=6,int УровнейОтката=5 ,int Стиль=STYLE_SOLID,int СтильУровня=STYLE_DOT ,bool Луч=false,bool Фон=false){ int Error; string Name; datetime Time1=Time[Bar1], Time2=Time[Bar2], Time3=Time[Bar3]; if( Bar1<=Bar2 || Bar2<=Bar3 || Bar3<1 || Price1<Zero || Price2<Zero || Price3<Zero || Price3-MathMax(Price1,Price2)>Zero || MathMin(Price1,Price2)-Price3>Zero ) return(MyError); Name=Prefix+"Targets "; if( Number>0 ) Name=Name+Number; if( ObjectFind(Name)>=0 ) { if( !ObjectDelete(Name) ) { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка удаления "+Error); return(Error); } } if( ObjectCreate(Name,OBJ_EXPANSION,0,Time1,Price1,Time2,Price2,Time3,Price3) ){ if( !ObjectSet(Name, OBJPROP_FIBOLEVELS, УровнейПродолжения) || !ObjectSet(Name, OBJPROP_COLOR, Цвет) || !ObjectSet(Name, OBJPROP_STYLE, Стиль) || !ObjectSet(Name, OBJPROP_WIDTH, Толщина) || !ObjectSet(Name, OBJPROP_TIMEFRAMES, Видимость) || !ObjectSet(Name, OBJPROP_LEVELCOLOR, Цвет) || !ObjectSet(Name, OBJPROP_LEVELSTYLE, СтильУровня) || !ObjectSet(Name, OBJPROP_RAY, Луч) || !ObjectSet(Name, OBJPROP_BACK, Фон) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+0, 1) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+1, 1.618) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+2, 2.618) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+3, 4.236) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+4, 6.854) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+5, 11.09) ){ Error=GetLastError(); PlaySound("alert.wav"); Print("**** "+Name+" - ошибка модификации параметров "+Error); } } else { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка "+Error); } Name=Prefix+"Recoils "; if( Number>0 ) Name=Name+Number; if( ObjectFind(Name)>=0 ) { if( !ObjectDelete(Name) ) { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка удаления "+Error); return(Error); } } if( ObjectCreate(Name,OBJ_FIBO,0,Time1,Price1,Time2,Price2) ){ if( !ObjectSet(Name, OBJPROP_FIBOLEVELS, УровнейОтката) || !ObjectSet(Name, OBJPROP_COLOR, Цвет) || !ObjectSet(Name, OBJPROP_STYLE, Стиль) || !ObjectSet(Name, OBJPROP_TIMEFRAMES, Видимость) || !ObjectSet(Name, OBJPROP_LEVELCOLOR, ЦветОтката) || !ObjectSet(Name, OBJPROP_LEVELSTYLE, СтильУровня) || !ObjectSet(Name, OBJPROP_RAY, false) || !ObjectSet(Name, OBJPROP_BACK, Фон) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+0, 0) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+1, 0.236) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+2, 0.382) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+3, 0.618) || !ObjectSet(Name, OBJPROP_FIRSTLEVEL+4, 1) ){ Error=GetLastError(); PlaySound("alert.wav"); Print("**** "+Name+" - ошибка модификации параметров "+Error); } } else { Error=GetLastError(); PlaySound("alert.wav"); Print("***** "+Name+" не создан, ошибка "+Error); } return(Error); }
Kann die Funktion auf diese Weise vorgeschrieben werden? Aber die Farbe ändert sich nicht auf den einzelnen Ebenen kann es irgendwo einen Fehler geben oder gibt es noch etwas hinzuzufügen???
Sind Sie auf der Suche nach einem Indikator oder einem Expert Advisor? Wenn Sie es für einen Expert Advisor verwenden, genügt es, die Werte dieser Ebenen zu berechnen.
Für den EA - Ich möchte verstehen, welche Funktion verwendet werden kann, um jede Ebene zu trennen, um einen Signalwert zuweisen? Meine Idee für ZigZag ist es, Koordinaten zu finden - der Expert Advisor zeichnet Fibonacci-Levels und von jedem Level (in einem Abstand, der etwas länger als der Spread ist) gehen wir zurück und setzen parallele Levels - wir nehmen sie als Grundlage für Entscheidungen, den Auftrag zu eröffnen.
Bei OBJ_FIBO ist die Farbe für alle Ebenen gleich. Wenn Sie wirklich verzweifelt sind, zeichnen Sie einfach OBJ_TRENDLINE in verschiedenen Farben.
Für den EA - Ich möchte verstehen, welche Funktion verwendet werden kann, um jede Ebene zu trennen, um einen Signalwert zuweisen? Meine Idee für ZigZag ist es, Koordinaten zu finden - der EA zeichnet Fibonacci-Levels und von jedem Level (in einem Abstand, der etwas länger als der Spread ist) gehen wir zurück und setzen parallele Levels - wir nehmen sie als Basis für Entscheidungen über die Eröffnung eines Auftrags.
Sie brauchen nichts zu trennen, nehmen Sie einfach die Formel und berechnen Sie jede Ebene direkt im EA, arbeiten Sie mit den erhaltenen Werten, warum brauchen Sie überhaupt Farben und Linien?
Suchen Sie nach einem Indikator oder nach einem EA? Für einen EA reicht es aus, die Werte dieser Ebenen zu berechnen, man braucht keine hübschen Farben.
Sie brauchen nichts zu trennen, Sie nehmen die Formel und berechnen jede Ebene direkt im EA, arbeiten mit den erhaltenen Werten, warum brauchen Sie überhaupt Farbe und Linien?
Oh, wie sieht die Formel aus, kann ich Ihnen ein Beispiel zeigen?
Wie sieht die Formel aus? Kann ich Ihnen ein Beispiel zeigen?
Nun, man kann es kaum als Formel bezeichnen: Wir nehmen den Mindest- und den Höchstpreis - 0 % und 100 % - und teilen sie durch die Niveaus, und ihre Werte sind überall angegeben - 23,6 %, 38,2 %, 50 %, 61,8 %, 161,8 % (oder 0,236, 0,382, 0,5, 0,618, 1,618 usw. durch 0,618, gerundet auf 3 Stellen).
für Preise von 1,3254 und 1,3896 etwa so:
direkt | umkehren | ||
161,80% Niveau: | 1.4293 | 0,0% Niveau: | 1.3896 |
100,0% Niveau: | 1.3896 | 23,60% Niveau: | 1.3744 |
61,8% Niveau: | 1.3651 | 38,2% Niveau: | 1.3651 |
50,0% Niveau: | 1.3575 | 50,0% Niveau: | 1.3575 |
38,2% Niveau: | 1.3499 | 61,8% Niveau: | 1.3499 |
23,6% Niveau: | 1.3406 | 100,0% Niveau: | 1.3254 |
0,0% Niveau: | 1.3254 | 161,8% Niveau: | 1.2857 |
Das heißt, (Preis(100%)-Preis(0%))*Level(in Tausend) + Preis(0%) für die Terminberechnung und Preis(100%) - (Preis(100%)-Preis(0%)) * Niveau (in Tausend) - für die umgekehrte Berechnung.
Für jeden Wert kann eine eigene Linie mit einer beliebigen Farbe aus der Palette Ihrer Wahl gezeichnet werden.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.