aber warum ObjectCreate(_Symbol, "supportLine",OBJ_HLINE,0,pArray[candleLow].time,pArray[candleLow].low, pArray[0].time,pArray[0].low); ?
genug ObjectCreate(_Symbol, "supportLine",OBJ_HLINE,0,pArray[candleLow].time,pArray[candleLow].low);
genug ObjectCreate(_Symbol, "supportLine",OBJ_HLINE,0,pArray[candleLow].time,pArray[candleLow].low);
MetaQuotes:
Der Artikel"Wie man mit MQL5-Tools mit Linien arbeitet" wurde veröffentlicht:
Autor: Mohamed Abdelmaaboud
Dies ist ein interessanter Artikel für Anfänger, aber für die korrekte Arbeit von Expert Advisors ist eine kleine Änderung der Codes erforderlich.
Mit freundlichen Grüßen, Vladimir.
//+------------------------------------------------------------------+ //|AufwärtsTrendlinie System.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles = (int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pLow[]; ArraySetAsSeries(pLow,true); int copy_low = CopyLow(_Symbol,_Period,0,candles,pLow); if(copy_low>0) { int candleLow = ArrayMinimum(pLow,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"UpwardTrendline"); ObjectCreate(0,"UpwardTrendline",OBJ_TREND,0,pArray[candleLow].time,pArray[candleLow].low, pArray[0].time,pArray[0].low); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_COLOR,Blue); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_WIDTH,3); ObjectSetInteger(0,"UpwardTrendline",OBJPROP_RAY_RIGHT,true); } } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //|AbwärtsTrendlinie System.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles = (int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pHigh[]; ArraySetAsSeries(pHigh,true); int copy_high = CopyHigh(_Symbol,_Period,0,candles,pHigh); if(copy_high>0) { int candleHigh = ArrayMaximum(pHigh,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"DnwardTrendline"); ObjectCreate(0,"DnwardTrendline",OBJ_TREND,0,pArray[candleHigh].time,pArray[candleHigh].high, pArray[0].time,pArray[0].high); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_COLOR,Blue); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_WIDTH,3); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_RAY_RIGHT,true); } } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //|Support Line System.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles = (int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pLow[]; ArraySetAsSeries(pLow,true); int copy_low = CopyLow(_Symbol,_Period,0,candles,pLow); if(copy_low>0) { int candleLow = ArrayMinimum(pLow,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"supportLine"); ObjectCreate(0,"supportLine",OBJ_HLINE,0,pArray[candleLow].time,pArray[candleLow].low, pArray[0].time,pArray[0].low); ObjectSetInteger(0,"supportLine",OBJPROP_COLOR,Green); ObjectSetInteger(0,"supportLine",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"supportLine",OBJPROP_WIDTH,3); ObjectSetInteger(0,"supportLine",OBJPROP_RAY,true); } } //+------------------------------------------------------------------+
//+------------------------------------------------------------------+ //|Widerstandsliniensystem.mq5 | //+------------------------------------------------------------------+ void OnTick() { int candles=(int)ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0); double pHigh[]; ArraySetAsSeries(pHigh,true); int copy_high = CopyHigh(_Symbol,_Period,0,candles,pHigh); if(copy_high>0) { int candleHigh = ArrayMaximum(pHigh,0,candles); MqlRates pArray[]; ArraySetAsSeries(pArray,true); int Data = CopyRates(_Symbol,_Period,0,candles,pArray); ObjectDelete(0,"resistanceLine"); ObjectCreate(0,"resistanceLine",OBJ_HLINE,0,pArray[candleHigh].time,pArray[candleHigh].high, pArray[0].time,pArray[0].high); ObjectSetInteger(0,"resistanceLine",OBJPROP_COLOR,Red); ObjectSetInteger(0,"resistanceLine",OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,"resistanceLine",OBJPROP_WIDTH,3); ObjectSetInteger(0,"DnwardTrendline",OBJPROP_RAY_RIGHT,true); } } //+------------------------------------------------------------------+
Die Art und Weise, wie Sie die Linie gezeichnet haben, ist sehr schön. Eine Bemerkung zu Trendlinien: Es nützt nicht viel, wenn der zweite Ankerpunkt immer der 0-Index-Balken ist, weil mit jedem neuen Balken die Trendlinie aktualisiert wird und die Trendlinie somit nutzlos ist. Ideal wäre es, den zweiten Ankerpunkt anhand eines bestimmten Kriteriums zu definieren. Zum Beispiel der zweite Balken mit dem höchsten Preis, mit einem Mindestabstand von 30 Balken zum ersten, oder der Balken mit dem höchsten Preis am nächsten Tag usw.
Herzlichen Glückwunsch zu diesem Artikel.
Herzlichen Glückwunsch zu diesem Artikel.
Andrei Pereira Trendlinien: Es nützt nicht viel, wenn der zweite Ankerpunkt immer der 0-Index-Balken ist, weil mit jedem neuen Balken die Trendlinie aktualisiert wird und die Trendlinie somit nutzlos ist. Ideal wäre es, den zweiten Ankerpunkt anhand eines bestimmten Kriteriums zu definieren. Zum Beispiel der zweite Balken mit dem höchsten Preis, mit einem Mindestabstand von 30 Balken zum ersten, oder der Balken mit dem höchsten Preis am nächsten Tag usw.
Herzlichen Glückwunsch zu diesem Artikel.
Herzlichen Glückwunsch zu diesem Artikel.
Vielen Dank für Ihren Kommentar, das ist eine gute Beobachtung.

Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Neuer Artikel Verwenden von Linien in MQL5 :
In diesem Artikel erfahren Sie, wie Sie mit den wichtigsten Linien wie Trendlinien, Unterstützung und Widerstand von MQL5 verwenden können.
Wir können die Trendlinie beim Handel verwenden, indem wir unsere Aufträge auf der Grundlage des Trendlinientyps platzieren. Wenn es eine Aufwärtstrendlinie gibt, können wir erwarten, dass der Preis sich nach unten bewegt, um diese Trendlinie von oben zu testen und dann wieder nach oben zu steigen, und dann können wir unseren Kaufauftrag in der Nähe dieser Trendlinie platzieren. Umgekehrt, wenn es eine Abwärtstrendlinie gibt, kann es sein, dass der Preis sich nach oben bewegt, um diese Trendlinie von unten zu testen und dann nach unten abprallt, und dann können wir unseren Verkaufs- oder Leerverkaufsauftrag nahe dieser Abwärtstrendlinie platzieren.
Die folgenden Angaben beziehen sich auf die Aufwärtstrendlinie:
Wir können sehen, dass es in der vorherigen Abbildung klar ist, dass wir eine Aufwärtsbewegung haben, und wenn wir versuchen, eine Verbindung zwischen den letzten drei Tiefs herzustellen, können wir feststellen, dass sie auf der gleichen Linie nach oben verlaufen.
Autor: Mohamed Abdelmaaboud