Indikatoren: Support and Resistance

 

Support and Resistance:

The "Support and Resistance" indicator shows the support and resistance levels using the Fractals Indikator von Bill Williams.

Unterstützungs- und Widerstandsebenen Indikator

Autor: Nikolay Kositsin

 

Der Indikator funktioniert nicht richtig. Die Niveaus werden nur in der Historie korrekt wiedergegeben, wenn neue Balken erscheinen, werden sie nicht verfolgt.

In der Abbildung: die rote Linie, der Zeitpunkt, an dem der Indikator an das Diagramm angehängt wurde. Auf der linken Seite ist alles korrekt, auf der rechten Seite nicht.

Richtig und falsch

 
gdtt:

Der Indikator funktioniert nicht richtig. Die Niveaus werden nur in der Historie korrekt wiedergegeben, wenn neue Balken erscheinen, werden sie nicht verfolgt.

In der Abbildung: die rote Linie, der Zeitpunkt, an dem der Indikator an das Diagramm angehängt wurde. Auf der linken Seite ist alles korrekt, auf der rechten Seite nicht.

Ach ja, ich hatte ganz vergessen, dass Fraktal ein Truthahn ist, der rückwirkend zählt! Bringen wir das in Ordnung!
 

Seit dem letzten Update von MT5 ist dieser Indikator kaputt. Er druckt nur noch Punkte auf das Hoch und Tief jeder Kerze.

Was ist los?

 
yohmm:

Seit dem letzten Update von MT5 ist dieser Indikator kaputt. Er druckt nur noch Punkte auf das Hoch und Tief jeder Kerze.

Was ist da los?

Dieser Indikator funktioniert normal. Build 1016.
 

Ja, ich habe Build 1016. Ich habe den Indikator erneut heruntergeladen und mit 0 Fehlern und 0 Warnungen neu kompiliert. Funktioniert immer noch nicht, zeigt nur die Punkte auf dem Hoch und Tief.

Aber das ist in Ordnung, ich verwende jetzt stattdessen das Fibo-Retracement oder zeichne s/r-Levels selbst.

 
yohmm:

Ja, ich habe Build 1016. Ich habe den Indikator erneut heruntergeladen und mit 0 Fehlern und 0 Warnungen neu kompiliert. Funktioniert immer noch nicht, zeigt nur die Punkte auf dem Hoch und Tief.

Aber das ist in Ordnung, ich verwende jetzt stattdessen das Fibo-Retracement oder zeichne selbst S/R-Levels.

Können Sie den Chart hochladen?
 
belido:
Können Sie das Diagramm hochladen?

Sicher, hier ist er:

MetaTrader Handelsplattform Screenshots

EURUSD, M5, 2014.11.28

MetaQuotes Software Corp., MetaTrader 5, Demo

temp_datei_bildschirmfoto_27398.png

EURUSD, M5, 2014.11.28, MetaQuotes Software Corp., MetaTrader 5, Demo


 
ich habe das gleiche Problem! eine Neuinstallation von Metatrader hilft auch nicht weiter...:-(
Dateien:
sup.png  36 kb
 

Versuchen Sie dies


//+------------------------------------------------------------------+
//|Unterstützung und Widerstand.mq5 |
//|Urheberrecht © 2005, Dmitry |
//|Update Dez 2014 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/"
//---- Version
#property version   "1.01"
//---- Indikator im Diagrammfenster
#property indicator_chart_window 
//---- 2 Indikatorpuffer werden verwendet
#property indicator_buffers 2
//---- 2 grafische Darstellungen werden verwendet
#property indicator_plots   2
//+----------------------------------------------+
//| Optionen für bärische Indikatoren |
//+----------------------------------------------+
//---- Zeichnungstyp als Pfeil
#property indicator_type1   DRAW_ARROW
//---- Farbe Magenta
#property indicator_color1  Magenta
//---- Zeilenbreite
#property indicator_width1  1
//---- Förderkennzeichen
#property indicator_label1  "Support"
//+----------------------------------------------+
//| Optionen für bullische Indikatoren |
//+----------------------------------------------+
//---- Zeichnungstyp als Pfeil
#property indicator_type2   DRAW_ARROW
//---- Kalkfarbe
#property indicator_color2  Lime
//---- Zeilenbreite
#property indicator_width2  1
//---- Widerstandsetikett
#property indicator_label2 "Resistance"

//+----------------------------------------------+
//| Indikator-Eingabeparameter |
//+----------------------------------------------+
//Eingabe int iPeriod=70; // ATR-Periode
//+----------------------------------------------+

//---- Deklaration von dynamischen Arrays, die als Indikatorpuffer verwendet werden
double SellBuffer[];
double BuyBuffer[];
//---
int StartBars;
int FRA_Handle;
//+------------------------------------------------------------------+
//| Benutzerdefinierte Initialisierungsfunktion für Indikatoren |
//+------------------------------------------------------------------+
void OnInit()
  {
//---- Initialisierung von globalen Variablen
   StartBars=6;
//---- liefert Handle des iFractals-Indikators
   FRA_Handle=iFractals(NULL,0);
   if(FRA_Handle==INVALID_HANDLE)Print(" INVALID_HANDLE FRA");

//---- setzt SellBuffer als Indikatorpuffer
   SetIndexBuffer(0,SellBuffer,INDICATOR_DATA);
//---- indxex des Anfangsbalkens für die Darstellung festlegen
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,StartBars);
//---- Label für Unterstützung einstellen
   PlotIndexSetString(0,PLOT_LABEL,"Support");
//---- Pfeilzeichencode einstellen
   PlotIndexSetInteger(0,PLOT_ARROW,159);
//---- Indizierung als Zeitreihe einstellen
   ArraySetAsSeries(SellBuffer,true);

//---- setzt BuyBuffer als Indikatorpuffer
   SetIndexBuffer(1,BuyBuffer,INDICATOR_DATA);
//---- setzt den Index des Startbalkens für die Darstellung
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,StartBars);
//--- Etikett für Widerstand einstellen
   PlotIndexSetString(1,PLOT_LABEL,"Resistance");
//---- Pfeilzeichencode einstellen
   PlotIndexSetInteger(1,PLOT_ARROW,159);
//---- Indexierung als Zeitreihe einstellen
   ArraySetAsSeries(BuyBuffer,true);

//---- Genauigkeit einstellen
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//---- Indikator Kurzbezeichnung
   string short_name="Support & Resistance";
   IndicatorSetString(INDICATOR_SHORTNAME,short_name);
//---- 
  }
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Iterationsfunktion|
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]
                )
  {
//---- Kontrolle der Balken
   if(BarsCalculated(FRA_Handle)<rates_total
      || rates_total<StartBars)
      return(0);

//---- Deklaration von lokalen Variablen
   int to_copy,limit,bar;
   double FRAUp[],FRALo[];

//---- Berechnung der zu kopierenden Takte
//---- und Startindex (Grenzwert) für Balken-Neuberechnungsschleife
   if(prev_calculated>rates_total || prev_calculated<=0)// Überprüfung des ersten Aufrufs
     {
      to_copy=rates_total;           // zu kopierende Balken
      limit=rates_total-StartBars-1; // Anfangsindex
     }
   else
     {
      to_copy=rates_total-prev_calculated+3; // zu kopierende Balken
      limit=rates_total-prev_calculated+2;   // Anfangsindex
     }

//---- Indizierung als Zeitreihe einstellen
   ArraySetAsSeries(FRAUp,true);
   ArraySetAsSeries(FRALo,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);

//---- Indikatordaten in Arrays kopieren
   if(CopyBuffer(FRA_Handle,0,0,to_copy,FRAUp)<=0) return(0);
   if(CopyBuffer(FRA_Handle,1,0,to_copy,FRALo)<=0) return(0);
 
//---- Hauptschleife
   for(bar=limit; bar>=0; bar--)
     {
       BuyBuffer[bar] = 0.0;
       SellBuffer[bar] = 0.0;
       
     
       if(FRAUp[bar] != DBL_MAX) BuyBuffer[bar] = high[bar]; else BuyBuffer[bar] = BuyBuffer[bar+1];
       
       
       if(FRALo[bar] != DBL_MAX) SellBuffer[bar] = low[bar]; else SellBuffer[bar] = SellBuffer[bar+1];
     }
//---- 
   return(rates_total);
  }
//+------------------------------------------------------------------+