MetaTrader 5 herunterladen

Markttechnik-Code ich finde meinen Fehler nicht

Einloggen oder registrieren, um einen Kommentar zu schreiben
Mino1337
14
Mino1337  

Hallo,

ich habe versucht die simpelsten Regeln der Markttechnik in einen EA zu Programmieren. Das heisst, es wir der zunächst höchste Punkt im Chart gesucht, dann das Tal und dann wird eingestiegen wenn der vorher höchste Punkt überschritten wurde. Leider verpasst mein EA sehr viele Chancen. Im Minutenchart macht er 5 Trades pro Tag wo es hunderte sein müssten. Vielleicht könnte mal der ein oder andere über meinen Code schauen. Dankesehr =D.


double Lots = 0.1;
double TP = 40;

double hoechstesHigh1 = 0.0;
double hoechstesHigh2 = 0.0;

double niedrigstesLow = 0.0;

int letztesmalHigh = 0;

int Ticket = NULL;
bool OS = false;

void OnTick()
  {
  


if(hoechstesHigh1==0.0){
hoechstesHigh1=High[1];
letztesmalHigh=1;
}
if(niedrigstesLow==0.0&&letztesmalHigh==1){
niedrigstesLow=Low[1];
}

if(High[1]>hoechstesHigh1){
if(letztesmalHigh==0||letztesmalHigh==1){
hoechstesHigh1=High[1];
letztesmalHigh=1;
}
if(letztesmalHigh==2){
hoechstesHigh2=hoechstesHigh1;
hoechstesHigh1=High[1];
letztesmalHigh=3;
}

}

if(Low[1]<niedrigstesLow&&!niedrigstesLow==0.0&&(letztesmalHigh==1||letztesmalHigh==2)){
niedrigstesLow=Low[1];

letztesmalHigh=2;
}
Print("",letztesmalHigh);
if(letztesmalHigh==3&&Ask>hoechstesHigh2&&OrdersTotal()==0){
Ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,3,niedrigstesLow,Ask+TP*Point());
OS = OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES);
}

if(!OrdersTotal()==0){
hoechstesHigh1 = 0.0;
hoechstesHigh2 = 0.0;
niedrigstesLow = 0.0;
letztesmalHigh = 0;
}
  
}
Carl Schreiber
Moderator
8830
Carl Schreiber  
  1. Verwende doch den Styler (unter Werkzeuge, bzw. Ctrl+), dann ich Dein Code leichter lesbar!
  2. Du verwendet keine Schleifen (while, for) um durch den Chart zu pflügen.
  3. Es gibt iHighest() und iLowest(), orientiere Dich am Beispiel in der Referenz (Editor F1, wenn der Kursor auf der Funktion steht).
  4. Wenn Dein Code nicht tut, was Du willst, verwende den Debugger, um zu sehen was er macht bzw. nicht macht - geht viel schneller!
Einloggen oder registrieren, um einen Kommentar zu schreiben