
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Dieser Teil
if(newbar==Time[0])return(0);
sonst newbar=Zeit[0];
int ticket, gesamt;
if(Balken<100)
{
Print("Balken weniger als 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit kleiner als 10");
return(0); // TakeProfit prüfen
}
Verhindert, dass das Ea Aufträge zu einem bestimmten Zeitpunkt schließt, wenn es sich nicht um den ersten Tick eines neuen Balkens handelt und wenn der Gewinn nicht > 10 Pips istHallo mladen, ich habe diesen Teil des Codes entfernt und mein ea schließt immer noch nicht zu meinem gewünschten Zeitpunkt.
Haben Sie eine Idee, was der Grund dafür sein könnte? Danke!
Viele Grüße
Ryan
Hallo mladen, ich habe diesen Teil des Codes entfernt, aber mein Ea schließt immer noch nicht zu der von mir gewünschten Zeit.
Haben Sie eine Idee, woran das liegen könnte? Danke!
Mit freundlichen Grüßen
RyanSo wie es geschrieben ist, werden die Aufträge nur geschlossen, wenn die Brokerzeit genau 07:00:00 ist.
So wie es geschrieben ist, werden Aufträge nur geschlossen, wenn die Brokerzeit genau 07:00:00 ist.
Hallo mladen, gibt es eine andere Möglichkeit, da es hier nicht zu funktionieren scheint.
Mit freundlichen Grüßen
Ryan
Hallo mladen, gibt es einen anderen Weg um dies zu umgehen, da es hier nicht zu funktionieren scheint.
Mit freundlichen Grüßen
RyanVersuchen Sie es mit
If (TimeCurrent()>= StringToTime("07:00:00"))
stattdessen
Versuchen Sie die Verwendung von
If (TimeCurrent()>= StringToTime("07:00:00"))
stattdessenHallo mladen, es funktioniert immer noch nicht. Ich frage mich, ob es an diesen Zeilen hier liegen könnte... entweder die OrdersTotal oder OrderSelect könnten das Problem verursachen?
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
Mit freundlichen Grüßen
Ryan
Hallo mladen, es funktioniert immer noch nicht. Ich frage mich, ob es an diesen Zeilen hier liegen könnte... entweder die OrdersTotal oder OrderSelect könnten das Problem verursachen?
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
Mit freundlichen Grüßen
RyanNein. Diese Zeilen sind korrekt.
Nein. Diese Zeilen sind korrekt
Hallo mladen, weil ich mein Ea so eingestellt habe, dass ich zu jedem Zeitpunkt nur 1 Handel habe und ich habe bemerkt, dass OrdersTotal meine int i Anzahl auf negative 0 durch 1-1 setzt, i>=0; i-- wird meine i=-1 machen
Ich frage mich also, ob dies der Fehler sein könnte.
else if(total > 1) //zur Schließung von Aufträgen basierend auf dem Timing... noch nicht gelöst.
{
if (Stunde()==7 && Minute()==30)
{
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
pBid=MarketInfo(OrderSymbol(),MODE_BID);
OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);
}
if (OrderType()==OP_SELL)
{
pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),pAsk,1,Rot);
}
}
}
}//
}
return(0);
}
Hallo mladen, weil ich mein Ea so eingestellt habe, dass es zu jedem Zeitpunkt nur 1 Handel hat und ich habe bemerkt, dass OrdersTotal meine int i Anzahl auf negative 0 durch 1-1 setzt, i>=0; i-- wird meine i=-1 machen
Ich habe mich gefragt, ob dies der Fehler sein könnte.
else if(total > 1) //zur Schließung von Aufträgen basierend auf dem Timing... noch nicht geklärt.
{
if (Stunde()==7 && Minute()==30)
{
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
pBid=MarketInfo(OrderSymbol(),MODE_BID);
OrderClose(OrderTicket(),OrderLots(),pBid,1,Blue);
}
if (OrderType()==OP_SELL)
{
pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),pAsk,1,Rot);
}
}
}
}//
}
return(0);
}Ersetzen Sie bitte die folgende Zeile: f (Hour()==7 && Minute()==30) durch die Zeile, die ich Ihnen geschickt habe, und versuchen Sie dann
OrdersTotal() gibt 1 zurück, wenn eine offene Order vorhanden ist. Wenn Sie OrderSelect() verwenden, wird diese 0 (OrdersTotal()-1) die richtige Order auswählen. Wenn OrdersTotal() 0 zurückgibt, dann gibt es keine geöffneten Aufträge im aktiven Auftragspool
Bitte ersetzen Sie dies: f (Hour()==7 && Minute()==30) mit der Zeile, die ich Ihnen geschickt habe, und versuchen Sie es, dann wird OrdersTotal() 1 zurückgeben, wenn es eine offene Order gibt. Wenn Sie OrderSelect() verwenden, wird diese 0 (OrdersTotal()-1) die richtige Order auswählen. Wenn OrdersTotal() 0 zurückgibt, gibt es keine geöffneten Aufträge im aktiven Auftragspool.
Hallo mladen, leider habe ich es gerade noch einmal versucht und es funktioniert immer noch nicht.
Gibt es eine andere Möglichkeit, wie ich meinen Handel basierend auf einem bestimmten Zeitpunkt schließen kann?
Mit freundlichen Grüßen
Ryan
Bitte ersetzen Sie diese: f (Hour()==7 && Minute()==30) mit der Zeile, die ich Ihnen geschickt habe, und versuchen Sie es, dann wird OrdersTotal() 1 zurückgeben, wenn es eine offene Order gibt. Wenn Sie OrderSelect() verwenden, wird diese 0 (OrdersTotal()-1) die richtige Order auswählen. Wenn OrdersTotal() 0 zurückgibt, gibt es keine geöffneten Aufträge im aktiven Auftragspool.
Hallo mladen, ich habe es geschafft, das Problem zu lösen. es scheint, als ob dieser Liner das Problem verursacht hat. der Code funktioniert, nachdem ich ihn entfernt habe.
else if(gesamt > 1)
Danke für deine Hilfe...
Mit freundlichen Grüßen
Ryan