League of Trading Systems. Continuez à faire du bon travail. - page 24

 
Georgiy Merts:

Mes amis, pourquoi êtes-vous si préoccupés par la publicité... Au lieu de "Alpari", les gens écrivent "la célèbre maison de courtage sur A". Ou au lieu de "Insta" - "la célèbre société de courtage en I" - eh bien, c'est ridicule ! Pourquoi devenir paranoïaque ? La question était assez spécifique, et si la réponse à cette question est considérée comme de la "publicité" - eh bien, je ne sais pas, alors vous devez voir de la publicité dans presque tous les postes ...

Restons dans le domaine du raisonnable, chacun est suffisamment intuitif pour distinguer la publicité des explications.

J'ai lu sur le TDS. Je suis très surpris. Les caractéristiques suivantes sont revendiquées :

Pas de limitation de la taille des fichiers à 2 Go.
2. la possibilité d'effectuer des tests simultanés dans plusieurs exemplaires du terminal.
Possibilité d'importer des données tick à partir de différents courtiers.
4. simulation du glissement pendant les essais.
5. test avec l'écart réel.

Bien sûr, tout cela est utile, mais pourquoi avoir besoin de programmes tiers pour tout cela, si MetaTrader possède tout cela ?

De plus, travailler avec des ticks pour le positionnement TS, qui tient des positions pendant plus d'un jour, n'a tout simplement pas de sens. J'ai comparé les tests en mode 1M OHLC et en mode "ticks réels" - la différence est très faible. Il n'y a pas de raison de perdre beaucoup de temps à tester les tics, si le mode OHLC 1M plus rapide est suffisant pour le TS de position ?

Le test passe également par le testeur MT4.

Mais les cotations ne sont pas courbes-obliques, téléchargées par le terminal à partir de metaquotes, mais réelles à partir de Dukas ou de votre courtier.

Sur les caractéristiques :

1. pas de limite de taille de fichier 2Gb. - Je répète que ces citations sur lesquelles vous vous appuyez ont très peu de choses en commun avec la réalité.

2. La possibilité d'effectuer des tests simultanés dans plusieurs exemplaires du terminal. - Je veux dire le travail avec les devis obtenus par TDS.

3. La possibilité d'importer des données de tick à partir de différents courtiers. - Cette possibilité n'est pas intégrée dans MT4, et ne l'a jamais été.

4. simuler un glissement pendant les essais. - ne le sont pas non plus et ne le seront jamais.

5. test avec un écart réel - similaire au point 4.

"De plus, travailler avec des ticks pour un TS de positionnement qui tient des positions pendant plus d'un jour - n'a tout simplement pas de sens. J'ai comparé les tests en mode 1M OHLC et en mode "ticks réels" - la différence est extrêmement faible. Pourquoi perdre beaucoup de temps à tester les tics, si pour les TS de position le mode OHLC 1M plus rapide est suffisant ?

- c'est la différence qui est extrêmement faible, c'est la différence qui distingue une stratégie perdante d'une stratégie profitable )))).

- Si vous ne savez pas quoi en faire, vous aurez sûrement besoin d'une solution qui fonctionnera bien à l'avenir.

Aucun travail sérieux ne peut être effectué avec ces citations. La durée d'une position sur le marché n'a pas d'importance, même si elle est d'un jour ou d'un an.

 
Boris Gulikov:

Les tests sont également effectués par le biais du testeur MT4.

Sauf que les cotations ne sont pas de travers, téléchargées par le terminal à partir de metaquotes, mais réelles à partir de Dukas ou de votre courtier.

Sur les fics :

...................

Ahhhh... Vous utilisez une ancienne version... MT4... C'est logique alors.

Nah... Metatrader 4 n'est pas notre voie. Depuis plusieurs années, nous ne testons qu'avec MT5, et nous compilons les versions de travail pour MT4.

1. Les citations sur lesquelles je teste sont EXACTEMENT les mêmes que dans la réalité. Surtout si vous utilisez le mode "tous les tics sont basés sur le réel". Mais comme je l'ai vu - c'est redondant. Pour les CTs positionnels - le mode OHLS 1M est parfait.

2. J'ai testé MT5 dans 24 threads à la fois - tous les cœurs du réseau domestique local sont utilisés.

3. Dans MT5 - vous pouvez facilement importer les cotations de n'importe quel fournisseur (comme DucaCopi - import, tout est possible). Mais je suis assez heureux avec les alpages.

4. Dans MT5 - très bonne imitation du slippage. Mais pour le TS positionnel, le glissement n'a pas d'importance. Eh bien, une douzaine ou deux points glissent parfois... C'est moins de 10% du TP ou SL moyen... Pourquoi courir après ce dérapage ?

5. Dans MT5, le test est effectué exactement pour le spread réel. Vous devez activer le mode "tous les ticks basés sur le réel". Mais encore une fois, pour League TS, avec ses stratégies de position - tous les ticks donnent pratiquement la même image que le mode "quatre ticks par minute" (1M OHLC). La différence se produit, comme je l'ai dit précédemment, si le DC a un écart fou - mais pas en raison de cet écart lui-même, mais en raison du fait que les prix de la demande sont obtenus de manière très différente, et que les transactions sont différentes en conséquence.

Et, encore une fois, vous êtes peut-être celui qui a des données différentes sur les tics. Pour moi, il y a très peu de différence. Beaucoup plus influencé par la différence de l'écart.

Mon verdict, que vous ne pourrez confirmer qu'en utilisant TDS : MT4 est une plateforme obsolète, non adaptée aux tests. Seulement MT5 ! !!


Oui, eh bien, regardez vous-même - comment puis-je convenir que TDS est une chose nécessaire, si MT5 a tout ce qu'il fournit initialement, plus permet certaines choses que TDS, comme je le comprends, ne permet pas (par exemple, l'utilisation de tests parallèles sur différents cœurs, ou le test de plusieurs symboles simultanément) ? Je ne vois pas les avantages. Pour MT4 - oui, TDS présente de grandes possibilités supplémentaires (et dans MT4, en effet, la génération de tick est sérieusement différente de la réalité). Mais MT4 est une plateforme dépassée depuis longtemps, et je ne l'utilise que parce que mon compte DC est sur MT4.

 
Georgiy Merts:

Erm... Je ne comprends pas. Pourquoi est-ce que "un tel EA n'a pas sa place dans le testeur" ? Où pensez-vous que je le teste ?

L'idée de la Ligue TC a été suggérée par moi il y a deux ans, et les gens étaient extrêmement sceptiques à ce sujet. Le modèle général et le premier TC de la Ligue ont été écrits il y a un an, j'avais alors un vieil ordinateur, et j'ai invité les gens à se joindre aux tests. Dans le dernier fil de discussion de la Ligue TC, j'ai décrit comment le faire, et deux personnes m'ont aidé à le tester... Ils avaient le testeur MetaTrader le plus courant après tout !

La lecture directe de données dans le conseiller expert n'est pas différente de la lecture de données à partir du graphique - les fonctions sont les mêmes, mais si vous voulez des données à partir du graphique, vous spécifiez le symbole et le cadre temporel actuels, et si vous voulez des données spécifiques, vous les spécifiez. Le contrôle des paramètres internes n'est pas beaucoup plus compliqué - toutes les données sont simplement mises en équation dans une fonction simple, et un certain code est ajouté pour activer et désactiver les fonctions individuelles. Ce n'est pas très compliqué.

J'ai déjà mon propre optimiseur - j'utilise les capacités fournies par MetaTrader - pendant l'optimisation, l'Expert Advisor collecte des trames de données et les examine, choisissant la meilleure en se basant sur le principe d'un maximum - de sorte que la performance sur les tests back and forward était le minimum (garantissant ainsi que le TS ne sera pas moins performant que ce maximum trouvé sur l'ensemble de l'historique). Une telle combinaison de paramètres d'entrée est trouvée et écrite dans le journal comme un texte de fonction prêt. Après l'optimisation, je prends ce journal et transfère directement cette fonction au code de la classe TC. C'est tout. Le TC est optimisé et envoyé au "pool commun". Et elle y travaillera jusqu'à ce qu'elle dépasse à nouveau les paramètres de contrôle.

Je veux dire, si vous avez une ligue de facto sous la forme d'un seul EA, mais qu'il doit être testé uniquement en temps réel, je ne parle pas de l'exécution périodique de blocs dans l'optimiseur, alors c'est un pas en arrière par rapport aux autres EA, c'est-à-dire que la multidevise est un plus, et le manque de testeur est un moins.

Ce serait différent s'il était possible d'exécuter League dans le testeur, comme l'EA multi-devises habituel dans MT5.

D'après ce que j'ai compris, le code est compatible avec le compte MT4, et je pense que si vous faites un optimiseur de bloc intégré, il sera possible de l'exécuter dans le testeur, et si c'est le cas, par rapport au mode de test actuel, cela pourrait faire gagner des années :)

 
Ivan Negreshniy:

Je veux dire que si vous avez un EA unique de facto dans la Ligue, mais qu'il doit être testé uniquement en temps réel, je ne parle pas de l'exécution périodique de blocs dans l'optimiseur, alors c'est un pas en arrière par rapport aux autres EA, c'est-à-dire que la multidevise est un plus, mais l'absence du testeur est un moins.

Ce serait différent s'il était possible d'exécuter League dans le testeur, par exemple, comme un EA multi-devises habituel dans MT5.

D'après ce que j'ai compris, bien qu'il fonctionne sur un compte MT4, le code est également compatible avec MT5 et je pense que si vous faites un optimiseur de bloc intégré, il pourrait bien être exploité dans le testeur, et si c'est le cas, par rapport au mode de test actuel, cela pourrait faire gagner des années :)

Oui, c'est vrai.

Le code de la ligue est multiplateforme, il se compile sur MT4 et MT5 sans changement.

Chaque TS est organisé comme une classe distincte. Ainsi, le module exécutable de la ligue ressemble à ceci :

//+------------------------------------------------------------------+ //|                                                        TS_090817 | //|                                     Copyright 2017, George March | //+------------------------------------------------------------------+ /* Советник на основе фабрик, сделанный 090817 - оболочка для МТ5. */ #property description "TS_090817" #include <MyLib\DebugOrRelease\DebugSupport.mqh> #include <MyLib\Common\CurSymEnum.mq5> #include <MyLib\Factories\ForTrade\EURUSD\EURUSD_FactoriesIncludes.mqh> // Объявляем фабрики частей эксперта. // ЕМА сопровождение CTrendDTS_EURUSD_01_EPF epfFact_0(NULL); CTrendSAR_EURUSD_01_EPF epfFact_1(NULL); CTrendSP_EURUSD_01_EPF epfFact_2(NULL); CFlatSP_EURUSD_01_EPF epfFact_3(NULL); CFlatSAR_EURUSD_01_EPF epfFact_4(NULL); CFlatRTS_EURUSD_01_EPF epfFact_5(NULL); CTrendRTS_EURUSD_01_EPF epfFact_6(NULL); CFlatDTS_EURUSD_01_EPF epfFact_7(NULL);

// PriceChannel сопровождение CTrendDTS_EURUSD_PrCh_EPF epfFact_8(NULL); CTrendSAR_EURUSD_PrCh_EPF epfFact_9(NULL); CTrendSP_EURUSD_PrCh_EPF epfFact_10(NULL); CFlatSP_EURUSD_PrCh_EPF epfFact_11(NULL); CFlatSAR_EURUSD_PrCh_EPF epfFact_12(NULL); CFlatRTS_EURUSD_PrCh_EPF epfFact_13(NULL); CTrendRTS_EURUSD_PrCh_EPF epfFact_14(NULL); CFlatDTS_EURUSD_PrCh_EPF epfFact_15(NULL);

// ZZPendings сопровождение CTrendDTS_EURUSD_ZZPnd_EPF epfFact_16(NULL); CTrendSAR_EURUSD_ZZPnd_EPF epfFact_17(NULL); CTrendSP_EURUSD_ZZPnd_EPF epfFact_18(NULL); CFlatSP_EURUSD_ZZPnd_EPF epfFact_19(NULL); CFlatSAR_EURUSD_ZZPnd_EPF epfFact_20(NULL); CFlatRTS_EURUSD_ZZPnd_EPF epfFact_21(NULL); CTrendRTS_EURUSD_ZZPnd_EPF epfFact_22(NULL); CFlatDTS_EURUSD_ZZPnd_EPF epfFact_23(NULL); // Файл шаблона советника #include <MyLib\TSTemplate\ExpertAdvisorT.mq5>

Tous.

Dans ce cas, c'est le code de tous les TS sur l'Eurodollar, travaillant ensemble avec un lot minimal.

Nous pouvons déclarer d'autres TS, pour d'autres symboles. Tout est compilé - il suffit de le tester.

Mais, pour l'optimisation, on utilise des classes spéciales, les successeurs des classes de base de TS, dans lesquelles on peut effectuer les réglages, et qui sont capables de former les fichiers mêmes avec les fonctions nécessaires pour effectuer les réglages dans TS.

 
Georgiy Merts:

Erm... Je ne comprends pas. Pourquoi est-ce que "un tel EA n'a pas sa place dans le testeur" ? Où pensez-vous que je le teste ?

L'idée de la Ligue TC a été suggérée par moi il y a deux ans, et les gens étaient extrêmement sceptiques à ce sujet. Le modèle général et le premier TC de la Ligue ont été écrits il y a un an, j'avais alors un vieil ordinateur, et j'ai invité les gens à rejoindre les tests. Dans le dernier fil de discussion de la Ligue TC, j'ai décrit comment le faire, et deux personnes m'ont aidé à le tester... Ils avaient le testeur MetaTrader le plus courant après tout !

La lecture directe de données dans le conseiller expert n'est pas différente de la lecture de données à partir du graphique - les fonctions sont les mêmes, mais si vous voulez des données à partir du graphique, vous spécifiez le symbole et le cadre temporel actuels, et si vous voulez des données spécifiques, vous les spécifiez. Le contrôle des paramètres internes n'est pas beaucoup plus compliqué - toutes les données sont simplement mises en équation dans une fonction simple, et un certain code est ajouté pour activer/désactiver les fonctions individuelles. Ce n'est pas très compliqué.

J'ai déjà mon propre optimiseur - j'utilise les capacités fournies par MetaTrader - pendant l'optimisation, l'Expert Advisor collecte des trames de données et les examine, choisissant la meilleure sur la base du principe d'un maximum - de sorte que la performance maximale sur les tests en amont et en aval était le minimum (garantissant ainsi que le TS ne devrait pas avoir une performance pire que ce maximum trouvé sur l'ensemble de l'historique). Une telle combinaison de paramètres d'entrée est trouvée et écrite dans le journal comme un texte de fonction prêt. Après l'optimisation, je prends ce journal et transfère directement cette fonction au code de la classe TC. C'est tout. Le TC est optimisé et envoyé au "pool commun". Et elle y travaillera jusqu'à ce qu'elle dépasse à nouveau les paramètres de contrôle.

Sur quelle TF le canal est-il construit et le robot trade sur la livre sterling ?

 
Roman Shiredchenko:

Sur quel TF le canal est-il construit et le robot trade-t-il sur le bax de la livre ?

М15

 
Georgiy Merts:

М15

merci

 
Georgiy Merts:

Oui, c'est vrai.

Le code de la ligue est multiplateforme, il se compile sur MT4 et MT5 sans changement.

Chaque TS est organisé comme une classe distincte. Ainsi, le module exécutable de la ligue ressemble à ceci :

Tous.

Dans ce cas, c'est le code de tous les TS sur l'Eurodollar, travaillant ensemble avec un lot minimal.

Nous pouvons déclarer d'autres TS, pour d'autres symboles. Tout est compilé et ensuite testé.

Mais pour l'optimisation - des classes spéciales sont utilisées comme descendantes des classes TS de base, dans lesquelles des réglages peuvent être effectués, et qui sont capables de former les fichiers mêmes avec les fonctions nécessaires pour effectuer des réglages dans TS.

La structure est modulaire et, en principe, la sur-optimisation d'une stratégie individuelle pendant le test devrait fonctionner.

Les problèmes, à première vue, peuvent être uniquement liés à la vitesse et à la mise en cache du code dans le testeur, qui ne permettra pas de charger dynamiquement le code MQL compilé à la volée.

Je ne sais pas si vous envisagez de développer votre Ligue dans cette direction, mais cela m'intéresserait, car j'ai moi-même eu des pensées similaires récemment.

Je suis tombé sur un effet surprenant de l'optimisation à court terme sur les petites échéances et je peux le reproduire, mais malheureusement je n'ai pas encore d'outil pour l'exécuter dans un testeur.

 
Ivan Negreshniy:

La structure est modulaire et, en principe, la réoptimisation d'une stratégie distincte pendant le test devrait fonctionner.

Les problèmes, à première vue, ne peuvent être que la vitesse et la mise en cache du code dans le testeur, qui ne permettra pas de charger dynamiquement le code MQL compilé à la volée.

Je ne sais pas si vous envisagez de développer votre Ligue dans cette direction, mais cela m'intéresserait, car j'ai moi-même eu des pensées similaires récemment.

Je suis tombé sur un effet surprenant de l'optimisation à court terme sur les petites échéances et je peux le reproduire, mais malheureusement je n'ai pas encore d'outil pour l'exécuter dans un testeur.

Une véritable compilation dynamique n'est guère possible dans MetaTrader.

Je l'ai "semi-dynamique". C'est-à-dire qu'un certain TS présente des paramètres de contrôle - je le réoptimise, je trouve les paramètres qui ont donné de bons résultats au cours des deux dernières années (année - arrière, année - avant), j'applique les changements à la classe TS (c'est là que la "compilation dynamique" fonctionne), puis je recompile tout et j'envoie au travail.

Optimisation à court terme... À mon avis, tout ici est très instable et fragile... Mon objectif est d'obtenir un TS stable qui fonctionne pendant longtemps, même si ce n'est pas avec beaucoup de profit...

 
Georgiy Merts:

Une véritable compilation dynamique n'est guère possible dans MetaTrader.

Je l'ai "semi-dynamique". Je la réoptimise, je trouve les paramètres qui ont donné de bons résultats au cours des deux dernières années (année précédente, année suivante), j'applique les changements à la classe TS (c'est là que la "compilation dynamique" fonctionne), puis je recompile le tout et l'envoie au travail.

Optimisation à court terme... À mon avis, tout est très instable ici... Ma tâche est simplement d'obtenir un CT stable qui fonctionne pendant longtemps, même avec peu de profit.

La compilation dynamique peut être effectuée par la ligne de commande mql.exe, mais il est problématique de recharger le module compilé pendant les tests.

Mais je ne m'en soucie pas, car je peux aussi surcharger un réseau neuronal avec des matrices, mais pour obtenir et déboguer des stratégies stables et à long terme, par exemple, un outil pour les tester rapidement devient important par rapport aux stratégies à court terme.

Raison: