[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

 

Im EA selbst wird der gesamte Code dargestellt.

Ich danke Ihnen allen sehr für Ihre Hilfe.

 
Sergstuddek:

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...
 
Roman.:
Lernen Sie zuerst, wie Sie den Code richtig einfügen - mit Zähler+Alt+M - und dann alles andere...
Вот в этом окошке будет код, если воспользоваться кнопкой SRC на верхней панели
 

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.

 
granit77:



Vielen Dank für Ihre Hilfe, sie hat mir sehr geholfen.
 
Hallo. Bitte helfen Sie einem leidenden Menschen.

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); // Открытие отложки на покупку в противополжну сторону до открытого ордера
}
Das ist besser.
Dateien:
 
Sergstuddek:

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.

 
prom18:

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);

 
Sorento:

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))

 
Figar0:

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.

Grund der Beschwerde: