Erreurs, bugs, questions - page 1846

 

MQL possède sa propre bibliothèque standard avec des conteneurs.
Je l'ai utilisé quand je travaillais en free-lance, il y a environ 2 ans. Pas très rapide et pas très pratique, à mon avis.

Mais maintenant, ils ont ajouté des modèles adéquats + des pointeurs de fonction à la fonctionnalité MQL.
Je doute que les développeurs aient alloué des ressources pour modifier la bibliothèque standard des conteneurs afin de l'adapter aux nouvelles fonctionnalités.
Mais la bibliothèque standard est quand même meilleure que la plupart des béquilles écrites par soi-même.

 
Sergey Dzyublik:


Qu'est-ce que ces bêtises enfantines sur les types complexes ? C'est élémentaire.
Avez-vous déjà regardé dans la bibliothèque STL ? (c'est là que le diable se casse une jambe).

Le problème est résolu de la manière la plus acceptable, que vous pouvez trouver dans un délai raisonnable.
Ensuite, si nécessaire, refactorez autant que vous le souhaitez, mais vous n'en arriverez pas là.

L'utilisation d'une classe enveloppante pour une bibliothèque, et parfois une fonctionnalité standard, est en gros une variation sur le modèle de la "façade".


Il y a des moments où créer une classe wrapper pour obtenir un tableau à partir d'une méthode estsuperflu, cela ne me dérange pas d'obtenir un tableau comme un tampon, mais il serait plus courant de l'obtenir comme en C++ par pointeur, mais puisque ce n'est pas possible, cela ne signifie pas que vous devez faire de l'overhead ;))

 

Je vous demande d'introduire une commission moyenne de courtier MOEX pour les symboles d'échange sur Metaquotes-Demo.

Pour le moment, il n'y a pas de commission et vous recevez des graals sur la démo et le testeur.

 
fxsaber:

Je vous demande d'introduire une commission moyenne de courtier MOEX pour les symboles d'échange sur Metaquotes-Demo.

Pour l'instant, il n'y a pas de commission et vous recevez des graals sur la démo et le test.


Lors de la démo sur les instruments de change, l'inclusion de la commission ne vous aidera pas à vous débarrasser du graal - en général, il y a une commission qui dépend du taux, eh bien, supposons qu'il, comme dans le tarif universel, environ 0,5 ticks, c'est-à-dire pour un tour vous avez donné la commission = 1tica.

Et cette commission de 1 tick ne fera pas de différence, compte tenu du fait que sur la démo les transactions sont ouvertes et fermées par Last, c'est-à-dire sans tenir compte du spread. Ouvrez et fermez une transaction - obtenez 0 à la sortie !

La différence entre vous et le testeur est également différente.

 
kaus_bonus:


Dans la démo pour les instruments de change, l'inclusion d'une commission ne vous aidera pas à vous débarrasser du graal - en général, la commission dépend du taux, eh bien, supposons qu'il soit, comme dans le tarif universel, d'environ 0,5 ticks, c'est-à-dire que pour un tour vous avez donné une commission = 1tic.

Je ne comprends pas pour les tiques. Le montant de la commission est toujours un certain pourcentage. J'ai un graal sur les ordres limites. Là, espérons-le, les nageoires ne sont pas affectées.

Par exemple, si vous recevez une commission de 1 tick, cela ne fera aucune différence si vous ouvrez et fermez des transactions sur la démo, c'est-à-dire que vous ne tenez pas compte du spread.

Si c'est le cas, ce n'est pas un bug.

Si c'est le cas, ce n'est pas un bug dans le logiciel, mais dans les têtes.

 
On dirait que le testeur a besoin d'être vérifié pour être correct.
 
fxsaber:
Il semble que l'exactitude du testeur doive être vérifiée.

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

Liste des changements dans les builds de MetaTrader 5 Client Terminal

MetaQuotes Software Corp., 2016.09.14 16:24

Nouveau MetaTrader 5 build 1430 : Mise à jour de l'onglet Exposition

  1. Testeur : suppression du glissement dans l'exécution des ordres d'achat limite et de vente limite lors des tests sur les instruments d'échange.
Conseiller expert pour le testeur (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);
}

Résultat

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]

Limiter le slippage sur le symbole d'échange - BAG !

 
Sur le compte de démonstration Metaquotes-Demo, les ordres limités sur les ordres d'échange glissent également. BAG !
 
A100:

Plus de 30 minutes se sont écoulées et il n'y a toujours pas d'appel OnDeinit->M5.

Et maintenant, modifions le code de l'Expert Advisor (en changeant légèrement l'ordre) ...

Résultat :

2017.02.06 01:31:45.002 OnInit->M5
2017.02.06 01:31:48.340 OnDeinit->M5:1 Appelé immédiatement et sans délai !
2017.02.06 01:31:48.409 OnInit->M15


Il a été remarqué que dans les journaux, il manque des lignes

OnDeinit - a peut-être fonctionné mais avec un flux de sortie important, il saute la sortie.

J'ai écrit un walkthrough qui contient 3 lignes Print("1") ; Print("2") ; Print("3") ;

J'ai eu un saut de l'un et l'autre dans la sortie.

 
fxsaber:
EA pour testeur (Metaquotes-Demo)

Résultat

Limit Slide on Stock Symbol - BAG !


heh. build 1571, mk demo

2017.04.07 19:20:32.016 Core 1  RTS-6.17,M5 (MetaQuotes-Demo): generating based on real ticks
2017.04.07 19:20:32.016 Core 1  RTS-6.17,M5: testing of Experts\скольжение лимитника.ex5 from 2017.04.06 00:00 to 2017.04.07 00:00 started
2017.04.07 19:20:32.016 Core 1  RTS-6.17 : real ticks begin from 2017.04.06 00:00:00
2017.04.07 19:20:32.016 Core 1  2017.04.06 10:00:00   failed buy limit 1.00 RTS-6.17 at 114250 [Invalid expiration]