Hilfe bei der Codierung - Seite 489

 

Vergessen Sie es, ich sehe jetzt, dass ich die Zeile else AlarmTotal = AlarmTotal+1 entfernen muss;

 

Brauche Hilfe beim Hinzufügen von Text zu meinem Indikator

Ich habe einen benutzerdefinierten Indikator geschrieben, der die Swing-Hochs und -Tiefs findet.

Derzeit zeigt ein Pfeilobjekt auf das Preisniveau und den Zeitbalken. Grün für High und Rot für Low.

Ich würde es gerne in Text ändern, der eine Zählvariable anzeigt.

Hier ist ein Teil des Codes, den ich erstellt habe, aber er zeigt den Text nicht an.

Kann mir jemand zeigen, was falsch ist. Vielen Dank.

if (Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low)

{

SwingLoBar = 1;

SwingLo = Low;

SwingCount = SwingCount + 1;

ObjectCreate("Text",OBJ_TEXT,0,0,0);

ObjectSet("Text",OBJPROP_TIME,i);

ObjectSet("Text",OBJPROP_PRICE,SwingLo-20*pips);

ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);

ObjectSet("Text",OBJPROP_COLOR,clrRed);
 
ThemBonez:
Ich habe einen benutzerdefinierten Indikator geschrieben, der die Swing-Hochs und -Tiefs findet.

Derzeit zeigt ein Pfeilobjekt auf das Preisniveau und den Zeitbalken. Grün für High und Rot für Low.

Ich möchte es in Text ändern, der eine Zählvariable anzeigt.

Hier ist ein Teil des Codes, den ich erstellt habe, aber er zeigt den Text nicht an.

Kann mir jemand zeigen, was falsch ist. Vielen Dank.

if (Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low)

{

SwingLoBar = 1;

SwingLo = Low;

SwingCount = SwingCount + 1;

ObjectCreate("Text",OBJ_TEXT,0,0,0);

ObjectSet("Text",OBJPROP_TIME,i);

ObjectSet("Text",OBJPROP_PRICE,SwingLo-20*pips);

ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);

ObjectSet("Text",OBJPROP_COLOR,clrRed);

Versuchen Sie zu ändern

ObjectSet("Text",OBJPROP_TIME,i);

ObjectSet("Text",OBJPROP_PRICE,SwingLo-20*pips);

zu

ObjectSet("Text",OBJPROP_TIME1,Time);

ObjectSet("Text",OBJPROP_PRICE1,SwingLo-20*_Point);

 

Danke, hat aber nicht geholfen. Keine Textbeschriftungen.

Hier ist der gesamte Code, vielleicht würde das helfen.

//+------------------------------------------------------------------+

//| SwingHighLow.mq4 |

//| Dream Reality Productions, LLC |

//| http://www.dreamrealityproductions.com |

//+------------------------------------------------------------------+

#property copyright "Dream Reality Productions, LLC"

#property link "http://www.dreamrealityproductions.com"

#property indicator_chart_window

#property indicator_buffers 6

#property indicator_color1 Orange

#property indicator_color2 Aqua

double SwingHiBar[];

double SwingLoBar[];

double SwingHiDraw[];

double SwingLoDraw[];

double SwingHi[];

double SwingLo[];

static int SwingCount=0;

double pips;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);

SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);

SetIndexArrow(1,233);

SetIndexArrow(0,234);

SetIndexBuffer(0,SwingHiDraw);

SetIndexBuffer(1,SwingLoDraw);

SetIndexBuffer(2,SwingHiBar);

SetIndexBuffer(3,SwingLoBar);

SetIndexBuffer(4,SwingHi);

SetIndexBuffer(5,SwingLo);

double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);

if (ticksize == .00001 || ticksize == .001)

pips = ticksize * 10;

else pips = ticksize;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

//+------------------------------------------------------------------+

//| Find Hi and Lo Bars |

//+------------------------------------------------------------------+

int counted_bars = IndicatorCounted();

if (counted_bars<0) return (-1);

if (counted_bars>0) counted_bars--;

int uncountedbars = Bars - counted_bars;

//---

for (int i=4;i<uncountedbars;i++)

{

if (High > High

&& High > High

&& High > High

&& High > High

&& High > High

&& High > High)

{

SwingHiBar = 1;

SwingHi = High;

SwingCount = SwingCount + 1;

ObjectCreate("Text",OBJ_TEXT,0,0,0);

ObjectSet("Text",OBJPROP_TIME1,Time);

ObjectSet("Text",OBJPROP_PRICE1,SwingHi+20*pips);

ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);

ObjectSet("Text",OBJPROP_COLOR,clrGreen);

}

else

{ SwingHiBar=0; SwingHi=0;

SwingHiDraw=0;

if (Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low)

{

SwingLoBar = 1;

SwingLo = Low;

SwingCount = SwingCount + 1;

ObjectCreate("Text",OBJ_TEXT,0,0,0);

ObjectSet("Text",OBJPROP_TIME1,Time);

ObjectSet("Text",OBJPROP_PRICE1,SwingLo-20*_Point);

ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);

ObjectSet("Text",OBJPROP_COLOR,clrRed);

}

else {SwingLoBar = 0; SwingLo=0;

SwingLoDraw=0;}

}

}

return(0);

}

//+------------------------------------------------------------------+

 
ThemBonez:
Danke, hat aber nicht geholfen. Keine Textbeschriftungen.

Hier ist der gesamte Code, vielleicht hilft das ja.

//+------------------------------------------------------------------+

//| SwingHighLow.mq4 |

//| Dream Reality Productions, LLC |

//| http://www.dreamrealityproductions.com |

//+------------------------------------------------------------------+

#property copyright "Dream Reality Productions, LLC"

#property link "http://www.dreamrealityproductions.com"

#property indicator_chart_window

#property indicator_buffers 6

#property indicator_color1 Orange

#property indicator_color2 Aqua

double SwingHiBar[];

double SwingLoBar[];

double SwingHiDraw[];

double SwingLoDraw[];

double SwingHi[];

double SwingLo[];

static int SwingCount=0;

double pips;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);

SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);

SetIndexArrow(1,233);

SetIndexArrow(0,234);

SetIndexBuffer(0,SwingHiDraw);

SetIndexBuffer(1,SwingLoDraw);

SetIndexBuffer(2,SwingHiBar);

SetIndexBuffer(3,SwingLoBar);

SetIndexBuffer(4,SwingHi);

SetIndexBuffer(5,SwingLo);

double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);

if (ticksize == .00001 || ticksize == .001)

pips = ticksize * 10;

else pips = ticksize;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

//+------------------------------------------------------------------+

//| Find Hi and Lo Bars |

//+------------------------------------------------------------------+

int counted_bars = IndicatorCounted();

if (counted_bars<0) return (-1);

if (counted_bars>0) counted_bars--;

int uncountedbars = Bars - counted_bars;

//---

for (int i=4;i<uncountedbars;i++)

{

if (High > High

&& High > High

&& High > High

&& High > High

&& High > High

&& High > High)

{

SwingHiBar = 1;

SwingHi = High;

SwingCount = SwingCount + 1;

ObjectCreate("Text",OBJ_TEXT,0,0,0);

ObjectSet("Text",OBJPROP_TIME1,Time);

ObjectSet("Text",OBJPROP_PRICE1,SwingHi+20*pips);

ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);

ObjectSet("Text",OBJPROP_COLOR,clrGreen);

}

else

{ SwingHiBar=0; SwingHi=0;

SwingHiDraw=0;

if (Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low)

{

SwingLoBar = 1;

SwingLo = Low;

SwingCount = SwingCount + 1;

ObjectCreate("Text",OBJ_TEXT,0,0,0);

ObjectSet("Text",OBJPROP_TIME1,Time);

ObjectSet("Text",OBJPROP_PRICE1,SwingLo-20*_Point);

ObjectSetString(0,"Text",OBJPROP_TEXT,SwingCount);

ObjectSet("Text",OBJPROP_COLOR,clrRed);

}

else {SwingLoBar = 0; SwingLo=0;

SwingLoDraw=0;}

}

}

return(0);

}

//+------------------------------------------------------------------+

Er war da, aber nur einer (in der Vergangenheit)

Verwenden Sie dies:

//+------------------------------------------------------------------+

//| SwingHighLow.mq4 |

//| Dream Reality Productions, LLC |

//| http://www.dreamrealityproductions.com |

//+------------------------------------------------------------------+

#property copyright "Dream Reality Productions, LLC"

#property link "http://www.dreamrealityproductions.com"

#property indicator_chart_window

#property indicator_buffers 6

#property indicator_color1 Orange

#property indicator_color2 Aqua

double SwingHiBar[];

double SwingLoBar[];

double SwingHiDraw[];

double SwingLoDraw[];

double SwingHi[];

double SwingLo[];

static int SwingCount=0;

double pips;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

SetIndexStyle(0,DRAW_ARROW,STYLE_SOLID,1);

SetIndexStyle(1,DRAW_ARROW,STYLE_SOLID,1);

SetIndexArrow(1,233);

SetIndexArrow(0,234);

SetIndexBuffer(0,SwingHiDraw);

SetIndexBuffer(1,SwingLoDraw);

SetIndexBuffer(2,SwingHiBar);

SetIndexBuffer(3,SwingLoBar);

SetIndexBuffer(4,SwingHi);

SetIndexBuffer(5,SwingLo);

double ticksize = MarketInfo (Symbol(),MODE_TICKSIZE);

if (ticksize == .00001 || ticksize == .001)

pips = ticksize * 10;

else pips = ticksize;

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

//+------------------------------------------------------------------+

//| Find Hi and Lo Bars |

//+------------------------------------------------------------------+

int counted_bars = IndicatorCounted();

if (counted_bars<0) return (-1);

if (counted_bars>0) counted_bars--;

int uncountedbars = Bars - counted_bars;

//---

for (int i=4;i<uncountedbars;i++)

{

if (High > High

&& High > High

&& High > High

&& High > High

&& High > High

&& High > High)

{

SwingHiBar = 1;

SwingHi = High;

SwingCount = SwingCount + 1;

ObjectCreate("Text"+Time,OBJ_TEXT,0,0,0);

ObjectSet("Text"+Time,OBJPROP_TIME1,Time);

ObjectSet("Text"+Time,OBJPROP_PRICE1,SwingHi+20*_Point);

ObjectSetString(0,"Text"+Time,OBJPROP_TEXT,SwingCount);

ObjectSet("Text"+Time,OBJPROP_COLOR,clrGreen);

}

else

{ SwingHiBar=0; SwingHi=0;

SwingHiDraw=0;

if (Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low

&& Low < Low)

{

SwingLoBar = 1;

SwingLo = Low;

SwingCount = SwingCount + 1;

ObjectCreate("Text"+Time,OBJ_TEXT,0,0,0);

ObjectSet("Text"+Time,OBJPROP_TIME1,Time);

ObjectSet("Text"+Time,OBJPROP_PRICE1,SwingLo-20*_Point);

ObjectSetString(0,"Text"+Time,OBJPROP_TEXT,SwingCount);

ObjectSet("Text"+Time,OBJPROP_COLOR,clrRed);

}

else {SwingLoBar = 0; SwingLo=0;

SwingLoDraw=0;}

}

}

return(0);

}

//+------------------------------------------------------------------+
 

Liebe mladen, mrtools wartet sehnsüchtig auf Ihre Antwort auf meine Fragen bezüglich der Änderung der Einstellungen des Indikators im obigen Beitrag.

Ich hoffe, Sie werden mir antworten, wenn es Ihre Zeit erlaubt.

danke.

 
brijeshsinh:
hallo,

können mladen, mrtools mir helfen, folgende Einstellungen für den Indikator hinzuzufügen--- Rsi bar chart v2.02 mtf & alerts

--Können Balken unterschiedlich gefärbt werden, wenn sie über oder unter der Mittellinie (50 Level für die Rsi-Perspektive) kreuzen; --z.B. über der 50 Linie eine Farbe und unter der 50 Linie eine andere Farbe.

---Kann der gleitende Durchschnitt dem Indikator in einem separaten Fenster hinzugefügt werden, so wie wir den gleitenden Durchschnitt für das Hauptdiagramm hinzufügen können (wie im Bild unten zu sehen ist).

Ich hänge hier den Indikator und das Bild an.

rsi_bar_chart_v2.02_mtf_amp_alerts.mq4

Vielen Dank im Voraus, Ihre Hilfe wird sehr geschätzt werden.

Dieser Indikator hat 4 Werte (er wird aus 4 verschiedenen rsi-Werten kombiniert). Das schließt die Überschreitung aus, da es keinen einzigen Wert gibt, der als Kriterium für die Überschreitung eines Wertes verwendet werden kann.

Für den Durchschnitt gilt dasselbe wie für die Kreuzungen: da es 4 rsi-Werte gibt, hat der Durchschnitt keinen eindeutigen Wert, auf den er angewendet werden kann.

 

danke mladen für die Antwort und dass du dir Zeit für mich genommen hast. ich danke dir für deine Hilfe.

 

Hallo,

mladen, mr tools können Sie bitte helfen, folgende Einstellungen im Indikator FXUltraTrend zu ändern

--- Anzeige in einem separaten Fenster als Linie (oder Histogramm) mit Pfeilen zur Anzeige von Farbveränderungen, wenn möglich (standardmäßig werden in der aktuellen Einstellung die Balken im Hauptchart angezeigt)

---- und wenn möglich, eine Spalte für verschiedene Einstellungen hinzuzufügen, so dass es nach unseren Wünschen geändert werden kann. (In der aktuellen Standardeinstellung gibt es keine Spalte, in der Einstellungen hinzugefügt werden können)

Im Anhang finden Sie den untenstehenden Indikator und sein Bild

fxultratrend.mq4

Ich hoffe, Sie haben nichts dagegen, dass ich mir etwas Zeit für Sie nehme, aber Sie leisten großartige Arbeit für jemanden wie uns, der neu auf dieser Plattform ist und keine Ahnung von Programmierung hat.

Sie verdienen wirklich Anerkennung von mir und von allen Mitgliedern dieses Forums für Ihre wertvollen Bemühungen.

Danke für die schnelle Antwort auf den vorherigen Beitrag.

Dateien:
444.png  56 kb
 

Implementieren; NonLag_Schaff_TrendCycle Indikator:

Hallo Pro-Coders,

Ich frage mich, ob mir jemand bei der Implementierung des NonLag_Schaff_TrendCycle Indikators helfen kann.

Indikator Externs:

extern int FastLength = 23;

extern int SlowLength = 50;

extern int StcPeriod = 10;

extern int MacdPrice = PRICE_CLOSE;

extern bool Interpolate = true;

extern bool MultiColor = wahr;

Indikator-Puffer:

IndicatorBuffers(8);

SetIndexPuffer(0,stcPuffer);

SetIndexPuffer(1,stcPufferUA);

SetIndexBuffer(2,stcBufferUB);

SetIndexBuffer(3,macdBuffer);

SetIndexBuffer(4,fastKBuffer);

SetIndexBuffer(5,fastDBuffer);

SetIndexBuffer(6,fastKKBuffer);

SetIndexBuffer(7,trend);

Ich versuche, etwas zu tun wie:

double STC1_c=iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar);

double STC2_c=iCustom(Symbol(),0, "NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar+1);

if((STC1_c>15 && STC2_c85 && STC2_c KAUFEN

if((STC1_c15)||(STC1_c85) -> SELL

Aber ich erhalte eine Fehlermeldung:

Error: NonLag_Schaff_TrendCycle wurde entfernt.

Ich vermute, dass ich die Puffer vielleicht falsch gelesen habe. Hat jemand einen Vorschlag?

Vielen Dank im Voraus!

Grund der Beschwerde: