Hilfe bei der Codierung - Seite 254

 
thefxpros:
Hallo!

Ich habe Spaß daran, einige Indikatoren in MTF mit icustom zu drehen. Der Indikator funktioniert, aber nicht anzeigen, Farbe und Pfeile richtig, warum?

Wo liegt der Fehler, bitte?

wilders_trailing_stop_mtf.mq4

wilders_nachlaufender_stopp.mq4

//------------------------------------------------------------------

#property copyright "thefxpros"

#property link "thefxpros@katamail.com"

//------------------------------------------------------------------

#property indicator_chart_window

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1

//

//

//

extern int TimeFrame = 0;

extern int Length = 2;

extern double Coeff = 1.75;

extern int LineWidth = 1;

extern int ArrowWidth = 1;

extern color UpLineClr = LimeGreen;

extern color DnLineClr = Orange;

extern color UpArrowClr = LimeGreen;

extern color DnArrowClr = Orange;

//

double WTS[];

double WTSDn[];

double arrUp[];

double arrDn[];

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

//| |

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

int init()

{

IndicatorBuffers(4);

SetIndexBuffer(0,WTS); SetIndexStyle(0,DRAW_LINE, EMPTY, LineWidth, DnLineClr);

SetIndexBuffer(1,WTSDn); SetIndexStyle(1,DRAW_LINE, EMPTY, LineWidth, UpLineClr);

SetIndexBuffer(2,arrUp); SetIndexStyle(2,DRAW_ARROW, EMPTY, ArrowWidth, UpArrowClr); SetIndexArrow(2,SYMBOL_ARROWUP);

SetIndexBuffer(3,arrDn); SetIndexStyle(3,DRAW_ARROW, EMPTY, ArrowWidth, DnArrowClr); SetIndexArrow(3,SYMBOL_ARROWDOWN);

IndicatorShortName("Wilders trailing stop MTF ("+Length+","+Coeff+")");

Length = MathMax(Length,1);

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("Wilders trailing stop MTF ("+TimeFrameStr+")");

return(0);

}

//----

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

//| MTF function |

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

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

/*********************************************************************************************************

Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.

Rule 1: Add extern inputs above for all neccesary values

Rule 2: Use 'TimeFrame' for the indicator time frame

Rule 3: Use 'y' for your indicator's shift value

********************************************************************************************************/

WTS=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,0,y);

WTSDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,1,y);

arrUp=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,2,y);

arrDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,3,y);

}

return(0);

}

//+------------------------------------------------------------------+[/PHP]

thefxpros

Sie haben den Teil auskommentiert, in dem Sie Zeichenpuffer deklarieren müssen

Dieser Teil :

[PHP]#Eigenschaft indicator_chart_window

//#Eigenschaft indicator_buffers 4

//#Eigenschaft indicator_color1 Orange

//#Eigenschaft indicator_color2 LimonenGrün

//#Eigenschaft indicator_color3 LimonenGrün

//#Eigenschaft indicator_color4 Orange

//#Eigenschaft indicator_width3 1

//#Eigenschaft indicator_width4 1

Entfernen Sie die Kommentare aus diesen Zeilen und es wird funktionieren

 
mladen:
thefxpros

Sie haben den Teil auskommentiert, in dem Sie Zeichenpuffer deklarieren müssen

Dieser Teil :

#property indicator_chart_window

//#property indicator_buffers 4

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1
Entfernen Sie die Kommentare aus diesen Zeilen und es wird funktionieren

Ja, ich weiß, aber ich habe später angegeben, ist nicht genug? Muss ich das immer am Anfang angeben?

Ich erinnere mich, dass ich das bei früheren Builds des Metaeditors oft gemacht habe, und soweit ich mich erinnere, hat es funktioniert, oder irre ich mich?

 
thefxpros:
ja ich weiß, aber ich habe später angegeben, ist das nicht genug? Muss ich immer am Anfang angeben? Ich erinnere mich, dass ich das oft gemacht habe, mit dem vorherigen Build metaeditor und soweit ich mich erinnere, hat es funktioniert, oder erinnere ich mich falsch?

thefxpros

Zu Beginn geben Sie Zeichenpuffer an. Später können Sie Berechnungspuffer angeben. Wenn Sie #property indicator_buffers numberOfDrawningBuffer nicht angeben, wird nichts auf der Festplatte gezeichnet.

 

Ihre gesamte Speard History anzeigen. Bitte helfen Sie mir

 

Jemand bitte mir helfen, diese EA für die CloseInMA Funktion zu überprüfen.

Ich habe in hier für viele Tage stecken und ich kann nicht die Lösung finden.

Ich danke Ihnen .

Dateien:
testing1.5.mq4  38 kb
 
stevenpun:
Kann mir jemand helfen, diesen EA auf die CloseInMA Funktion zu überprüfen.

Ich bin seit vielen Tagen hier drin hängen geblieben und kann die Lösung nicht finden .

Dankeschön .

stevenpun

Versuchen Sie zu tun, wie es jetzt geschrieben ist

Dateien:
 

Hallo freundlichen Guru, ich bin bitte, dass jemand helfen, diesen Code und dann bauen einen Roboter (EA) Version davon:

INDICATOR- Auto zeichnen horizontale Linien (vorzugsweise gestrichelte Linien) auf Preise endet bei 5, 15, 31, 67 jeweils. Beispiel auf UJ 103.05, 102.67, 103.15 e.t.c. Linienlänge sollte 1 Zoll lang von einem mathematischen Lineal mit diesen Zahlen darunter, so dass ich einen anständigen Chart wegen der paar Linien, die ich bereits haben wird.

PS- 4 und 5 stellige Broker kompatibel

 

Regeln für den EA

KAUFEN

Platzieren Sie eine schwebende Kauf-Stopp-Order, sobald sich der Kurs 3 Pips vor der magischen Zahl von unten bewegt. Beispiel für die magische Zahl 5, Kurs aktuell bei UJ 103,02, Platzierung einer schwebenden Kauforder bei 103,05.

VERKAUFEN

Platzieren Sie einen schwebenden Verkaufsstopp, wenn sich der Kurs der magischen Zahl um 3 Pips von OBEN nähert. Beispiel: Kurs aktuell bei 103,08, Verkaufsstopp bei 103,05 setzen.

SL und TP jeweils 25/50 Pip.

Wenn der Handel +3 Pips im Gewinn erreicht, verschieben Sie STOP LOSS auf +1 Gewinn, verschieben Sie 5 auf 4, verschieben Sie 8 auf 7, verschieben Sie 12 auf 10

Maximale offene Position oder schwebender Handel oder schwebende Order =1 nur bis zum Stopp für einen neuen Handel

Maximaler täglicher Drawdown von 3% und sobald dieser erreicht ist, sollte EA den Handel beenden.

Standard-Lotgröße 0,1 (10.000)

24-Stunden-Handel

P.S: EA sollte eine Option haben, um magische Zahlen, Trailing Stop, Take Profit/Stop Loss von meinem Broker auszublenden und sollte 4/5-stellig kompatibel sein. Standard-Paar UJ.

Wird sehr großartig sein, um diese bald codiert haben.

 
mladen:
stevenpun Versuchen Sie zu tun, wie es jetzt geschrieben ist

Hallo mladen ,

Ich habe es schon versucht, aber es funktioniert nicht.

Deshalb bin ich sehr verwirrt.

Hoffe, Sie können mir helfen, zu sehen, was das Problem ist.

Ich danke dir .

 
stevenpun:
Hallo mladen ,

Ich habe versucht, es vor, aber es nicht funktionieren.

Deshalb bin ich sehr verwirrt.

Hoffe, Sie können mir helfen, zu sehen, was das Problem ist.

vielen Dank.

In der Version, die Sie gepostet haben, haben Sie Konstanten verglichen (Fastma, Dn_slowma und Up_slowma sind Perioden, die für gleitende Durchschnitte verwendet werden, nicht die Werte der gleitenden Durchschnitte).

Jetzt werden die Werte der gleitenden Durchschnitte verglichen. Wenn das nicht das ist, was Sie im Sinn haben, dann müssen Sie es ändern, aber Sie können keine konstanten Werte vergleichen und erwarten, dass sie sich von Balken zu Balken ändern werden

Prüfen Sie, ob dies genau die Bedingungen der gleitenden Durchschnitte (in der Funktion GetSignalClose()) sind, die Sie sich als Ausstiegsbedingungen vorgestellt haben, aber vergleichen Sie weiterhin die Werte der gleitenden Durchschnitte und nicht die Parameter dieser gleitenden Durchschnitte

Grund der Beschwerde: