Statistik über die Verrutschung von Limitaufträgen an der Börse - Seite 5

 

Ich habe keinen unnötigen Thread erstellt, da das Thema der Diskussion mit dem Subgenre zusammenhängt. Ich werde jedoch eine rote Linie ziehen, um sofort deutlich zu machen, dass es nicht nötig ist, VOR ihr zu lesen.

DIE DISKUSSION BIS ZU DIESEM PUNKT HAT NICHTS MIT DER DANACH ZU TUN.

 
Es wurde ein Antrag an den SD gestellt, der einen Fehler reproduzierte - Ausrutschen des Testers bei einem Aktien-Limitauftrag

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

fxsaber, 2017.04.07 17:21

Expert Advisor für den Tester (Metaquotes-Demo)
#include <MT4Orders.mqh>

// Скольжение лимитника на RTS-6.17
void OnTick()
{
  MqlTick Tick;    
  SymbolInfoTick(_Symbol, Tick);

// 2017.04.06 10:00:00                [time]   [bid]   [ask]  [last] [volume]    [time_msc] [flags]  
// 2017.04.06 10:00:00   2017.04.06 10:00:00  114200  114260  114200        2 1491472800335      56  
  if (Tick.time_msc == 1491472800335)
    OrderSend(_Symbol, OP_BUYLIMIT, 1, 114250, 0, 0, 0);
}

Ergebnis

2017.04.07 18:18:45.366 RTS-6.17 : real ticks begin from 2017.04.06 00:00:00
2017.04.07 18:18:45.778 2017.04.06 10:00:00   buy limit 1.00 RTS-6.17 at 114250 (114200 / 114260 / 114200)
2017.04.07 18:18:46.051 2017.04.06 10:00:00   order [#2  buy limit 1.00 RTS-6.17 at 114250] triggered
2017.04.07 18:18:46.051 2017.04.06 10:00:00   deal #2  buy 1.00 RTS-6.17 at 114240 done (based on order #2)
2017.04.07 18:18:46.051 2017.04.06 10:00:00   deal performed [#2  buy 1.00 RTS-6.17 at 114240]
2017.04.07 18:18:46.051 2017.04.06 10:00:00   order performed buy 1.00 at 114240 [#2  buy limit 1.00 RTS-6.17 at 114250]

Limit gleitend auf Aktiensymbol - BAG!

Nachfolgend ein Gespräch
Support Team 2017.04.10 18:04

fxsaber

Der Grenzwert für ein Börsensymbol ist ein BAG!

Auf welche Grundlage stützen sich diese Schlussfolgerungen?

Angenommen, der aktuelle Markt ist 114300 / 114280.

Sie erteilen einen Limitauftrag zum Kauf des Limits 114250. Jemand auf dem Markt hat beschlossen, zu einem garantierten Preis zu verkaufen, und ein Verkaufslimit von 114200 gesetzt, was dazu geführt hat, dass er alle Kauflimitaufträge im Bereich des Marktes bis 114200 gesammelt hat.

Dies ist eine ganz normale Situation auf dem Aktienmarkt.

Support Team2017.04.11 09:58

fxsaber

  1. Es ging um den Prüfer.
  2. In diesem Szenario ist ein positiver Slippage nur für jemanden möglich, der ein Verkaufslimit gesetzt hat, das schlechter als der Markt ist. Und die entsprechenden Kauflimits werden ohne Slippage ausgeführt.

1. Es ist klar.

2. Was meinen Sie mit "nur"? Für diejenigen, die an der Börse handeln, wird es, gelinde gesagt, unangenehm. Im Übrigen haben sie bereits abweichende Meinungen geäußert.

Support-Team2017.04.11 11:00

fxsaber

Ich schlage vor, diese Diskussion in die Öffentlichkeit zu tragen. So wie Sie einige Kenntnisse und Erfahrungen haben, habe ich andere. Wie sie mit den anderen zusammenhängen, lässt sich nur in der Öffentlichkeit erkennen. Unterstützen Sie mich?

In diesem Fall bringt es nichts, sich an die Öffentlichkeit zu wenden - es gibt eine objektive Realität - die Börse funktioniert, sie ist nicht darauf angewiesen, die Mehrheit anzusprechen. Die Entscheidung wurde nicht umsonst getroffen, sondern auf der Grundlage von Anfragen derjenigen, die tatsächlich an der Börse handeln.

Und was das U-Boot anbelangt, so sollte das Prüfgerät keinen Schlupf haben. Ich denke, Sie werden mir da zustimmen.
Ich bin anderer Meinung - siehe frühere Antworten.

Hier ist das Gespräch.


Die Entwickler behaupten, dass, wenn Sie ein Verkaufslimit an einer Börse zu einem Preis senden, der schlechter als der aktuelle Preis ist, die besten Kauflimits mit positivem Schlupf ausgeführt werden. Dem kann ich nicht zustimmen.

Es ist nicht klar, nach welcher Logik die Entwickler zu dem Schluss kommen, dass es in Ordnung ist, Limit-Orders (so gut wie der Markt) im TESTER zu verschieben.


Offensichtlich ist eine Sichtweise falsch. Ich wäre dankbar, wenn sich jemand konstruktiv zu diesem Thema äußern würde.

 

hier? https://www.metatrader5.com/ru/terminal/help/general_concept#order_type

В режиме биржевого исполнения цена, указываемая при выставлении лимитных ордеров, не проверяется. Ее можно указать выше текущей цены Ask

(для ордеров на покупку) и ниже цены Sell (для ордеров на продажу). При выставлении ордера с такой ценой он практически сразу срабатывает и превращается в рыночный. Однако в отличие от рыночных ордеров, где трейдер фактически соглашается на сделку по неуказанной текущей рыночной цене, лимитный ордер будет исполнен по цене не худшей, чем указанная.

D.h. in diesem Fall wird das Verkaufslimit nicht schlechter als114200 ausgeführtund sammelt alle darüber liegenden Kauflimits ein, aber es verwandelt sich in eine Marktorder, warum wirkt sich das auf das Kauflimit aus? es ist der beste Preis für das Verkaufslimit, der innerhalb der Definition einer Limit-Order liegt (zu einem Preis, der nicht schlechter als der angegebene ist), zu dem das Verkaufslimit ausgeführt wird.

 
Im Folgenden finden Sie das Gespräch
Support Team 2017.04.10 18:04

fxsaber

Der Grenzwert für das Börsenkürzel lautet BAG!

Worauf stützen sich diese Schlussfolgerungen?

Angenommen, der aktuelle Markt ist 114300 / 114280.

Sie erteilen einen Limitauftrag zum Kauf des Limits 114250. Jemand auf dem Markt hat beschlossen, zu einem garantierten Preis zu verkaufen, und ein Verkaufslimit von 114200 gesetzt, was dazu geführt hat, dass er alle Kauflimitaufträge im Bereich des Marktes bis 114200 gesammelt hat.

Dies ist eine ganz normale Situation auf dem Devisenmarkt.

Börsenlimitaufträge können nicht in die Plus- oder Minusrichtung gleiten. Das obige Beispiel enthält einen logischen Fehler. Die Tatsache, dass die Gegenpartei eine Limit-Order bei 114200 gesetzt hat (was schlechter ist als der Markt), bedeutet nicht, dass das Kauflimit bei 114240 statt 114250 ausgeführt wird. In diesem Fall erhält der Kontrahent bei 114250 einen besseren Preis von uns und geht im Orderbuch weiter nach unten, wodurch er das erforderliche Volumen erhält und sich sein Durchschnittspreis verschlechtert. Aber unser Auftrag wird ohne Schlupf ausgeführt.
 
Vasiliy Sokolov:
Es folgt ein Gespräch
Börsen-Limitaufträge können nicht ins Plus oder Minus rutschen. Das obige Beispiel enthält einen logischen Fehler. Nur weil die Gegenpartei einen Limit-Verkaufsauftrag zu 114200 (der unter dem Marktpreis liegt) erteilt, bedeutet das nicht, dass das Kauflimit zu 114240 statt zu 114250 erfüllt werden kann. In diesem Fall erhält der Kontrahent bei 114250 einen besseren Preis von uns und geht im Orderbuch weiter nach unten, wodurch er das erforderliche Volumen erhält und sich sein Durchschnittspreis verschlechtert. Aber unser Auftrag wird ohne Schlupf ausgeführt.
Ich stimme mit meinem Vorredner überein. Das einzige, womit ich nicht einverstanden bin, ist "kein Schlupf").
 
 
Vasiliy Sokolov:
Nachfolgend ein Gespräch
Market Limit Orders können nicht nach oben oder unten rutschen. In diesem Beispiel liegt ein logischer Fehler vor. Die Tatsache, dass die Gegenpartei einen Limit-Verkaufsauftrag zu 114200 erteilt hat (was schlechter ist als der Marktpreis), bedeutet nicht, dass das Kauflimit zu 114240 statt 114250 ausgeführt wird. In diesem Fall erhält der Kontrahent bei 114250 einen besseren Preis von uns und geht im Orderbuch weiter nach unten, wodurch er das erforderliche Volumen erhält und sich sein Durchschnittspreis verschlechtert. Aber unser Auftrag wird ohne Schlupf ausgeführt.

Ich stimme zu. Bei diesem Beispiel war ich etwas voreilig.

Stellen Sie sich einen Fall wie diesen vor:

Hier ist ein solcher Expert Advisor:

//+------------------------------------------------------------------+
//|                                               MarketBuyLimit.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#include <Trade\Trade.mqh>

int ExtLastHour=0;
int ExtOverMarket=1000;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlDateTime dt;
   TimeTradeServer(dt);
//---
   if(dt.hour!=ExtLastHour)
     {
      CTrade  trade;
      MqlTick tick;
      double  point=SymbolInfoDouble(Symbol(),SYMBOL_POINT);
      //--- получим тик
      SymbolInfoTick(Symbol(),tick);
      //--- есть позиции?
      if(!PositionsTotal())
        {
         if(!trade.BuyLimit(1.0,tick.ask+ExtOverMarket*point,Symbol()))
           Print("BuyLimit setup failed");
        }
      else
        {
         if(!trade.SellLimit(1.0,tick.bid-ExtOverMarket*point,Symbol()))
           Print("BuyLimit setup failed");
        }
      ExtLastHour=dt.hour;
     }
  }

D.h. wir eröffnen und schließen mit Limit-Orders, die 1000 Pips besser sind als der Markt (Preis über Ask für Buy Limit und Preis unter Bid für Sell Limit).

Hier sehen Sie, wie ein Geschäftsdiagramm im Falle einer Ausführung ohne Slippage aussieht:

Und so sieht es aus, wenn es mit einem Ausrutscher ausgeführt wird:


Versuchen wir zu überlegen, wie wir die beiden Optionen richtig kombinieren können.

 

Wir haben die notwendigen Änderungen vorgenommen, um beide Fälle von Limit-Orders im Börsenmodus korrekt zu behandeln - besser als der Markt und schlechter als der Markt.

Wird nach dem Update von MetaQuotes-Demo in den nächsten Tagen verfügbar sein.

 
MQ Alexander:

Wir haben die notwendigen Änderungen vorgenommen, um beide Fälle von Limit-Orders im Börsenmodus korrekt zu behandeln - besser als der Markt und schlechter als der Markt.

Sie wird nach dem MetaQuotes-Demo-Update in den nächsten Tagen verfügbar sein.

Forum zum Thema Handel, automatische Handelssysteme und Testen von Handelsstrategien

FORTS. Fragen zur Ausführung

fxsaber, 2017.02.22 23:32

Es gibt zwei "Arten" von Begrenzern - Notierung und Ausführung. Das Angebot ist genauso gut wie der aktuelle Preis (und nicht gleich). Die anderen sind Exekution.

Notierte Limiter müssen im Tester genau zum angegebenen Preis ausgeführt werden.

Ausführungslimits - zum Preis des Ticks, auf den sie gesetzt werden (SellLimit - Bid, BuyLimit - Ask), als ob sie keine Limits, sondern Marken wären.


Wird es diese Logik geben?

 
fxsaber:

Notierte Limiter müssen im Tester genau zum notierten Preis ausgeführt werden.

Ja

Execution Limits - zum Preis des Ticks, auf den er gesetzt ist (SellLimit - Bid, BuyLimit - Ask), als ob es sich nicht um Limits, sondern um Märkte handelt.
Genauer gesagt - für die Börse werden Limit-Orders, die zum besseren Marktpreis (höherer Ask für BuyLimit und niedrigerer Bid für SellLimit) platziert wurden, sofort nach ihrer Platzierung (ohne auf den nächsten Preis zu warten) zum aktuellen Marktpreis (Ask für BuyLimit, Bid für SellLimit) ausgeführt (aktiviert).