Hi,
ich möchte mir gerne bei einem Ver-/Kaufsignal einen Pfeil ins Chart einzeichnen lassen.
Leider habe ich trotz der Bibliotheken, YouTube etc. noch keine richtige Hilfe gefunden.
Ich möchte, dass bei jedem neuen Signal, ein Pfeil eingezeichnet wird (und die vorherigen PFeile natürlich bestehen bleiben).
Hier mal der ganz einfache Code
Verwendest Du einen Namen erneut, schlägt das fehl (steht auch in der Dok: Kursor auf ObjevtCreate stellen und F1 drücken), also erstelle den Namen mit zB. "buy "+TimeToString(TimeCurent(), TIME_DATE|TIME_MINUTES). (ungetestet)
Verwendest Du einen Namen erneut, schlägt das fehl (steht auch in der Dok: Kursor auf ObjevtCreate stellen und F1 drücken), also erstelle den Namen mit zB. "buy "+TimeToString(TimeCurent(), TIME_DATE|TIME_MINUTES). (ungetestet)
Spitze, vielen Dank !
noch eine weitere Frage...
hast du einen Tipp wie der Code lauten würde wenn ich nur bei einem Signalwechsel einen neuen Pfeil möchte?
In etwa:
if(lastObject==OBJ_ARROW_UP && signal=="verkaufen") ObjectCreate(0,"ObjectSELL, "+TimeToString(TimeCurrent()),OBJ_ARROW_DOWN,0,TimeCurrent(),Bid) else if(lastObject==OBJ_ARROW_DOWN && signal=="kaufen") ObjectCreate(0,"ObjectBUY, " +TimeToString(TimeCurrent()),OBJ_ARROW_UP,0,TimeCurrent(),Ask);
Du musst dir überlegen, wann ein signal geheichnet werden soll und dieses dann so einprogrammieren.
ja das ist klar, aber es kann ja auch 2-3x hinter einander BUY sein, ich möchte aber nur dass er dann einen neuen Pfeil einzeichnet, wenn das neue Siganl != dem vorherigen war
Zb wenn der Preis über MovingAverage ist, dann würde er bei jeder neuen Kerze oder Tick erneut einen BUY Pfeil einzeichnen.... das überlagert dann das Chart...deswegen nur dann wenn der neue Pfeil != dem alten Pfeil wäre
Mach eine Statusvariable (Kauf, Verkauf) und zeichne einen neuen Pfeil dann, wenn er dem Status widerspricht.
verstehe leider nicht wie der Code dann wäre
Ich habe jetzt folgenden Code:
double MovingAverage = iMA(_Symbol,_Period,50,0,MODE_EMA,PRICE_CLOSE,0); static string signal=""; if(Close[1]>MovingAverage) signal="kaufen"; if(Close[1]<MovingAverage) signal="verkaufen"; if(signal == "kaufen") ObjectCreate(0,"BUY, "+TimeToString(TimeCurrent()),OBJ_ARROW_UP,0,TimeCurrent(),Ask); if(signal == "verkaufen") ObjectCreate(0,"SELL,"+TimeToString(TimeCurrent()),OBJ_ARROW_DOWN,0,TimeCurrent(),Bid);
Daher die Fragen
1) kann man auch Objekte sowie Orders wählen und einen Wert/Eigenschaft zurückgeben lassen (zB ObjectSelect()-1..., lastObject = OBJ_Type())
2) zeichne nur, wenn das Signal ungleich dem bisherigen Signal ist
verstehe leider nicht wie der Code dann wäre
Ich habe jetzt folgenden Code:
Daher die Fragen
1) kann man auch Objekte sowie Orders wählen und einen Wert/Eigenschaft zurückgeben lassen (zB ObjectSelect()-1..., lastObject = OBJ_Type())
2) zeichne nur, wenn das Signal ungleich dem bisherigen Signal ist
static ENUM_ORDER_TYPE lastSig = ORDER_TYPE_CLOSE_BY; //ORDER_TYPE_CLOSE_BY=undef hilfsweise ... actSig = ... if ( actSig != lastSig ) { //paint lastSig = actSig; }
ungetestet, wäre doch ganz einfach.
ungetestet, wäre doch ganz einfach.
double MovingAverage = iMA(_Symbol,_Period,50,0,MODE_EMA,PRICE_CLOSE,0); static string signal; if(Close[1]>MovingAverage) signal="kaufen"; if(Close[1]<MovingAverage) signal="verkaufen"; //===============================================================================================================================================================================================================================================================================================================================// Ver-/Kauf Pfeile einzeichnen static string Old_signal; // //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// if(signal=="kaufen" && signal != Old_signal) {ObjectCreate(0,"BUY, "+TimeToString(TimeCurrent()),OBJ_ARROW_UP,0,TimeCurrent(),Low[1]-MathAbs(High[1]-Low[1])); ObjectSetInteger(0,"BUY, "+TimeToString(TimeCurrent()),OBJPROP_WIDTH,7); ObjectSetInteger(0,"BUY, "+TimeToString(TimeCurrent()),OBJPROP_COLOR,clrGreen);} // if(signal=="verkaufen" && signal != Old_signal) {ObjectCreate(0,"SELL,"+TimeToString(TimeCurrent()),OBJ_ARROW_DOWN,0,TimeCurrent(),High[1]+MathAbs(High[1]-Low[1])); ObjectSetInteger(0,"SELL,"+TimeToString(TimeCurrent()),OBJPROP_WIDTH,7); ObjectSetInteger(0,"BUY, "+TimeToString(TimeCurrent()),OBJPROP_COLOR,clrRed);} // //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------// if(signal != Old_signal) Old_signal = signal; // //===============================================================================================================================================================================================================================================================================================================================//
- 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.
Hi,
ich möchte mir gerne bei einem Ver-/Kaufsignal einen Pfeil ins Chart einzeichnen lassen.
Leider habe ich trotz der Bibliotheken, YouTube etc. noch keine richtige Hilfe gefunden.
Ich möchte, dass bei jedem neuen Signal, ein Pfeil eingezeichnet wird (und die vorherigen PFeile natürlich bestehen bleiben).
Hier mal der ganz einfache Code