Wenn es viele Zeichen gibt, dann gibt es auch viele "Öffnungen".
Danke, Kumpel. Wie kann ich es so einrichten, dass es eine Transaktion pro Tag auf dem aktuellen Instrument abreißen und andere Instrumente außer Acht lassen (EA steht auf mehreren Instrumenten)
sibiriyak73: Danke, Kumpel. Wie man es macht ein Geschäft pro Tag am aktuellen Symbol abreißen und andere Instrumente außer Acht lassen (EA steht auf mehreren Symbolen)
- in der Auftragshistorie nach der magischen Nummer und dem Symbol suchen, wenn der Zeitpunkt des Öffnens (oder Schließens?) des Auftrags mit dem aktuellen Datum übereinstimmt, dann OnTick() beenden
- den "neuen Balken" auf TF D1 kontrollieren
der erste Weg - mehr Schreibarbeit, aber im Tester, MT4 wird es sehr schnell funktionieren; der zweite Weg - 3 Zeilen Code, aber im Tester wird es "fressen" die Festplatte und die Testzeit wird länger sein
Ah, ich glaube, ich verstehe es, wenn Sie einen EA haben, der auf mehreren Instrumenten steht, dann müssen Sie nur eine Prüfung hinzufügen, dass der Auftrag zum EA gehört.
int OPEN=1;
int total=OrdersTotal();
for(int i=0; i<total; i++)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderCloseTime()==0 && OrderSymbol()==Symbol())
{
OPEN=0;
break;
}
}
if(OPEN==1)
{
int ticket1=OrderSend(Symbol(),OP_SELLSTOP,1.5,limit1,10,SL1,TP1,NULL,0,0,clrRed); //Здесь открываем
}
Ah, ich glaube, ich verstehe es, wenn Sie einen EA auf mehreren Instrumenten haben, dann müssen Sie nur eine Prüfung hinzufügen, dass der Auftrag zu dem EA gehört.
Dieser Code eröffnet eine große Anzahl von Angeboten. Die Idee ist richtig, aber wie kann sie richtig umgesetzt werden?
Alles schon vor langer Zeit geschrieben ... vor einer sehr langen Zeit.
Dieser Code prüft, was bereits auf dem Markt ist und was in der Historie steht, für den Fall, dass der Markt heute bereits geschlossen ist.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает флаг торгов сегодня. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool isTradeToDay(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (TimeDay (OrderOpenTime())==Day()
&& TimeMonth(OrderOpenTime())==Month()
&& TimeYear (OrderOpenTime())==Year()) return(True);
}
}
}
}
}
}
k=OrdersTotal();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (TimeDay (OrderOpenTime())==Day()
&& TimeMonth(OrderOpenTime())==Month()
&& TimeYear (OrderOpenTime())==Year()) return(True);
}
}
}
}
}
}
return(False);
}
Grüße. Das Problem ist, dass der EA, wenn er einen offenen Handel auf dem Konto sieht, keine weiteren Geschäfte eröffnet. Es ist wie "Sie haben offene Geschäfte in Ihrem Konto, warum wollen Sie, dass ich das mache". Ich muss ihm erklären, dass nicht mehr als ein Handel auf DIESEM WERKZEUG geöffnet werden sollte (EUR USD zum Beispiel), weil dieser EA auf wenige Symbole geöffnet ist. Ich denke, es wäre falsch, den gesamten Code zu zeigen (es ist ein großer Code mit deklarierten Variablen usw.).
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Wo liegt der Fehler?
Wenn es viele Zeichen gibt, dann gibt es auch viele "Öffnungen".
Wenn es viele Zeichen gibt, dann gibt es auch viele "Öffnungen".
Danke, Kumpel. Wie man es macht ein Geschäft pro Tag am aktuellen Symbol abreißen und andere Instrumente außer Acht lassen (EA steht auf mehreren Symbolen)
- in der Auftragshistorie nach der magischen Nummer und dem Symbol suchen, wenn der Zeitpunkt des Öffnens (oder Schließens?) des Auftrags mit dem aktuellen Datum übereinstimmt, dann OnTick() beenden
- den "neuen Balken" auf TF D1 kontrollieren
der erste Weg - mehr Schreibarbeit, aber im Tester, MT4 wird es sehr schnell funktionieren; der zweite Weg - 3 Zeilen Code, aber im Tester wird es "fressen" die Festplatte und die Testzeit wird länger sein
(EA steht auf mehreren Instrumenten)
Ah, ich glaube, ich verstehe es, wenn Sie einen EA haben, der auf mehreren Instrumenten steht, dann müssen Sie nur eine Prüfung hinzufügen, dass der Auftrag zum EA gehört.
Ah, ich glaube, ich verstehe es, wenn Sie einen EA auf mehreren Instrumenten haben, dann müssen Sie nur eine Prüfung hinzufügen, dass der Auftrag zu dem EA gehört.
Dieser Code eröffnet eine große Anzahl von Angeboten. Die Idee ist richtig, aber wie kann sie richtig umgesetzt werden?
Dieser Code eröffnet eine große Anzahl von Geschäften. Die Idee ist richtig, aber wie kann sie richtig umgesetzt werden?
Sie brauchen dies
Funktion isTradeToDay().
Diese Funktion gibt die Handelsflagge für heute zurück
Was können Sie aus einem Stück Code hier erraten?
Überprüfen Sie es höchstens einmal am Tag.
Guys Hilfe in der Berater müssen einen Handel pro Tag auf das Tool zu öffnen.
Versuchen Sie dies
Sie könnten dies versuchen.
Alles schon vor langer Zeit geschrieben ... vor einer sehr langen Zeit.
Dieser Code prüft, was bereits auf dem Markt ist und was in der Historie steht, für den Fall, dass der Markt heute bereits geschlossen ist.
Was können Sie aus einem Stück Code hier erraten?
Kontrollieren Sie es höchstens einmal pro Tag.