Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 117

 
Yedelkin:

Und ohne "wenn"? ...

Ein "wenn" gibt es nicht. )))
 
tol64: Ein "wenn" gibt es nicht. )))
:)
 

Hallo, ich kann nicht verstehen, warum die Haltestellen nicht angezeigt werden?

input int         StopLoss=499;      // Stop Loss
input int         TakeProfit=999;   // Take Profit
input int         EA_Magic=12345;   // Magic Number советника
input double      Lot=0.1;          // Количество лотов для торговли

int OnInit()
  {
//--- Для работы с брокерами, использующими 5-ти значные котировки,
//--- умножаем на 10 значения SL и TP
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
void OnTick()
  {
//---
  
   MqlTick         latest_price;       // Будет использоваться для текущих котировок
   SymbolInfoTick(Symbol(),latest_price); // Получаем текущие цены
   MqlTradeRequest mrequest;   // Будет использоваться для отсылки торговых запросов
   MqlTradeResult  mresult;     // Будет использоваться для получения результатов выполнения торговых запросов
  
         mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(latest_price.ask,_Digits);           // последняя цена ask
         mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
         mrequest.tp = NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
         mrequest.symbol = _Symbol;                                            // символ
         mrequest.volume = Lot;                                                // количество лотов для торговли
         mrequest.magic = EA_Magic;                                            // Magic Number
         mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
         mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
         mrequest.deviation=100;                                               // проскальзывание от текущей цены
         //--- отсылаем ордер
         OrderSend(mrequest,mresult);

 
Top2n: Hallo, ich kann nicht verstehen, warum keine Stopps gesetzt werden?

Erstens ist eine Initialisierung erforderlich:

MqlTradeRequest mrequest={0};   // Будет использоваться для отсылки торговых запросов
MqlTradeResult  mresult={0};    // Будет использоваться для получения результатов выполнения торговых запросов

Zweitens hängt die Möglichkeit, Sl- und Tp-Aufträge zu platzieren, von dem vom Broker eingestellten Ausführungsmodus für Marktaufträge ab. Schauen Sie im Handbuch nach, wie viele dieser Modi es gibt, und prüfen Sie, welcher Modus vom Makler eingestellt ist.

 
Yedelkin:

Erstens ist eine Initialisierung erforderlich:

Zweitens hängt die Möglichkeit, Sl- und Tp-Aufträge zu platzieren, von dem vom Broker eingestellten Ausführungsmodus für Marktaufträge ab. Schauen Sie im Handbuch nach, wie viele solcher Modi es gibt, und prüfen Sie, welcher Modus vom Makler eingestellt ist.

Ich habe über ZeroMemory(mrequest) den Speicher auf Null gesetzt;

Ich verstehe nicht wirklich über die Orderausführungsmodi, alpari broker, ich denke alles ist Standard. Verdammter Blödsinn, will nicht und das war's. Ich habe bereits versucht, sl und tp zu verwenden, es wird der aktuelle Preis + sl angezeigt. Ich denke, das ist in Ordnung!

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Top2n:

Ich habe mit ZeroMemory(mrequest) den Speicher gelöscht;

Ich verstehe die Orderausführungsmodi nicht wirklich, alpari broker, ich denke, alles ist Standard. Verdammt, es funktioniert nicht, ich will es einfach nicht tun. Ich habe bereits versucht, sl und tp zu verwenden, es wird der aktuelle Preis + sl angezeigt. Ich denke, das ist in Ordnung!

Haben Sie irgendwelche Meldungen im Protokoll?
 
Top2n Ich verstehe die Auftragsausführungsmodi nicht wirklich, ich bin ein Alpari-Broker, ich denke, das ist alles Standard. Ich möchte nicht mit diesem Broker handeln, ich möchte nur nicht mit mehr als einem Markt handeln. Ich weiß nicht, was zu tun ist, wenn ich versuche, zurück zu gehen, um den Kommentar sl und tp?

Ich verfolge Alpari nicht, aber ich denke, dass alle Probleme, die Sie mit der Nichteinstellung der Werte hatten, mit Alpari zusammenhängen. Versuchen Sie, Ihre Bestellung über das MQ-Demokonto aufzugeben, und Sie werden keine Probleme haben.

Über die Modalitäten der Auftragsausführung. Sie verwenden die Funktion https://www.mql5.com/ru/docs/trading/ordersend. Bitte lesen Sie diesen Abschnitt des Leitfadens aufmerksam durch: https://www.mql5.com/ru/docs/constants/structures/mqltraderequest und beantworten Sie sich selbst die Frage: "Wie viele Ausführungsmodi stehen für Marktaufträge zur Verfügung". Wenn Sie diese Frage nicht beantworten können, fragen Sie bitte nach.

Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - Документация по MQL5
 
tol64: Gibt es irgendwelche Meldungen im Protokoll?
Die Entwickler haben noch keine Möglichkeit vorgesehen, in den Protokollmeldungen auf die Unmöglichkeit hinzuweisen, sl- und tp-Level in den Modi Market Execution und Exchange Execution zu setzen. Und es gibt keinen Grund, dies zu tun. Der Programmierer sollte den vom Makler eingestellten Modus bestimmen.
 
Yedelkin:
Die Entwickler haben noch nicht die Möglichkeit vorgesehen, in den Log-Meldungen über die Unfähigkeit, sl- und tp-Level in den Modi Market Execution und Exchange Execution zu setzen, zu reflektieren. Und dafür gibt es keinen Grund. Der Programmierer sollte den vom Makler eingestellten Modus bestimmen.
Auf jeden Fall sollten Sie nicht raten, sondern alle Fehler und Rückgabecodes analysieren. Es ist einfacher und schneller zu analysieren, was als nächstes zu tun ist. ))
 
tol64: Sie müssen dennoch alle Fehler und Rückgabecodes analysieren, um Vermutungen zu vermeiden. Es ist einfacher und schneller, herauszufinden, was als nächstes zu tun ist. ))
...Vor allem, wenn man weiß, dass "Fehler und Rückgabecodes" in diesem speziellen Fall einfach nicht vorgesehen sind :) Zweifellos ist die Frage an sich richtig, aber in diesem speziellen Fall wird sie nicht helfen :/
Grund der Beschwerde: