Willkommen zum MQL4-Kurs - Seite 8

 

Umgang mit Fehlern

Ich bin immer noch in OrderModify Fehler 1 mit einem neuen buil 208-210 erhalten

stringo sagt

Sie müssen vor dem Aufruf der Funktion ModifyOrder eine Überprüfung der Parameter in Ihren Quellcode einfügen.

Ist das wahr? Ich vertraue diesem Kerl nicht.

Mit besten Grüßen

Aquilez

cnt=BestellungenGesamt()-1;

while(cnt>=0)

{

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) break;

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) // && Reversed==False)

{

Print("Ticket ",OrderTicket()," geändert.");

if (OrderType()==OP_SELL)

{

if (ExitWithOpenOrdersBasedON && myOrderTypetmp==2)

{

PreviousOpenOrders=OpenOrders+1;

ContinueOpening=False;

text = text +"\nSchließen aller Aufträge .";

Print("Closing all orders.");

//return(0)

}

wenn (NachlaufenderStopp>0)

{

if ((OrderOpenPrice()-OrderClosePrice())>=(TrailingStop*Point+Pips*Point))

{

wenn (OrderStopLoss()>(OrderClosePrice()+TrailingStop*Point))

{

result=OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()+TrailingStop*Point,OrderClosePrice()-TakeProfit*Point-TrailingStop*Point,0,Purple);

if(Ergebnis!=TRUE) Print("LetzterFehler = ", GetLastError());

sonst OrderPrint();

return(0);

}

}

}

}

if (OrderType()==OP_BUY)

{

if (ExitWithOpenOrdersBasedON && myOrderTypetmp==1)

{

PreviousOpenOrders=OpenOrders+1;

ContinueOpening=False;

text = text +"\nSchließen aller Aufträge.";

Print("Closing all orders.");

//return(0);

}

wenn (NachlaufenderStopp>0)

{

if ((OrderClosePrice()-OrderOpenPrice())>=(TrailingStop*Point+Pips*Point))

{

if (OrderStopLoss()<(OrderClosePrice()-TrailingStop*Point))

{

result=OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()-TrailingStop*Point,OrderClosePrice()+TakeProfit*Point+TrailingStop*Point,0,ArrowsColor);

if(Ergebnis!=TRUE) Print("LetzterFehler = ", GetLastError());

sonst OrderPrint();

return(0);

}

}

}

}

}

cnt--;

}

 

Neuling

Vielen Dank für die Einführung. Es ist zwar schon ein paar Jahre her, dass Sie sie erstellt haben, aber immer noch sehr nützlich.

Grüße

fiaraz

 

Hilfe benötigt - Benötigt einen EA-Experten

Hallo,

Ich frage mich, ob mir jemand helfen kann - Ich mache einen EA mit einem benutzerdefinierten Indikator namens "slope-direction-line.mq4" der Indikator repräsentiert Trend durch 2 Farben Kalk für Aufwärtstrend und Rot für Abwärtstrend - Also, wie man den EA für Verkauf oder Kauf nach den beiden Farben zu identifizieren. Ich habe das Folgende versucht, aber es funktioniert nicht - Wenn Sie mir also helfen können, tun Sie es bitte.

if (iCustom(NULL, 0, "slope-direction-line",0) < iCustom(NULL, 0, "slope-direction-line",0))

und hier ist der Link für den Indikator https://www.mql5.com/en/forum

Vielen Dank im Voraus

 
 

Herzlichen Dank.

 

Vielen Dank an Coderguru, NewDigital und alle Freunde, die mir eine sehr nützliche Ausbildung vermittelt haben. Ich hoffe, dass ich eines Tages mit all meinen Möglichkeiten mein eigenes neues Mql-Programm erstellen kann. Gott segne Sie alle

Respekt,

Spanar.

 

wie man Farbparameter übergibt

Sehr geehrter Herr,

Ich habe ein Problem: Wie übergebe ich einen Parameter an eine benutzerdefinierte Funktion?

Beispiel :

CreateObject("Test1",Green);

CreateObject("Test2",C'236,130,0')

CreateObject("Test3",32768 )

void CreateObject(string Name1,int DefineColor)

{

ObjectCreate(Name1,OBJ_LABLEL,WindowFind("Indicato r1"),0,0);

ObjectSetText(Name1, "Testing",12, "Arial Bold:,DefineColor);

1. Wie wird die Farbe für Grün, C'235,130,0,' oder 32768, übergeben?

2. was ist der Typ der Farbe in der Benutzerdefinitionsfunktion? kann es ein String, int, double oder eine Farbe sein? Ich habe es versucht, aber ohne Erfolg.

3. was ist der Typ Variable für Farbe, oder kann von interger, String in Farbe Typ Variable konvertiert werden?

4. können Sie mir die Url für diese Art von Problem zeigen.

Danke für die Hilfe

rgds bob

 

Hilfe.....hilfe.........hilfe...............hilfe

Hallo

können Sie mir helfen, diesen Indikator-Code zu verwenden

iMAOnArray(?????,?????,?????,????,??????,i);

bitte mit Beispiel

Vielen Dank für Ihre Hilfe

 
mercury_man:
Hallo

können Sie mir helfen, diesen Indikator-Code zu verwenden

bitte mit Beispiel

vielen Dank für Ihre Hilfe

Hallo,

Ich habe Ihren Beitrag in diesen Thread verschoben. Schauen Sie sich die Beiträge 20# an.

Inzwischen:

double iMAOnArray( double array[], int total, int period, int ma_shift, int ma_method, int shift)Berechnung des gleitenden Durchschnitts auf Daten, die in einem numerischen Array gespeichert sind. Im Gegensatz zu iMA(...) nimmt die Funktion iMAOnArray die Daten nicht nach Symbolname, Zeitrahmen und angewandtem Preis entgegen. Die Preisdaten müssen vorher aufbereitet werden. Der Indikator wird von links nach rechts berechnet. Um auf die Array-Elemente wie auf ein Serien-Array (d.h. von rechts nach links) zuzugreifen, muss man die Funktion ArraySetAsSeries verwenden. Parameter:

array[] - Array mit Daten. total - Die Anzahl der zu zählenden Elemente. 0 bedeutet ganzes Array. period - Mittelungszeitraum für die Berechnung. ma_shift - MA-Verschiebung ma_method - MA-Methode. Es kann ein beliebiger Wert aus der Aufzählung der Moving Average-Methoden sein. shift - Index des Wertes, der aus dem Indikatorpuffer entnommen wurde (Verschiebung relativ zum aktuellen Balken um die angegebene Anzahl von Perioden). Beispiel:

double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);

double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);

double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);

double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);

//----

if(maprev=macurrentslow)

Alert("crossing up");

 

iMAOnArray

iMAOnArray ist kein Indikator, sondern eine Funktion, die den gleitenden Durchschnitt eines Arrays berechnet!

Wenn Sie meine Lektionen durchsuchen, werden Sie die Antwort und mehr Details über iMAOnArray finden.

mercury_man:
Hallo

Können Sie mir helfen, diesen Indikator-Code zu verwenden?

bitte mit Beispiel

vielen Dank für Ihre Hilfe