Testeur MT4 VS Testeur MT5 - page 4

 
fxsaber:

Je ne vais pas discuter. Je demande aux utilisateurs du forum familiers avec MQL4 de regarder ce court code source et d'expliquer ce que signifie Renat.


Je dois me tromper, mais je ne vois pas où l'historique est géré dans MT4. Aidez-moi, s'il vous plaît.

Ce n'est pas sérieux.

Et sommaire. Une "incompréhension" totale d'une explication claire (toute fonction OrderXXX grimpant pour des données de transaction est un appel à l'historique MT4/MT5) et une boucle muette de centaines de milliards d'appels inutiles l'indiquent clairement.

 
fxsaber :

Je ne discuterai pas. Je demande aux membres du forum qui sont familiers avec MQL4, de regarder ce court code source et d'expliquer ce que signifie Renat.


Peut-être que je me trompe, mais je ne vois pas, de près, où l'on travaille avec l'historique dans MT4. Aidez-moi, s'il vous plaît.

Renat est parfaitement clair et correct. Ecrivez votre EA mql5 sans la bibliothèque "mql4" et vous verrez l'énorme différence. Il y a suffisamment de problèmes réels avec mql5/MT5 sans en inventer de nouveaux.

Traduction :

Renat est tout à fait clair et correct. Ecrivez un EA mql5 sans "bibliothèque mql4" et vous verrez une énorme différence. Il y a suffisamment de problèmes réels avec mql5 / MT5 sans en inventer de nouveaux.

 
Renat Fatkhullin:

Ce n'est pas sérieux.

Et donc c'est une ébauche. Une "incompréhension" totale de l'explication claire (toute fonction OrderXXX grimpant sur les données des transactions est une référence à l'histoire de MT4/MT5 dans son intégralité) et la boucle muette de centaines de milliards d'appels inutiles l'indiquent clairement.

Extrait de la documentation

Total des commandes

Renvoie le nombre total d'ordres ouverts et en attente.

intOrdersTotal() ;

Valeur retournée

Montant total des ordres ouverts et en attente.

CommandesHistoriqueTotal

Renvoie le nombre d'ordres fermés et supprimés dans l'historique du compte courant, chargé dans le terminal du client.

intOrdersHistoryTotal() ;

Valeur retournée

Le nombre d'ordres fermés et supprimés dans l'historique du compte, chargé dans le terminal du client. La taille de la liste de l'historique dépend des paramètres actuels de l'onglet "Historique du compte" du terminal.

Торговые функции - Справочник MQL4
Торговые функции - Справочник MQL4
  • docs.mql4.com
Торговые функции - Справочник MQL4
 
fxsaber:
Dans la documentation.

Pourquoi tu essayes de gagner du temps ?

Vous disposez de plus d'une douzaine de fonctions : OrderSelect, OrderProfit, etc. Vous ne comprenez pas ce qu'estOrderSelect?

Il y a plus de 200 000 transactions dans la base de données et vous faites SelectOrderFromAllBase 200 000 fois à chaque tick. Il y a 1,800,000 tiques dans une course.

Ce test ne concerne donc que le balayage stupide de l'historique des transactions.


Autre chose : dans le testeur, l'historique est disponible dans toute sa profondeur, quels que soient les paramètres du terminal.
 
Vous disposez de plus d'une douzaine de fonctions OrderSelect, OrderProfit, etc. Vous ne comprenez pas ce qu'est leOrderSelect de toute la base de données? Il y a plus de 200 000 transactions dans la base de données, et vous faites OrderSelect 200 000 fois par tick. Il y a 1,800,000 tiques dans une course. Le test consiste donc uniquement en un balayage stupide de l'historique des transactions.
Autre chose : dans le testeur, l'historique est disponible dans toute sa profondeur, quels que soient les paramètres du terminal lui-même.

Je comprends Renat. Un algorithme écrit de façon optimale ne devrait pas entrer dans l'historique à chaque tic. Ce sera particulièrement amusant si l'historique contient des milliers, voire des centaines de transactions. Il suffit de vérifier l'historique une fois au début, vous pouvez utiliser OnInit, et ensuite juste suivre la recharge de l'historique court.

 
Renat Fatkhullin:

Pourquoi essayez-vous de gagner du temps ?

Vous avez plus d'une douzaine de fonctions OrderSelect, OrderProfit, etc. Vous ne comprenez pas ce qu'estOrderSelect?

Je sens qu'une interdiction est à portée de main. Tous sont silencieux...

Voici une autre citation de la documentation

CommandeSélection

Sélectionne une commande pour continuer à travailler avec elle.

boolOrderSelect(
intindex,// index ou ticket de la commande
intselect,// drapeau de la méthode de sélection
intpool=MODE_TRADES// source de données pour la sélection
) ;

Paramètres

billet

[Index ou numéro d'ordre, en fonction du deuxième paramètre.

sélectionnez

[in] Drapeau de la méthode de sélection. Peut être l'une des valeurs suivantes :

SELECT_BY_POS - le paramètre index contient le numéro d'index de l'ordre dans la liste,
SELECT_BY_TICKET - le paramètre index contient le numéro du billet.

pool=MODE_TRADES

[La source des données à sélectionner. Utilisé lorsque le paramètre de sélection est égal à SELECT_BY_POS. Il peut s'agir de l'une des valeurs suivantes :

MODE_TRADES (par défaut) - l'ordre est sélectionné parmi les ordres ouverts et en attente,
MODE_HISTORY - l'ordre est sélectionné parmi les ordres fermés et supprimés.

OrderSelect - Торговые функции - Справочник MQL4
OrderSelect - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderSelect - Торговые функции - Справочник MQL4
 
Yuriy Zaytsev:

Je comprends Renat. Un algorithme bien écrit ne devrait pas avoir à parcourir l'histoire à chaque tic.

A quel moment ?
 

Exact, il s'avère que seuls les ordres ouverts sont vérifiés. Je ne suis pas entré dans la bibliothèque et j'ai pensé que c'était une histoire de balayage.

Donc ma déclaration sur les scans d'histoire à un milliard de dollars est fausse. Nous devons approfondir la question, mais il est clair qu'il s'agit de centaines de milliers de transactions.

Désolé de regarder à travers.
 
Renat Fatkhullin:

Exact, il s'avère que seuls les ordres ouverts sont vérifiés. Je ne suis pas entré dans la bibliothèque et j'ai pensé que c'était une histoire de balayage.

Il s'agit de MQL4, que beaucoup de gens ont oublié. Je ne l'utilise pas pour l'aspect multiplateforme, c'est juste très pratique lorsque je l'utilise dans MT5 (je n'utilise presque jamais MT4).

Je dois répéter que les grandes lignes ne m'intéressent pas. Je veux avoir une discussion constructive. Jusqu'à présent

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

Testeur MT4 VS Testeur MT5

fxsaber, 2017.05.08 09:13

1598 fonctionne beaucoup plus rapidement que 1596. Et cela fonctionne même dans les endroits où les fonctions d'historique ne sont pas du tout utilisées. Apparemment, le terminal lui-même a provoqué ces fonctions auparavant lentes dans ses entrailles pendant la course.

Corrigé et bon. Ce serait une bonne chose que le testeur MT5, déjà excellent, s'améliore encore, en couvrant les capacités de MT4+TDS.

De tels réglages de testeurs sont en effet parfois demandés. Et ce serait formidable si MT5 le permettait dans un avenir pas trop lointain.


ZS Dans l'intervalle, un bonus de la comparaison presque immédiatement reçu. On dirait qu'un autre est en train de mûrir.

 

Il ne s'agit pas de vous, mais du fait qu'un algorithme correctement écrit n'a pas besoin d'entrer dans l'histoire à chaque tique.