[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 50
Ich habe gerade begonnen, MQL zu lernen und habe beschlossen, meinen ersten Expert Advisor zu schreiben.
Ich möchte erklären, warum er die ausstehenden Aufträge nicht öffnet und was das Problem ist.
int OpenStops() { if(OrderSelect(CalculateCurrentOrders1(Symbol(),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Prüfung auf eine offene Kauforder int-Ticket; double LotSize=OrderLots(); // Losgröße für offene Aufträge double OpenPrice=OrderOpenPrice(); // Offener Preis der Bestellung ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Öffnen Sie eine Verkaufsorder in die entgegengesetzte Richtung vor der Open-Order ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Eröffnen einer Kaufposition für die Fortsetzung der offenen Order
if(OrderSelect(CalculateCurrentOrders1(Symbol())SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Auf eine offene Verkaufsorder prüfen ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Eröffnung einer schwebenden Kauforder ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,Eröffnungskurs+DS*Punkt,0,SL*Punkt,TP*Punkt,"",MAGIC,0,Blue); // Öffnen Sie eine ausstehende Kauforder vor der Eröffnungsorder }
Lernen Sie zuerst, wie man den Code richtig einfügt - über Zähler+Alt+M - und dann alles andere...
Können Sie ein Skript oder einen EA vorschlagen, der Informationen auf dem Bildschirm anzeigt (Spread, Stop-Level, offene Trades, Gewinn bei Trades, Gewinn für den Tag usw.)? Danke.
Ich habe gerade begonnen, MQL zu lernen und beschlossen, meine erste Expert Advisor zu schreiben, aber ich habe ein Problem
im Code, schwebende Aufträge nicht öffnen, bitte sagen Sie mir, warum und was das Problem ist.
int OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупкуint ticket;
double LotSize=OrderLots(); // Размер лота открытого ордераdouble OpenPrice=OrderOpenPrice(); // Цена открытия открытого ордера
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на продажу в противополжну сторону до открытого ордера
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в сторону продолжения до открытого ордераif(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Проверка на то что открытый ордер на продажу
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на покупку в сторону продолжения до открытого ордера
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в противополжну сторону до открытого ордера
}
Ich kann das Problem mit den schwebenden Aufträgen im Code nicht erkennen, ich muss nur fragen, warum.
Der Reihe nach:
if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупкуint ticket;
OrderSelect hat CalculateCurrentOrders1 außerhalb des Bereichs, der maximale "POS" wäre CalculateCurrentOrders1(Symbol())-1. Die if-Konstruktion selbst: Wenn die Bedingung erfüllt ist, deklarieren Sie eine "Ticket"-Variable? Eine geschweifte Klammer ist eindeutig irgendwo nötig. Ich kann einfach nicht verstehen, was Sie hier versuchen. Du stehst offensichtlich am Anfang eines langen Weges, ich hätte es für dich schreiben können, aber es gibt keinen Sinn in diesem Code, also ist es eine "Lernaufgabe", also willst du es selbst tun. Und das zu Recht. Wenn Sie genauere Fragen haben, helfen wir Ihnen gerne weiter.
Ich war selbst verwirrt von den Klammern, deshalb habe ich den Beitrag korrigiert.
Können Sie ein Skript oder einen EA vorschlagen, der Informationen auf dem Bildschirm anzeigt (Spread, Stop-Level, offene Trades, Gewinn bei Trades, Gewinn für den Tag usw.)? Ich danke Ihnen.
Alles außer der Spreizanzeige befindet sich in den Registerkarten des Terminals. Ich bezweifle, dass das Drehbuch dies deutlicher zeigt.
Und der Spread in Pips kann auf einem Chart durch eine zusätzliche Linie im EA angezeigt werden:
OrderSelect hat CalculateCurrentOrders1 außerhalb des Bereichs, der maximale "POS" wäre CalculateCurrentOrders1(Symbol())-1. Die if-Konstruktion selbst: Wenn die Bedingung erfüllt ist, deklarieren Sie eine "Ticket"-Variable? Ich brauche offensichtlich irgendwo geschweifte Klammern. Ich kann einfach nicht verstehen, was Sie da versuchen. Sie stehen offensichtlich am Anfang eines langen Weges, ich hätte es für Sie schreiben können, aber es gibt keinen Sinn in diesem Code, so ist es eine "Lernkurve", so dass Sie es selbst tun wollen. Und das zu Recht. Wenn Sie genauere Fragen haben, helfen wir Ihnen gerne weiter.
Z.I. Ich war selbst verwirrt durch Ihre Klammern, ich habe den Beitrag korrigiert.
Vielen Dank, dass Sie mich auf meine Nachricht hingewiesen haben.
Die Idee ist wahrscheinlich viel einfacher als mein Code)))) Die Idee dieses Codes ist es, die ausstehenden Aufträge relativ zum letzten offenen Auftrag zu setzen, bzw. relativ zum Eröffnungskurs und Volumen des letzten offenen Auftrags.
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.
Im EA selbst wird der gesamte Code dargestellt.
Ich danke Ihnen allen sehr für Ihre Hilfe.
Hallo. Bitte helfen Sie einem leidenden Menschen.
Ich habe gerade begonnen, MQL zu lernen und habe beschlossen, meinen ersten Expert Advisor zu schreiben.
Ich möchte erklären, warum er die ausstehenden Aufträge nicht öffnet und was das Problem ist.
int OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol(),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Prüfung auf eine offene Kauforder
int-Ticket;
double LotSize=OrderLots(); // Losgröße für offene Aufträge
double OpenPrice=OrderOpenPrice(); // Offener Preis der Bestellung
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Öffnen Sie eine Verkaufsorder in die entgegengesetzte Richtung vor der Open-Order
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Eröffnen einer Kaufposition für die Fortsetzung der offenen Order
if(OrderSelect(CalculateCurrentOrders1(Symbol())SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Auf eine offene Verkaufsorder prüfen
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Eröffnung einer schwebenden Kauforder
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,Eröffnungskurs+DS*Punkt,0,SL*Punkt,TP*Punkt,"",MAGIC,0,Blue); // Öffnen Sie eine ausstehende Kauforder vor der Eröffnungsorder
}
Lernen Sie zuerst, wie man den Code richtig einfügt - über Zähler+Alt+M - und dann alles andere...
Lernen Sie zuerst, wie Sie den Code richtig einfügen - mit Zähler+Alt+M - und dann alles andere...
Können Sie ein Skript oder einen EA vorschlagen, der Informationen auf dem Bildschirm anzeigt (Spread, Stop-Level, offene Trades, Gewinn bei Trades, Gewinn für den Tag usw.)? Danke.
Vielen Dank für Ihre Hilfe, sie hat mir sehr geholfen.
Ich habe gerade begonnen, MQL zu lernen und beschlossen, meine erste Expert Advisor zu schreiben, aber ich habe ein Problem
im Code, schwebende Aufträge nicht öffnen, bitte sagen Sie mir, warum und was das Problem ist. Das ist besser.
Ich kann das Problem mit den schwebenden Aufträgen im Code nicht erkennen, ich muss nur fragen, warum.
Der Reihe nach:
OrderSelect hat CalculateCurrentOrders1 außerhalb des Bereichs, der maximale "POS" wäre CalculateCurrentOrders1(Symbol())-1. Die if-Konstruktion selbst: Wenn die Bedingung erfüllt ist, deklarieren Sie eine "Ticket"-Variable? Eine geschweifte Klammer ist eindeutig irgendwo nötig. Ich kann einfach nicht verstehen, was Sie hier versuchen. Du stehst offensichtlich am Anfang eines langen Weges, ich hätte es für dich schreiben können, aber es gibt keinen Sinn in diesem Code, also ist es eine "Lernaufgabe", also willst du es selbst tun. Und das zu Recht. Wenn Sie genauere Fragen haben, helfen wir Ihnen gerne weiter.
Ich war selbst verwirrt von den Klammern, deshalb habe ich den Beitrag korrigiert.
Können Sie ein Skript oder einen EA vorschlagen, der Informationen auf dem Bildschirm anzeigt (Spread, Stop-Level, offene Trades, Gewinn bei Trades, Gewinn für den Tag usw.)? Ich danke Ihnen.
Alles außer der Spreizanzeige befindet sich in den Registerkarten des Terminals. Ich bezweifle, dass das Drehbuch dies deutlicher zeigt.
Und der Spread in Pips kann auf einem Chart durch eine zusätzliche Linie im EA angezeigt werden:
Kommentar((Ask - Bid) / Punkt);
Ich bin stolz, Sie zu kennen.
Es ist keine Schande, sich die Zeit zu nehmen, alles durchzukauen.
Gut gemacht!
Danke!
Ich auch.
sergeev - Respekt und Achtung)))
P.S. Entschuldigung, wenn ich ein wenig vom Thema abweiche))
Der Reihe nach:
OrderSelect hat CalculateCurrentOrders1 außerhalb des Bereichs, der maximale "POS" wäre CalculateCurrentOrders1(Symbol())-1. Die if-Konstruktion selbst: Wenn die Bedingung erfüllt ist, deklarieren Sie eine "Ticket"-Variable? Ich brauche offensichtlich irgendwo geschweifte Klammern. Ich kann einfach nicht verstehen, was Sie da versuchen. Sie stehen offensichtlich am Anfang eines langen Weges, ich hätte es für Sie schreiben können, aber es gibt keinen Sinn in diesem Code, so ist es eine "Lernkurve", so dass Sie es selbst tun wollen. Und das zu Recht. Wenn Sie genauere Fragen haben, helfen wir Ihnen gerne weiter.
Z.I. Ich war selbst verwirrt durch Ihre Klammern, ich habe den Beitrag korrigiert.
Vielen Dank, dass Sie mich auf meine Nachricht hingewiesen haben.
Die Idee ist wahrscheinlich viel einfacher als mein Code)))) Die Idee dieses Codes ist es, die ausstehenden Aufträge relativ zum letzten offenen Auftrag zu setzen, bzw. relativ zum Eröffnungskurs und Volumen des letzten offenen Auftrags.