Wie programmiert man? - Seite 181

 

Hilfe beim Ändern von OrderHistory 2.0

Ich habe mich gefragt, ob jemand diese MQ4-Datei für mich ändern könnte. Ich möchte, dass die Beschreibung, die erscheint, wenn der Cursor über den Pfeilen und Trendlinien ist, mehr wie folgt aussieht..:

VERKAUFEN

(Ordername entfernt)

Eröffnungszeit: 2009.05.25 10.00

Schlusszeitpunkt: 2009.05.25 11.00

Eröffnungskurs: 94,98

Schlusskurs: 94.992

Pips: 25.0 |

SL: 50,0 | -> (5stellig machen)

TP: 25,0 |

Max Fl. L: 16.9 ("Max Floating Loss/Profit" - Cool, wenn das integriert werden könnte)

Lots: 0.38

Brutto: 100.28

...anstelle von diesem:

Verkauf: 12345678 2009.05.25 10.00 @ 94.98

Pips: 250 SL: -750 TP: 250 Lots: 0.38 Brutto: $ 100.28

94.992

Ich habe versucht, dies selbst zu ändern, aber ohne Erfolg. Ich bin kein Programmierer (natürlich), aber es wäre cool, wenn jemand, der ist, könnte dies zu beheben. Ich würde es sehr schätzen.

Dateien:
 

NFA Anti-Hedging bitte helfen

Hallo, ich habe ein Problem mit der neuen NFA-Regel. Mein EA kann keine Pending Orders mehr machen . Es ist ein einfacher EA: 1 Order öffnen, 1 unbenutzte Pending Order löschen und 2 neue Pending Orders erstellen, Buy Limit und Sell Limit.

Hier ist der Code :

if (TotalMikuOrders()==2 && TotalMikuOrders_Mode(OP_BUY)+TotalMikuOrders_Mode(OP_SELL)==1){

for (int j=0;j<OrdersTotal();j++){

OrderSelect(j,SELECT_BY_POS);

if (OrderType()==OP_BUY){

if (BestellMagicNumber()==Magic_Miku_B){

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S,Magic_Miku_B+1,XFactor*CoA,XFactor*CoB,com+"XA",com+"XB",sl1,sl2,r1,r1,sp,sp0,tp1,tp2);

return(0);

}

}

if (OrderType()==OP_SELL){

wenn (OrderMagicNumber()==Magic_Miku_S){

deleteMikuPending();

sendMikuPending(OrderOpenPrice(),Magic_Miku_S+1,Magic_Miku_B,XFactor*CoB,XFactor*CoA,com+"XB",com+"XA",sl2,sl1,r1,r1,sp0,sp,tp2,tp1);

return(0);

}

}

}

}

}

return(0);

}

void sendMikuPending(double price, int ms,int mb,double lots,double lotb,string coms,string comb,double sls,double slb,double rs,double rb,double sps,double spb,double tps,double tpb){

double SL=0,TP=0;

int i;

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)-StopLoss*slb*Point,Digits);}else{SL=0;}

if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits)+TakeProfit*tpb*Point,Digits);}else{TP=0;}

if (OrderSend(Symbol(),OP_BUYLIMIT,lotb,NormalizeDouble(OrderOpenPrice()-Range*rb*Point+spb*Point,Digits),Slippage,SL,TP,comb,mb,0,Blue)==-1) {

i=GetLastError();

if (i!=1 && i!=0) Print("Buy stop Error : "+error(i)+" at "+Symbol()+""+Period());

}

if (StopLoss>0) {SL=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)+StopLoss*sls*Point,Digits);}else{SL=0;}

if (TakeProfit>0) {TP=NormalizeDouble(NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits)-TakeProfit*tps*Point,Digits);}else{TP=0;}

if (OrderSend(Symbol(),OP_SELLLIMIT,lots,NormalizeDouble(OrderOpenPrice()+Range*rs*Point-sps*Point,Digits),Slippage,SL,TP,coms,ms,0,Red)==-1) {

i=GetLastError();

if (i!=1 && i!=0) Print("Sell stop Error : "+error(i)+" at "+Symbol()+""+Period());

}

}

Der vollständige Code befindet sich im Anhang. Ich denke, vielleicht sollte der EA die letzte geschlossene Order lesen und direkt 1 offene Order erstellen. Aber ich habe keinen Anhaltspunkt.

Bitte helfen Sie jemandem . Ich danke Ihnen vielmals.

Dateien:
miku_test.mq4  15 kb
 

Kodierungsproblem

Ok, ich habe ein Stück Code, das den Fehler OrderSend #130 zu verursachen scheint. Ich habe die Stop-Loss- und Take-Profit-Einstellungen überprüft, und sie sollten weit von dem Mindestabstand entfernt sein, der erforderlich ist, wenn man einen in der Bestellung platziert. Ich habe die Zahlen sogar normalisiert, um sicherzustellen, dass sie zu den Parametern der Website passen. Ich vermute also, dass es ein Problem mit dem Ask- oder Bid-Kurs gibt, den er empfängt, und der Server ihn nicht akzeptiert.

Der folgende Code stammt aus dem Abschnitt, in dem ein Kaufauftrag erteilt wird:

RefreshRates();

ticket = OrderSend(Symbol(),openType,lots,Ask,Slippage,SL,TP,comment,ExpertMagicNumber,0,Color);

Gibt es etwas Spezielles, was ich mit dem Ask tun sollte, um sicherzustellen, dass er zu dem passt, wonach die Website sucht, wenn sie die Order erhält? Ich habe einfach angenommen, dass es die Preise genau so bekommen würde, wie die Website es ausgegeben hat.

 

Hallo, es gibt ein GUTES System, das funktioniert, gepostet von JoeSmoe

Es wäre hilfreich, wenn jemand wüsste, wie man den einfachsten EA erstellt, der nur dann eine Position eröffnet, wenn es einen Ausbruch gibt - das wäre eine große Hilfe. Ich habe es versucht, aber ich weiß nicht wie.

am besten,

j

Dateien:
 

Wie kann man eine Datei als Teil eines EAs bedingt einbeziehen?

Hallo,

ich habe dies in einem anderen Bereich des Forums gepostet, aber dann diesen Bereich entdeckt. Bitte entschuldigen Sie das doppelte Posting...

Ist es möglich, eine Datei als Teil eines EAs bedingt einzubinden? Auch wenn die Syntax nicht korrekt ist, ist das Konzept...

switch(MASTER_PERIOD)

{

Fall 30:

#include ;

break;

Fall 240:

#include ;

break;

}

...wobei MASTER_PERIOD eine Extern-Variable ist.

Ich freue mich auf Ihre Kommentare, Vorschläge und Beispiele, wie man dies erreichen kann!

Mit freundlichen Grüßen,

DMMcCollum

 

Wie kann man den Preis zu einer bestimmten Zeit lesen/abrufen?

Mein Freund und ich arbeiten an einem EA. Irgendwann muss er (der EA) den Preis zu einer bestimmten Zeit lesen und abrufen, z. B. 17:00 EST... usw.

Kann mir jemand einen Rat geben, wie man das macht, anstatt die Preisbalken rückwärts zu zählen? Vielleicht gibt es bereits eine Funktion für diese Aufgabe. Bitte helfen Sie. Vielen Dank an alle & Gott segne Sie!

B rgds/abundance

 
 

bearbeiten

Steven_1974:
Ok, ich habe einen Teil des Codes, der den Fehler OrderSend #130 zu verursachen scheint. Ich habe die Stop-Loss- und Take-Profit-Einstellungen überprüft, und sie sollten weit von dem Mindestabstand entfernt sein, der erforderlich ist, wenn man einen in der Order platziert. Ich habe die Zahlen sogar normalisiert, um sicherzustellen, dass sie zu den Parametern der Website passen. Ich vermute also, dass es ein Problem mit dem Ask- oder Bid-Preis gibt, den er erhält, und der Server ihn deshalb nicht akzeptiert.

Der folgende Code stammt aus dem Abschnitt, in dem ein Kaufauftrag erteilt wird:

RefreshRates();

ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,Slippage,Bid - SL*Point,Ask + TP*Point,comment,ExpertMagicNumber,0,Color);

ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,Slippage,Ask + SL*Point,Bid - TP*Point,comment,ExpertMagicNumber,0,Color);

Gibt es etwas Besonderes, das ich mit dem Ask-Preis machen sollte, um sicherzustellen, dass er dem entspricht, wonach die Website sucht, wenn sie die Bestellung erhält? Ich bin einfach davon ausgegangen, dass die Preise genau so sind, wie sie von der Website angegeben werden.

wie oben bearbeiten

OTR

 

JoseMoe System EA

janekpietrzyk:
Es wäre hilfreich, wenn jemand wüsste, wie man den einfachsten EA erstellt, der nur dann eine Position eröffnet, wenn es einen Ausbruch gibt - das wäre eine große Hilfe. Ich habe es versucht, aber ich weiß nicht wie.

am besten,

j

finden Sie RonaldRaygun EA in diesem Thread.(100 300 Pips täglich...)

OTR

 

Fehler bei nicht übereinstimmenden Daten

Hallo Coder

Ich bin immer noch meine ersten Schritte in MQL-Code zu lernen.

was ist der Grund, wenn ich folgende Meldung im Journal habe:

Testgenerator:

unmatched data error ( Volumengrenze 159 am 2009.05.06 19 15 überschritten )

wo muss ich im Code nachschauen?

Danke