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
Guten Morgen an alle.
Ich habe viele Versionen dieses Indikators gesehen und rote Kerzen ich nie erscheinen, könnte der Fehler ???? korrigieren.
Ich danke Ihnen sehr viel.
#property indicator_separate_window
#Eigenschaft indicator_buffers 2
#property indikator_farbe1 LimeGreen
#property indicator_color2 Rot
//---- anzeigepuffer
double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
//----
double CB = 0, valueh1 = 0, valuel = 0, valueh = 0, value = 0, price = 0, hi = 1, lo = 1;
double resh = 0, resl = 0, deltah = 0, deltal = 0;
int CurrentBar=0;
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//---- 1 zusätzlicher Puffer für die Zählung verwendet.
IndicatorBuffers(3);
//---- Zeichnungseinstellungen
SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 2);
SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 2);
IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS) + 1);
SetIndexDrawBegin(0, 34);
SetIndexDrawBegin(1, 34);
//---- Zuweisung von 3 Indikatorpuffern
if(!SetIndexBuffer(0, ind_buffer1) &&
!SetIndexBuffer(1, ind_buffer2) &&
!SetIndexBuffer(2, ind_buffer3))
Print("Indikatorpuffer können nicht gesetzt werden!");
//---- Name für DataWindow und Bezeichnung des Indikator-Unterfensters
IndikatorKurzname("DeltaForce");
SetIndexLabel(0, "DF1");
SetIndexLabel(1, "DF2");
//---- Initialisierung abgeschlossen
return(0);
}
//+------------------------------------------------------------------+
//| Delta Force |
//+------------------------------------------------------------------+
int start()
{
for(CB = 0 ; CB <= Bars ; CB++)
{
CurrentBar = Bars - CB;
if(Close[CurrentBar] > Close[CurrentBar+1])
{
resl = 0;
if(resh == 0)
deltah = 0;
deltah = deltah + (Close[CurrentBar] - Close[CurrentBar+1]);
// valueh = High[CurrentBar];
resh= 1;
}
if(resh == 0)
deltah = 0;
ind_buffer1[CurrentBar] = deltah;
if(Close[CurrentBar] < Close[CurrentBar+1] )
{
resh = 0;
if(resl == 0)
deltal = 0;
deltal = deltal + (Close[CurrentBar+1] - Close[CurrentBar]);
//valuel = Low[CurrentBar];
resl= 1;
}
if(resl == 0 )
deltal=0;
ind_buffer2[CurrentBar] = deltal;
}
//---- erledigt
return(0);
}
//+------------------------------------------------------------------+
Guten Morgen an alle.
Ich habe viele Versionen dieses Indikators gesehen und rote Kerzen ich nie erscheinen, könnte der Fehler ???? korrigieren.
Ich danke Ihnen sehr viel.
#property indicator_separate_window
#Eigenschaft indicator_buffers 2
#property indikator_farbe1 LimeGreen
#property indicator_color2 Rot
//---- anzeigepuffer
double ind_buffer1[];
double ind_buffer2[];
double ind_buffer3[];
//----
double CB = 0, valueh1 = 0, valuel = 0, valueh = 0, value = 0, price = 0, hi = 1, lo = 1;
double resh = 0, resl = 0, deltah = 0, deltal = 0;
int CurrentBar=0;
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//---- 1 zusätzlicher Puffer für die Zählung verwendet.
IndicatorBuffers(3);
//---- Zeichnungseinstellungen
SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 2);
SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 2);
IndicatorDigits(MarketInfo(Symbol(), MODE_DIGITS) + 1);
SetIndexDrawBegin(0, 34);
SetIndexDrawBegin(1, 34);
//---- Zuweisung von 3 Indikatorpuffern
if(!SetIndexBuffer(0, ind_buffer1) &&
!SetIndexBuffer(1, ind_buffer2) &&
!SetIndexBuffer(2, ind_buffer3))
Print("Indikatorpuffer können nicht gesetzt werden!");
//---- Name für das Datenfenster und die Bezeichnung des Indikator-Unterfensters
IndikatorKurzname("DeltaForce");
SetIndexLabel(0, "DF1");
SetIndexLabel(1, "DF2");
//---- Initialisierung abgeschlossen
return(0);
}
//+------------------------------------------------------------------+
//| Delta Force |
//+------------------------------------------------------------------+
int start()
{
for(CB = 0 ; CB <= Bars ; CB++)
{
CurrentBar = Bars - CB;
if(Close[CurrentBar] > Close[CurrentBar+1])
{
resl = 0;
if(resh == 0)
deltah = 0;
deltah = deltah + (Close[CurrentBar] - Close[CurrentBar+1]);
// valueh = High[CurrentBar];
resh= 1;
}
if(resh == 0)
deltah = 0;
ind_buffer1[CurrentBar] = deltah;
if(Close[CurrentBar] < Close[CurrentBar+1] )
{
resh = 0;
if(resl == 0)
deltal = 0;
deltal = deltal + (Close[CurrentBar+1] - Close[CurrentBar]);
//valuel = Low[CurrentBar];
resl= 1;
}
if(resl == 0 )
deltal=0;
ind_buffer2[CurrentBar] = deltal;
}
//---- erledigt
return(0);
}
//+------------------------------------------------------------------+Probieren Sie es jetzt aus: _test.mq4
Stanwell,
Ein paar Bilder, die das alles zeigen, wären hilfreich.
Big BeHallo Big Be,
Guter Punkt, ich werde morgen ein paar Diagramme posten.
cheers,
Stan
Hier ist der AUD-Chart, den ich manuell markiert habe. Die roten Kästen sind die sich überschneidenden Balken. Auf der linken Seite gibt es ein Quadrat, das nur drei Balken enthält, also nicht der Definition entspricht. Wenn dieses Bein jedoch signifikant ist, z.B. größer als 6 x ATR, würde ich es auch als Swing zählen (es ist einfach schwer, mit nur drei Balken zu handeln), aber ich dachte, diese Anforderung würde die Kodierung verkomplizieren, also können wir es vorerst weglassen.
Vielen Dank.
Stan
Hallo Mladen und Mrtools!
Ich brauche mal wieder eure Hilfe, könnt ihr diesem Indikator bitte einen visuellen/akustischen Alarm hinzufügen?
Vielen Dank im Voraus, Prost!
MLADEN, guten Morgen.
Vielen Dank, haben versucht, ihre _test und rechts erscheint.
Jede Hilfe habe ich hier, obwohl seine Dominanz ist viel mehr als meine, obwohl in ProRealTime / VISUALCHART ja kann ich mehr helfen.
Mit freundlichen Grüßen.
Hallo,
ich habe einen Indikator und möchte die Berechnung der Balken begrenzen.
Der ursprüngliche Code war:
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);[/CODE]
i changed it with this:
[CODE]int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(NBars-counted_bars,NBars-1);Ist das korrekt? Der Indikator scheint gut zu funktionieren, aber ich habe Zweifel, wenn ich wirklich die Bars Berechnung begrenzt haben.
Hallo!
Ich habe einen Indikator und möchte die Berechnung der Balken begrenzen.
Der ursprüngliche Code war:
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);[/CODE]
i changed it with this:
[CODE]int start()
{
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(NBars-counted_bars,NBars-1);thefxpros
Nein. Machen Sie es wie folgt:
int limit = MathMin(MathMin(Bars-counted_bars,Bars-1),NBars);
Aber in diesem Fall müssen Sie immer sicherstellen, dass NBars immer > 0 ist.
Hallo mladen
wenn du mir helfen kannst, füge die X- und Y-Achsen hinzu, dann kann ich sie in die Ecke stellen.
und kann die Schriftgröße einstellen, sorry für mein Englisch.
!X2014-PIPSv2
Vielen Dank.
Hallo mladen
Wenn Sie mir helfen können, fügen Sie die X- und Y-Achsen hinzu, dann kann ich sie in die Ecke stellen.
und kann die Schriftgröße anpassen, sorry für mein Englisch.
!X2014-PIPSv2
herzlichen Dank.blueface
Du hast sie bereits: posX und posY Variablen im Code