FORTS SL und TP - Seite 6

 
ottenand:
Sie wollen also, dass eine Verkaufslimit-Order in der Tasse zwischen den Kauflimiten steht?

Nein, er will wieder einmal beweisen, dass er der einzige D'Artagnan hier ist.
 
prostotrader:


Nein, um einen Auftrag auf dem Markt zu platzieren (und er wird dort sein), sollten Sie

request.type_filling=ORDER_FILLING_RETURN.

Hinzugefügt

Ändern Sie ORDER_FILLING_IOC in ORDER_FILLING_RETURN (in meinem Beispiel)

und den Preis auf SYMBOL_SESSION_PRICE_LIMIT_MAX

und Sie werden den Auftrag auf dem Markt sehen

:) Und welche Auftragsart sollte verwendet werden?
 
Yury Kulikov:
:) Welche Art von Bestellung sollte ich verwenden?

void SetSyncOrder(const bool deffered)
  {
   MqlTradeRequest request={0};
   MqlTradeResult  result={0};
   order_ticket=0;
   request.magic=Magic;
   request.symbol=Symbol();
   request.volume=1;
   if(deffered)
   {
     request.type_filling=ORDER_FILLING_RETURN;  //Отложенный ордер
   }
   else
   {
     request.type_filling=ORDER_FILLING_IOC;  //Рыночный ордер
   }  
   request.type_time=ORDER_TIME_DAY;
   request.action=TRADE_ACTION_PENDING;
   request.type=ORDER_TYPE_SELL_LIMIT;
   request.comment="";
   if(deffered)
   {
     request.price = SymbolInfoDouble(Symbol(),SYMBOL_SESSION_PRICE_LIMIT_MAX);
   }
   else
   {
     request.price = SymbolInfoDouble(Symbol(),SYMBOL_SESSION_PRICE_LIMIT_MIN);
   }  
   if(OrderSend(request,result))
     {
      if(result.retcode==TRADE_RETCODE_DONE)
        {
         order_ticket=result.order;
         if(OrderSelect(order_ticket))
           {
            ENUM_ORDER_STATE order_state=ENUM_ORDER_STATE(OrderGetInteger(ORDER_STATE));
            switch(order_state)
              {
               case ORDER_STATE_STARTED:
               case ORDER_STATE_REQUEST_ADD:
               case ORDER_STATE_REQUEST_MODIFY:
               case ORDER_STATE_REQUEST_CANCEL:
                  Print(__FUNCTION__,": Order is busy! State: ",EnumToString(order_state));
                  break;
               case ORDER_STATE_CANCELED:
               case ORDER_STATE_PARTIAL:
               case ORDER_STATE_FILLED:
               case ORDER_STATE_REJECTED:
               case ORDER_STATE_EXPIRED:
                  Print(__FUNCTION__,": Order not found.");
                  break;
               case ORDER_STATE_PLACED:
                 Print(__FUNCTION__,": Sync Order place done and found in terminal.");
               break;
              }
           }
        }
     }
   else {Print("Order not sent.");}
  }
Die Preise sind als Beispiel angegeben
Dateien:
 
prostotrader:


Ich will gar nichts.

Lesen Sie den gesamten Thread sorgfältig durch.

Erklären Sie nichts, sie versuchen, Ihnen zu helfen, versuchen Sie, es aufzunehmen und zu verstehen. Nur Kauflimits können unter dem aktuellen Börsenkurs liegen. Alles andere, was unter dem Preis liegt, kann eine Stop-Order auf dem Server des Brokers sein. Dieser Limit-Verkaufsauftrag wurde zum nächstfolgenden Schlusskurs, dem Marktpreis, ausgeführt, denn man kann nicht setzen, was man nicht setzen kann, d. h., Sie haben Ihren Limit-Verkaufsauftrag in der Kaufzeile unter dem Preis im Stapel platziert. Wenn Sie unter dem Preis mit einer Bedingung verkaufen wollen, setzen Sie einen Verkaufsstopp auf dem Server des Brokers.
 
ottenand:
Erklären Sie nichts, sie versuchen, Ihnen zu helfen, versuchen Sie, sich in die Sache hineinzuversetzen und es herauszufinden. Nur Kauflimits können unter dem aktuellen Börsenkurs liegen. Alles andere, was unter dem Preis liegt, kann in Form einer Stop-Order auf dem Server des Brokers erfolgen. Dieser Limit-Verkaufsauftrag wurde zum nächstfolgenden Schlusskurs, dem Marktpreis, ausgeführt, denn man kann nicht platzieren, was man nicht platzieren kann, d. h. Sie haben Ihren Limit-Verkaufsauftrag in der Kaufzeile unter dem Preis im Stapel platziert. Wenn Sie unter dem Preis mit einer Bedingung verkaufen wollen - setzen Sie einen Verkaufsstopp auf dem Server an den Broker.

Dann brauchen Sie es auch nicht zu erklären...
 
prostotrader:
   request.type=ORDER_TYPE_SELL_LIMIT;

Warum zitieren Sie einen so langen Text auf eine einfache Frage, d.h. Ihre Antwort: Sell Limit order type.

 
Yury Kulikov:

Warum zitieren Sie einen so langen Text auf eine einfache Frage, d.h. Ihre Antwort: Sell Limit order type.


:)
 
Nun, das liegt an Ihnen =)
 

Korrigieren Sie mich, wenn ich irgendwo falsch liege =)

 
Yury Kulikov:

Warum zitieren Sie einen so langen Text auf eine einfache Frage, d.h. Ihre Antwort: Sell Limit order type.


Jurij!

Ich habe die Datei (Plaza II Spezifikation)

Nirgendwo in der Spezifikation steht eine halbe Zeile über Limit, Market oder Pending Order.

Aufträge an der Börse werden nach 4 Hauptparametern angenommen

1. Preis

2. Auftragsrichtung (Kauf/Verkauf)

3. Band .

Typ(in MMS).

Dies wird von den Entwicklern als Limit, Market oder Pending Order bezeichnet.

Um Aufträge richtig zu platzieren, müssen wir verstehen, wie diese Aufträge von der Börse wahrgenommen werden

gemäß der Spezifikation.

Hinzugefügt

Damit der Auftrag im Stapel bleibt, muss zum Beispiel

im Bereich SELL

Es genügt, einen der Preise aus der Verkaufszone einzustellen

und request.type_filling=ORDER_FILLING_RETURN;

Wenn Sie jedoch einen Preis aus der Kaufzone festlegen, wird Ihr Auftrag sofort ausgeführt.

Deshalb habe ich die Aufträge als "pending" bezeichnet, um mehr oder weniger mit der Marktspezifikation übereinzustimmen:

Pending - ein Auftrag, der auf dem Markt "steht"

Markt - dieser Auftrag kann zu jedem Preis ausgeführt werden.

Limitauftrag - dieser Auftrag wird zu dem im Auftrag angegebenen Preis ausgeführt.