Statistiques sur le slippage des ordres à cours limité sur le marché boursier - page 8

 

TP obtient un glissement négatif dans le testeur

PQ      0       23:57:02.304    Trade   2018.03.29 23:59:14   position modified [#154  sell 1.00 TESTER 0.87670 tp: 0.87689]
JH      0       23:57:02.304    Trade   2018.03.30 00:03:35   take profit triggered #154  sell 1.00 TESTER 0.87670 tp: 0.87689 [#157  buy 1.00 TESTER at 0.87689]
QQ      0       23:57:02.304    Trades  2018.03.30 00:03:35   deal #153  buy 1.00 TESTER at 0.87729 done (based on order #157)
 CG      0       23:57:02.304    Trade   2018.03.30 00:03:35   deal performed [#153  buy 1.00 TESTER at 0.87729]
DK      0       23:57:02.304    Trade   2018.03.30 00:03:35   order performed buy 1.00 at 0.87729 [#157  buy 1.00 TESTER at 0.87689]


Dans ce cas, la position BUY aurait dû fermer à TP = 0.87689 mais le niveau de TP a fermé à 0.87729, obtenant un slippage négatif de -40 pips !

Pourquoi le TP peut-il glisser négativement dans le Testeur ?

Nous avons réussi à faire en sorte que les ordres limités ne glissent pas dans le Testeur. Mais la situation avec les TP n'est pas bonne - ils sont du marché et donc glissent. Comment désactiver le glissement et le TP dans le Tester ?

 
fxsaber:

Dans le testeur TP, TP obtient un glissement négatif.

Voici la raison. Journal de bord

CM      0       00:30:17.505    Trade   2018.03.28 23:48:46   position modified [#165  buy 1.00 Si-6.18 58290 tp: 58300]
DJ      0       00:30:17.507    Trade   2018.03.29 10:00:00   take profit triggered #165  buy 1.00 Si-6.18 58290 tp: 58300 [#168  sell 1.00 Si-6.18 at 58300]
RQ      0       00:30:17.507    Trades  2018.03.29 10:00:00   deal #163  sell 1.00 Si-6.18 at 58255 done (based on order #168)
 FI      0       00:30:17.507    Trade   2018.03.29 10:00:00   deal performed [#163  sell 1.00 Si-6.18 at 58255]
NI      0       00:30:17.507    Trade   2018.03.29 10:00:00   order performed sell 1.00 at 58255 [#168  sell 1.00 Si-6.18 at 58300]

C'est-à-dire que nous avons un TP 58300 et une exécution à 58255. Dans le même temps, l'heure d'exécution du TP (DEAL_TIME) est 10:00:00.001, mais le prix d'exécution du TP correspond au temps futur - 10:00:00.024. En d'autres termes, le TP est non seulement exécuté avec un slippage négatif, mais il est également rempli en utilisant des prix futurs.

Quelque chose a mal tourné dans le testeur avec les ailerons et peut-être pas seulement avec eux. Nous devrons vérifier l'adéquation du Testeur. Encore une fois, vous ne pouvez pas lui faire confiance.

Veuillez ajouter un correctif pour ce bogue dans la prochaine version. Faites en sorte que l'exécution des TP dans le Testeur soit la même que celle des ordres à cours limité !

 
fxsaber:

Faites l'exécution pour les TP dans le Tester comme pour les ordres à cours limité !

Pourquoi ? Le TP n'est pas un ordre à cours limité mais un ordreexécuté sur le marché à des conditions déterminées. Par conséquent, le slippage sera souvent négatif s'il se situe au point TP correct (où de grands volumes d'ordres à cours limité sont achetés) et positif (par exemple, lors du franchissement du niveau où un stop est déclenché par des personnes) s'il ne se situe pas au point TP correct. J'aimerais pouvoir régler le glissement de manière indépendante dans le testeur - ainsi, ceux qui en ont besoin pourront le faire.

 
Aleksey Vyazmikin:

Pourquoi ? Sur une bourse, le TP n'est pas une limite maisl'exécution d'un ordreau marché dans des conditions précises.

Parce que le Testeur n'est pas un échange. Le TP sur un échange peut avoir un slippage négatif en raison du facteur de retard, qui n'est pas présent dans le Testeur en mode de trading "No Delay".

 
Aleksey Vyazmikin:

Pourquoi ? Sur une bourse, le TP n'est pas une limite, maisl'exécution d'un ordreau marché dans des conditions précises.

Vraiment ?
 
Комбинатор:
Vraiment ?

Malheureusement, c'est le cas.

 
fxsaber:

Malheureusement, c'est le cas.

dans MT5 et sur la bourse, il y a deux grandes différences
 
Комбинатор:
Dans MT5 et à la bourse, il y a deux grandes différences.

Je doute qu'il existe un ordre TP sur un marché boursier.

 
fxsaber:

Je doute qu'il existe un ordre TP sur un marché boursier.

Pourquoi s'embêter avec cette question ? Il s'avère que le mt5 n'est pas le mt5 et que le TP n'est pas fabriqué humainement.
 
Комбинатор:
Alors pourquoi poser cette question ?

Au testeur MT5, pas à la bourse. Laissez au moins le TP du testeur fonctionner de manière humaine. Ce qui empêche MQ d'envoyer des limiteurs au lieu du marché - n'est pas clair.

En ce qui concerne TP, c'est une fleur.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bugs, bugs, questions

fxsaber, 2018.03.05 19:22

Bug du testeur.

Qu'il y ait une position BUY avec TP en premier. Et il y a une SellLimit sur le même TP. Le testeur exécute de telles situations de différentes manières

  • d'abord BUY_TP, puis SellLimit.
  • d'abord SellLimit, puis Sell_TP.

Dans le second cas, nous avons deux positions opposées ouvertes en même temps dans un hedge ou une position BUY fermée sans ouvrir SELL.

Pour les couvertures, il est aggravé par le fait que SellLimit peut être racheté en raison d'un manque d'argent pour ouvrir la deuxième position.

En général, veuillez amener le testeur à adopter un comportement sans ambiguïté - d'abord TP, puis Limite.


C'est un vrai problème avec Limit.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bugs, bugs, questions

fxsaber, 2018.02.14 14:41

Le bug ne se situe pas dans le terminal, mais dans la plateforme MT5.
#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

#define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID)
#define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

void OnStart()
{
  OrderSend(_Symbol, OP_BUY, 1, Ask, 100, 0, Bid);
  
//  OrderSend(_Symbol, OP_BUYLIMIT, 1, Ask, 100, 0, 0);
}

Exécution sur MQ-Demo sur un symbole lent. EURHUF par exemple.

Le script ouvre une position BUY avec TP = Bid. C'est-à-dire que la position doit être fermée immédiatement. Mais le respect de la condition d'acceptation du TP ne sera vérifié qu'au prochain tick !

La position ne sera pas fermée immédiatement avant le prochain tick. De plus, si le prochain tick a Bid < TP, le TP restera sans aucune acceptation.


Il en va de même pour les ordres à cours limité (ligne commentée). La situation est la même dans le testeur.


Et la cerise.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Erreurs typiques et comment les corriger lorsqu'on travaille dans un environnement de trading

fxsaber, 2018.02.24 16:25

Je vais même vous montrer à quoi ressemblent ces ordres de marché annulés.

Seulement il n'y a pas d'erreur.

Cet exemple s'est avéré être beaucoup plus cool. Un TP placé par le courtier lui-même a été codé ! Et presque immédiatement (j'ai attendu 115 ms-apparemment, il s'agissait d'un bug de MT5) après la clôture du réordre, le courtier a fixé un autre TP, qui a été exécuté. Les commentaires des commandes n'apparaissent pas dans la capture d'écran. La couleur verte correspond àORDER_REASON_TP. Par conséquent, l'ordre a même l'ORDER_POSITION_ID.

C'est-à-dire que le TP est réordonné et attend le prochain tick pour être réordonné. Il n'est pas fixé immédiatement.