Hilfe bei der Codierung - Seite 16

 
nontan:
Hi, genialer Coder & nette Leute:D

Jetzt entwickle ich einen einfachen EA, aber ich kann die folgenden Bedingungen nicht verstehen.

Wenn die vorherige Position durch Take Profit geschlossen wird, mache ich einen neuen Eintrag, der 20 Pips durch s/l und t/p zum nächsten offenen Preis setzt.(auf 5M Chart)

Ich habe versucht, einen zu schreiben.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

//Letzte Position war Sofortauftrag OP_BUY oder OP_SELL

{

if(OrderClosePrice() == OrderTakeProfit())

// WENN der Schlusskurs mit dem Take-Profit-Kurs über

einstimmt

{

if(OrderType() == OP_BUY)

//Dieser Ordertyp ist Kaufen

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Lots und andere Variablen werden von mir selbst definiert

}

else if(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}

}

Ich habe viele Versuche mit dem Strategy Tester gemacht, aber ich kann nicht so handeln, wie ich es mir wünsche.

Jemand kann mir bei dieser Frage helfen!!!

[lang=pl]Hallo,

Können Sie den gesamten Code von EA anhängen?

Vielen Dank!

Grzesiek[/lang]

 

...

Versuchen Sie, dies zum Vergleich heranzuziehen

if (NormalizeDouble(OrderClosePrice(),Digits) == NormalizeDouble(OrderTakeProfit(),Digits))

vielleicht hilft das

nontan:
Hi, genialer Coder & nette Leute:D

Jetzt entwickle ich einen einfachen EA, kann aber die folgenden Bedingungen nicht verstehen.

Wenn die vorherige Position durch Take Profit geschlossen wird, mache ich einen neuen Eintrag, der 20 Pips durch s/l und t/p zum nächsten offenen Preis setzt.(auf 5M Chart)

Ich habe versucht, einen zu schreiben.

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

//Letzte Position war Sofortauftrag OP_BUY oder OP_SELL

{

if(OrderClosePrice() == OrderTakeProfit())

// WENN der Schlusskurs mit dem Take-Profit-Kurs über

einstimmt

{

if(OrderType() == OP_BUY)

//Dieser Ordertyp ist Kaufen

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);// Lots und andere Variablen werden von mir selbst definiert

}

else if(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}

}

Ich habe viele Versuche mit dem Strategy Tester gemacht, aber ich kann nicht so handeln, wie ich es mir wünsche.

Jemand kann mir bei dieser Frage helfen!!!

 

Danke, Leute.

Ich habe versucht, NormarizeDouble einzufügen, aber es funktioniert nicht.

Könnt ihr mir erklären, warum es nicht funktioniert?

---------------------------------------------------

#include

#define MAGIC 20120101

#define COMMENT "Riding9"

extern double Lots = 0.1;

extern int Slippage = 3;

extern int SLpips = 20;

extern int TPpips = 50;

extern int StartTime = 1;

extern int FinishTime = 23;

extern int MAPeriod = 48;

int EntrySignal(int magic)

{

double pos = MyCurrentOrders(MY_OPENPOS, magic);

double Ma9 = iMA(NULL, 0, MAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);

int ret = 0;

if((pos <= 0) && (Close[3] Open[2] && Open[2] >= Ma9) || (Open[2] Ma9)) && (Close[1] > Open[1] && Open[1] > Ma9)) ret = 1;

else if((pos <= 0) && (Open[3] Ma9) && (Close[2] Ma9) && (Close[1] > Open[1] && Close[1] > Ma9)) ret = 1;

if((pos >= 0) && (Close[3] >= Ma9) && ((Close[2] < Open[2] && Open[2] Ma9 && Close[2] < Ma9)) && (Close[1] < Open[1] && Open[1] < Ma9)) ret = -1;//

else if((pos >= 0) && (Open[3] > Ma9 && Close[3] Open[2] && Open[2] < Ma9) && (Close[1] < Open[1] && Close[1] < Ma9)) ret = -1;

return(ret);

}

bool MyOrderSendSL(int type, double lots, double price, int slippage, int slpips, int tppips, string comment, int magic)

{

int mult=1;

if(Ziffern == 3 || Ziffern == 5) mult=10;

Schlupf *= mult;

if(type==OP_SELL || type==OP_SELLLIMIT || type==OP_SELLSTOP) mult *= -1;

double sl=0, tp=0;

if(slpips > 0) sl = Preis-slpips*Point*mult;

if(tppips > 0) tp = Preis+tppips*Punkt*mult;

return(MyOrderSend(type, lots, price, slippage, sl, tp, comment, magic));

}

int start()

{

if(Hour() >= StartTime && Hour() < FinishTime)

{

int sig_entry = EntrySignal(MAGIC);

if(sig_entry > 0)

{

MyOrderClose(Slippage, MAGIC);

MyOrderSendSL(OP_BUY, Lots, Ask, Slippage, SLpips,TPpips, COMMENT, MAGIC);

}

if(sig_entry < 0)

{

MyOrderClose(Slippage, MAGIC);

MyOrderSendSL(OP_SELL, Lots, Bid, Slippage, SLpips,TPpips, COMMENT, MAGIC);

}

if(OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

{

if(NormalizeDouble(OrderClosePrice(),Digits) == NormalizeDouble(OrderTakeProfit(),Digits))

{

if(OrderType() == OP_BUY)

{

OrderSend(OP_BUY,Lots,Ask,Slippage,SLpips,Ask+20*Point,"",MAGIC);

}

else if(OrderType() == OP_SELL)

{

OrderSend(OP_SELL,Lots,Bid,Slippage,SLpips,Bid-20*Point,"",MAGIC);

}

}

}

return(0);

}

return(0);

}

------------------------------------------------------

Bitte weisen Sie mich auf meinen Fehler hin, wenn Sie ihn entdecken.

Mit freundlichen Grüßen.

 

...

nontan,

Diese Zeile
if (OrderSelect(1,SELECT_BY_POS,MODE_HISTORY))

[/PHP]

wählt nicht den letzten abgeschlossenen Auftrag, sondern den ersten (nach dem anfänglichen Saldo) Auftrag in der Warteschlange für abgeschlossene Aufträge. Es wird also immer ein fester Auftrag geprüft, anstatt zu prüfen, was der letzte Auftrag war, und sich dann darauf einzustellen. Wenn Sie die letzte geschlossene Order prüfen möchten (die letzte in der Warteschlange für geschlossene Orders, aber seien Sie sich bewusst, dass Metatrader nicht garantiert, dass es die letzte ist, wenn nach Abschlussdatum sortiert wird), sollten Sie diese Form der Prüfung verwenden
[PHP]if (OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))
 

Vielen Dank, mladen

Ich habe noch nicht OrderHistoryTotal Funktion verwendet.Es ist eine richtige für diesen Code.

Schließlich habe ich einen Wunsch-Code nach modified.As Ergebnis EA funktioniert, um neue Eintrag nach bekam TakeProfit.

Vielen Dank für Ihre Corporate & all.

 

Ich brauche Ihre Hilfe Master Coder

Hallo, bitte ich brauche jemanden, der mir bei der Programmierung meiner Strategie hilft

 
johnray:
Hallo, bitte ich brauche jemanden, der mir bei der Programmierung meiner Strategie hilft

[lang=pl]Gib mir einfach ein paar Details

Prost[/lang]

 

ich habe eine pm geschickt

g.pociejewski:
[lang=pl]Gib mir einfach ein paar Details Danke[/lang]

Danke Meister, ich habe dir eine PM geschickt. Es ist ein bisschen kompliziert.

 

Code für automatische Aktualisierung

Ich verwende einen Indikator, der ständig aktualisiert werden muss. Ich verwende ein 15-Minuten-Diagramm, so dass es nicht braucht, um jeden Tick zu aktualisieren, obwohl das wäre schön, wenn es nicht ein großer Stromverbrauch ist. Es sollte zumindest eine Option für das Zeitintervall zwischen den einzelnen Aktualisierungen geben. Im Moment aktualisiere ich manuell jede Minute oder so, indem ich die Dropdown-Registerkarte "Charts" benutze und "Refresh" auswähle.

Gibt es einen Code oder eine Möglichkeit, die Indi und/oder den Chart automatisch zu aktualisieren, entweder durch zusätzlichen Code in der Indi oder in einem EA?

Danke, el bee

 

[langtitle=fr]Original Indikator Parabolic Sar von Wilder[/langtitle]

[lang=fr]
Hallo!

Ich bin auf der Suche nach dem ORIGINAL parabolic SAR, quiproquo von Wilder. Ich habe den Code dieses Indikators für die PRT-Plattform erstellt, aber ich kenne mich mit der Codierung in MT4 nicht aus.

Wenn jemand Kenntnisse in MT4 Kodierung hat, kann ich den Code per privater Nachricht geben, um dies in MT4 Kodierung anzupassen.

Danke
[/lang]