Lavoro reale su MT5 NDD - pagina 10

 

Metatrader ha una limitazione significativa, non si può piazzare un limite ad un prezzo peggiore del prezzo corrente. Questo impedisce a molte strategie di essere implementate in Metatrader.

Per esempio, vuoi essere in grado di vendere quando il prezzo Bid raggiunge un livello di prezzo, ma con uno slippage negativo che non superi N pip. Questo è molto necessario quando non c'è abbastanza volume al miglior prezzo per riempire il volume di cui hai bisogno, ma è necessario eseguire, perché la logica della strategia è così impostata (nel tester, per esempio).

In questo caso, non appena appare il prezzo Bid di cui avete bisogno, impostate il SellLimit al prezzo Bid-N, cioè di N pip peggio del prezzo corrente. Così facendo, otterrete un riempimento maggiore del vostro limite al prezzo medio ponderato, il peggiore dei quali non sarà inferiore a N pip dal prezzo Bid corrente.

Questa è in realtà una cosa d'archivio. E i broker competenti hanno tali ordini limite condizionati con un parametro aggiuntivo - il prezzo peggiore tra quelli che formano il prezzo medio ponderato. Tali limiti condizionali non sono in grado di peggiorare la velocità di esecuzione del broker, perché sono memorizzati nella stessa tabella dei limiti classici.

 
hrenfx:

Leggi più attentamente: su ECN puro e ECN/STP.

Rifiuto e slittamento del limite positivo:

Su STP, l'ordine limite sarà inviato se il prezzo da esso è migliore o uguale all'ordine limite. Inoltre, mentre il tuo ordine sta andando a STP, il prezzo può cambiare in qualsiasi direzione: migliorare ancora (slippage positivo), uscire dalla zona limite (re-jct).

Grazie. Ma il punto seguente non è chiaro. Dalla tua descrizione si evince che l'ECN non ha uno stack comune di mercato interno ed esterno e il mercato esterno non ha sempre un limit slip e se lo fa è all'ultimo momento quando il prezzo può scivolare da qualche parte e può anche portare a un re-ject, anche se il limit slip è stato inviato dal trader in anticipo e il prezzo lo ha colpito correttamente. Questa descrizione è davvero vera, perché sembra improbabile che l'ordine limite inviato in anticipo non venga eseguito perché l'ECN non è riuscito a metterlo nel pool generale all'ultimo momento. Ancora più sorprendente è la spiegazione sul possibile slippage positivo in questo momento, che l'ECN restituirà al trader.
 

Ci sono molti paletti: interni (ECN) ed esterni (ogni fornitore di liquidità collegato). Non c'è un mercato comune delle scommesse.

Alcuni broker fanno i cosiddetti snapshot per garantire più o meno l'esecuzione dei limitatori senza reindirizzarli. Per esempio, un prezzo entra nel feed solo se è disponibile da tre fornitori di liquidità contemporaneamente.

Inoltre, gli ECN non hanno quasi nulla a che fare con i DC, non stanno trattando. I broker trasparenti restituiscono al trader uno slippage positivo. Inoltre, se metti un limite a un prezzo peggiore di quello attuale, ci sarà sempre uno slippage positivo. E sarebbe piuttosto sconveniente se il broker non lo restituisse. Ci sono, naturalmente, alcuni broker che daranno solo una parte dello slippage positivo. Ma è meglio stare lontano da loro.

 
Sviluppatori: mi chiedo se possiamo contare sullo sviluppo della piattaforma in questo senso (problemi espressi nel thread, espansione dei limitatori, ecc...)?
 
hrenfx:

Ci sono molti paletti: interni (ECN) ed esterni (ogni fornitore di liquidità collegato). Non c'è un tariffario comune.

Grazie. Allora perché gli aggregatori non possono aggregare tutti i fornitori in una tazza comune "propria", selezionando solo il prezzo migliore? Non è quello che fanno?
 
Andrei01:
Grazie. Allora perché gli aggregatori non possono aggregare tutti i fornitori in una tazza comune "propria", scegliendo solo il prezzo migliore? Non è quello che fanno?

Sembra che tu veda delle leggi di mercato complicate, quando in realtà tutto è molto semplice.

Quando si dice che una casa di intermediazione non è orientata al mercato è quasi una bugia. Se una società di brokeraggio non esegue quasi nessuna posizione - questo non significa che non sia impegnata in attività di mercato. Non è così.

Non ritirarsi e mantenere i rischi su di sé, pur essendo ancora impegnato nel market making, o ritirarsi - tutto questo è il mercato. Entrambi gli schemi sono usati praticamente da tutti gli uffici, dai piccoli rivenditori ai grandi istituzionali.

Un aggregatore è semplicemente un'aggregazione di condizioni di trading da parte di qualcuno in un certo numero di uffici allo stesso tempo. Di solito queste aziende non sanno nemmeno che qualcuno le sta combinando da qualche parte. Ad esempio, è possibile combinare facilmente molti broker su Metatrader utilizzando MQL+WinAPI. Avrete una specie di mercato. Ma il problema sarà che i broker stessi non sono clienti di questo vostro sistema. Loro non inviano ordini al vostro mercato, ma voi formate un mercato virtuale per le vostre esigenze - sia per il trading che per l'intermediazione.

Pertanto, il vero mercato ECN può non essere un mercato virtuale (STP), ma un mercato reale solo da quegli ordini che gli vengono inviati. Nel caso del broker possono essere solo gli ordini dei propri clienti, che sono pochi.

Ci sono vantaggi e svantaggi. Per esempio, il vantaggio è che nessuno dall'esterno vede i vostri Limiti che avete già piazzato. Quindi la sua strategia non può essere compresa e manipolata. E i tuoi limiti sono nel mucchio dei limiti degli altri clienti, quindi non c'è niente da vedere nel mondo esterno.

 

hrenfx:

Questo ha vantaggi e svantaggi. Il lato positivo è che, per esempio, nessuno dal mondo esterno può vedere i vostri limitatori preimpostati. Di conseguenza, non possono capire la tua strategia per manipolarti. Inoltre, i tuoi limiti sono nel mucchio dei limiti degli altri clienti, quindi non c'è niente da vedere sul mondo esterno.

Tuttavia, da questa spiegazione non capisco il punto successivo sull'aggregatore di liquidità, non importa chi sia. Supponiamo che ci siano diversi fornitori di liquidità con le proprie quote, che voglio unire in casa mia come un nuovo aggregatore. Per rendere questa fusione completamente equivalente senza peggioramento delle condizioni di mercato con un errore del tempo di accesso allo stack del mercato esterno, che è una frazione di secondo, allora apparentemente è sufficiente solo per unire gli stack ad una profondità sufficiente, e i limitatori e in generale tutti gli ordini pendenti, che sono in stack esterni, appariranno automaticamente nello stack esterno e di conseguenza, nello stack interno, fuso perché gli ordini pendenti e formare qualsiasi stack.

Ma siccome gli ordini pendenti sono di solito fissati in anticipo, cioè molto più a lungo del tempo di legame tra i vetri, non ci può essere alcuna previsione qui, perché sono già aggregati nel vetro interno da quello esterno.

 

Approssimativamente, lo schema è il seguente:

  1. Se metti un ordine in anticipo, questo va nel mercato interno dagli ordini dei clienti del tuo broker ECN.
  2. Il tuo broker, tuttavia, ti mostra lo stack virtuale = stack interno (ECN) + stack esterno (STP).
  3. Se l'ordine opposto appare nell'ECN interno, entrambi sono quasi istantaneamente garantiti per essere eseguiti sul volume min(Limit1, Limit2) (abbinati senza alcuno slippage), e il broker riceve una doppia commissione (da ogni ordine).
  4. Se un prezzo che soddisfa il tuo ordine viene dall'esterno (per esempio da un terzo fornitore di liquidità - LP3), allora
  5. Il tuo ordine viene cancellato (congelato) dall'ECN-Stack interno.
  6. Inviato a LP3 con un LiveTime specifico (di solito poche decine o centinaia di millisecondi).
  7. Il tuo ordine, quando viene ricevuto in LP3, di solito ha un prezzo peggiore del prezzo corrente in LP3. Pertanto, ci sarà un corrispondente slittamento positivo.
  8. Se il prezzo della tua offerta è migliore del prezzo corrente a LP3 (potrebbe essere cambiato durante il periodo di spedizione-consegna), ci sarà uno sconto se il prezzo LiveTime non è soddisfacente.
  9. Attraverso LiveTime, il saldo (in esecuzione parziale) del tuo ordine viene rimosso da LP3 e viene messo (scongelato) nell'ECN interno.
  10. Con l'esecuzione esterna, il broker ottiene la stessa commissione meno quella di LP3 (il broker per LP3 è semplicemente un cliente che agisce per conto dei suoi clienti). E si ottiene un potenziale slittamento o sconto positivo.

Di conseguenza, nello schema ECN/STP ci sono prezzi più favorevoli grazie all'ECN interno e il beneficio della doppia commissione per il broker, e ci sono prezzi più favorevoli quando si aggregano (STP) più fornitori di liquidità, dando la possibilità di camuffare la vostra strategia a loro e potenziali slippage (e reindirizzamenti) positivi.

P.S. Per il bene dell'interesse, puoi provare a scrivere il tuo aggregatore di MT. È davvero molto semplice. Ma quando si inizia a fare trading attraverso di essa, si vedrà un numero enorme di insidie, che nello schema approssimativo di cui sopra, naturalmente, non sono specificate.

 
hrenfx:

Approssimativamente lo schema è il seguente

Grazie per lo schema, ma ci sono ancora domande che sono state sollevate prima.

1. questo è l'unico schema per implementare lo schema di aggregazione?

2. Perché è impossibile aggregare i tumbler in un unico tumbler come ho descritto? Dopo tutto, in esso l'interazione con uno stack esterno è continua per formare un unico stack, non solo al momento dell'attivazione della richiesta, che introduce un ritardo inutile che deve inevitabilmente peggiorare le condizioni di esecuzione? Inoltre, secondo il tuo schema, non c'è differenza tra un ordine pendente e un ordine a mercato, poiché tutto viene eseguito solo all'ultimo momento e non ha senso inviare un ordine pendente in anticipo, perché entrerà nel mercato esterno solo all'ultimo momento.

 
Andrei01:

1. questo è l'unico schema per implementare uno schema di aggregazione?

Approssimativamente, sì.

2. Perché è impossibile implementare lo schema di aggregazione che ho descritto?

Perché tutti i fornitori di liquidità devono diventare clienti del tuo sistema ECN. C'è un tale broker - LMAX. È praticamente un ECN puro (MTF-bearer), in esso i fornitori di liquidità sono clienti del sistema creato. Cioè ci sono degli accordi firmati con alcune banche che accettano questi termini. Ho già menzionato LastLook sopra, oltre a questo ci sono altre ragioni per cui molte banche non vanno per tali termini.

Dopo tutto, in esso, l'interazione con la finestra di scommessa esterna è continua per formare un'unica finestra di scommessa, non solo al momento dell'attivazione dell'ordine, che introduce un ritardo inutile che dovrebbe inevitabilmente peggiorare i termini di esecuzione?

Sì, non c'è un'esecuzione garantita con l'aggregazione. Ci sono vari modi per migliorare l'esecuzione attraverso le istantanee (filtro), ma questo è un lato della medaglia. I pro dell'aggregazione sono già stati espressi molte volte sopra.

Inoltre, secondo il tuo schema, non c'è differenza tra un ordine pendente e un ordine a mercato, perché tutto viene eseguito solo all'ultimo momento e non c'è motivo di inviare un ordine pendente in anticipo, perché arriverà al vetro esterno solo all'ultimo momento.

C'è una grande differenza: un ordine a mercato sarà eseguito con slippage in entrambe le direzioni, un ordine limite - solo nella direzione positiva, o sarà mancato. Impostare un ordine pendente in anticipo (almeno un secondo prima) ci permette di evitare la dipendenza dal terminale<->trading server<->aggregatore, riducendo rispettivamente il tempo di esecuzione e migliorando così l'esecuzione stessa.