Wie programmiert man? - Seite 23

 
islandrock:
dieser Code lässt nicht jeden Handel, den mein EA eröffnet, 12 Stunden nach der Eröffnung ablaufen...

DieAblaufzeit der Order funktioniert nur bei schwebenden Orders. Wenn OrderSend() OP_BUY oder OP_SELL ist, müssen Sie Ihre Order innerhalb des Codes zeitlich festlegen. Hier ist ein einfaches Beispiel.

int OrderTime;

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask+TakeProfit*Point,"timetest",16384,0,Green)

OrderTime=TimeCurrent();

int total = OrdersTotal();

for(int cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if((OrderType() <= OP_SELL) && (OrderSymbol() == Symbol()) )

{

if(OrderType()==OP_BUY && TimeCurrent()-OrderTime>(12*60)*60)

{

OrderClose(OrderTicket(),LotsOptimized(),Bid,3,Violet);

}

}

}

Wackena

 

Code funktioniert nicht richtig

Ich habe dies verwendet, um den Status meines Kontos per E-Mail jede Stunde zu mir. jedoch, nachdem ich kompilieren und lud es. es gesendet, dass E-Mail perfekt die nächste Stunde bei Minute # 59, wie es soll, dann hat es nie eine andere wieder. was ich mache ich falsch? es sieht perfekt?

ich brauche es nicht bei Minute #59 ich brauche es nur jede Stunde!!

bool mail;

int start()

{

if (Minute()>=59 && !mail){

SendMail("Kontostatus","Kontostand ist="+DoubleToStr(Kontostand(),2)+"_Konto Eigenkapital ist="+DoubleToStr(KontoEigenkapital(),2)+

"_Konto Gewinn ist="+DoubleToStr(KontoGewinn(),2)+"_Konto Marge ist="+DoubleToStr(KontoMarge(),2)+

"_Konto Freie Marge ist="+DoubleToStr(KontoFreieMarge(),2));

mail=true;

}

 

vielleicht müssen Sie nur mail = false an einem gewissen Punkt setzen oder entfernen Sie einfach diesen Test auf Mail-Variable, weil natürlich der aktuelle Code nur 1 Mail senden wird.

 

Welcher Test für die mail-Variable? Ich verstehe nicht, bitte erklären.

wie wäre es, wenn ich direkt nach mail=true einfüge

if (minute()<=58 && !mail)

mail= false;

meinst du, das könnte funktionieren?...

ich glaube, es ist falsch kodiert

 

Ich denke, Sie können Folgendes einfügen

if (minute()<=58 && mail) // Vorsicht nicht !mail sondern mail

mail= false;

und das sollte aber außerhalb Ihres ersten if stehen, also nicht nach mail = true; sondern nach }

Es gibt wahrscheinlich bessere Möglichkeiten, das zu codieren, aber das sollte funktionieren.

 

Ich werde es versuchen.

Danke, ich werde es versuchen... ich werde Ihnen in zwei Stunden Bescheid geben.

 

großartig es funktioniert.... oder zumindest sieht es so aus

 

Brauche Hilfe bei diesem Teil des Codes

kann mir jemand sagen, wie man das richtig schreibt? ich versuche, die offenen Kauf- und Verkaufstransaktionen einzeln herauszufiltern...

d.h. : wenn open bid > 2.

wenn offener Ask >2

Den Rest habe ich verstanden, ich kann nur diesen Teil nicht richtig codieren.

Ich weiß, dass es einfach ist, aber ich reiße mir die Haare aus.

 

irgendjemand?

Irgendjemand? Wow, vielleicht war das eine schlechte Frage.

 

if(Open[0] > 2){ //open bid

//Ihr Code

}

if(Open[0]+(Ask-Bid) > 2){ //open ask

//Ihr Code

}

Je nach Broker funktioniert das Backtesting von Open Ask möglicherweise nicht.