Comment se protéger contre la copie des transactions longues du testeur ? - page 6

 
Alexey Viktorov:

...Exactement un mois avant la fin du test. Et peu importe où vous déplacez le temps de l'ordinateur... le résultat restera le même, un mois avant la fin du test.

Mais s'il n'y a aucun moyen de connaître la date de fin du test, alors l'idée est impossible.

Oui, une autre option consiste à connaître la date exacte de fin du test. Dans ce cas, tout va bien aussi, mais comment trouver cette date ?
 
George Merts:

Eh bien, comment puis-je le dire... Il y a déjà eu une situation de revente de signaux, et maintenant il y a des clients qui utilisent ce TS pour travailler sur leurs PAMMs.

Ce système de trading n'est pas très "super-duper rentable", cependant, sa stabilité est très élevée. Et le plus important - la possibilité de copier les transactions du testeur n'est pas pratique pour son auteur. Et il me suggère, en tant que programmeur, de réfléchir aux moyens de résoudre ce problème.

À moins qu'il ne s'agisse d'un problème purement technique. Mais du point de vue du client, ce sera toujours un non-sens.

 
George Merts:
Oui, une autre option consiste à connaître la date exacte de fin du test. Dans ce cas, c'est OK aussi, mais comment connaître cette date ?

La date de fin du test peut être placée dans le futur, elle ne roule pas.

Essayez cette option : la première exécution devrait se dérouler sans aucune action, et seulement avec la mémorisation de la date du dernier tick.
La deuxième manche devrait s'échanger, mais seulement jusqu'à la date souhaitée (mémorisée moins un mois). Se souvenir de la date du dernier tic (et comment la chiffrer) est une question de technique.
Le seul inconvénient (et jusqu'à présent le moindre) - le test doit être exécuté deux fois ;)

 
Si vous êtes sérieux, vous pouvez obtenir l'heure sur Internet.
 
George Merts:

Dimitri, le défi consiste à arrêter le traitement des ticks dans le testeur avant la date réelle. Pour cela, vous devez connaître cette date réelle. Le testeur ne peut le trouver que de la manière décrite ci-dessus - par une opération de fichier. Mais si un utilisateur rusé avance l'heure sur l'ordinateur, l'opération sur le fichier ne donnera pas non plus l'heure réelle, mais l'heure décalée.

Le problème, en fait, c'est que si l'EA fonctionne sur le timeframe M5 ou plus (un problème particulier sur le quotidien) - il devient possible de l'exécuter dans le testeur de stratégie et de lire la dernière action, en la transférant à un autre terminal, et de ne pas acheter un EA, en utilisant seulement la version de démonstration.

Interdire artificiellement le test sur les dernières N-bars.
 
Dmitry Fedoseev:
Si vous êtes sérieux, vous pouvez obtenir l'heure sur Internet.
Ils disent que WebRequest ne fonctionne pas dans le testeur...
 
Vitalie Postolache:
Je me demande si l'auteur de ce fil de discussion peut donner au moins un exemple où quelqu'un a pu reproduire les résultats des tests et en tirer un bénéfice ? Avec seulement demo-advisor dans le testeur et rien d'autre ?
Si nous nous y mettons, nous pouvons copier des stratégies scalper. Qu'est-ce qui vous empêche de suivre un signal du testeur toutes les 2-3 secondes ?
 
Dmitiry Ananiev:
Si vous vous y mettez, vous pouvez copier des stratégies scalper comme celle-ci. Qu'est-ce qui vous empêche de suivre un signal du testeur toutes les 2-3 secondes ?
Le fait qu'il s'agisse d'un testeur, il fonctionne a priori dans le passé et peu importe les efforts que vous faites, vous ne pouvez pas répéter l'opération dans les mêmes conditions et au même moment. Mais s'il ne s'agit pas de pips, mais de long terme, alors on peut vraiment penser à le faire, bien que cela ne serve pas à grand chose de toute façon, il est plus facile de trouver la stratégie et de la répéter.
 
Игорь Герасько:
Ils disent que WebRequest ne fonctionne pas dans le testeur...
Je l'ai essayé maintenant. Ça marche. Essayé dans MT4 en testeur, en expert.
 
George Merts:
...

Le problème n'est pas aussi simple qu'il n'y paraît à première vue. On peut suggérer ce qui suit (suivez la pensée) :

  1. Le conseiller expert est compilé avec la date du jour inscrite dans celui-ci.
  2. L'utilisateur reçoit le conseiller expert et l'exécute dans le testeur de stratégie.
  3. Lors de la première exécution, le conseiller expert effectue des transactions dans le testeur de stratégie jusqu'à la date spécifiée dans celui-ci (ou un mois avant cette date, les conditions sont à la discrétion de l'auteur).
  4. Après la date qui y est spécifiée, il continue à recevoir des cotations en mémorisant l'heure de la dernière cotation reçue dans le testeur de stratégie, mais sans effectuer aucune action de trading.
  5. A la fin du test, il enregistre le dernier temps mémorisé dans un fichier spécial.
  6. L'enregistrement lui-même est crypté et son contenu ne peut donc pas être modifié de manière à indiquer une date future lors du décryptage de l'enregistrement.
  7. Lors de la prochaine exécution dans le testeur de stratégie, le conseiller expert lira ce fichier, décryptera son contenu et se rendra compte qu'il a déjà été exécuté au moins jusqu'à la date indiquée dans le fichier.
  8. Puis, lors de la deuxième exécution et des suivantes, il poursuivra les opérations jusqu'à la date spécifiée dans le fichier moins un mois.
  9. Au fur et à mesure qu'il reçoit de nouvelles dates dans le testeur de stratégie ou sur le compte réel, il se déplace automatiquement après le nouvel historique et conserve la distance d'un mois.

Du point de vue de l'utilisateur, cela se présente comme suit : la première fois, pendant l'exécution, il n'y aura pas de transaction avant la fin de la période d'optimisation sélectionnée pour une raison quelconque. Cependant, à partir de la deuxième manche et plus, son retard diminuera et correspondra à un mois environ.

Dans ce cas, la protection ne peut être supprimée que par le décryptage complet du fichier en trouvant une clé ou en décompilant l'Expert Advisor. Compte tenu de la technologie actuelle et de la qualité de la protection de leurs programmes par MQ, cela est pratiquement impossible. Si l'utilisateur décide de supprimer le fichier de cryptage, le conseiller expert le créera à nouveau, avec l'ancienne date de protection à la compilation, et l'utilisateur ne pourra toujours pas effectuer de transaction au moment présent.

Ce qui est bien, c'est qu'une telle méthode ne limite que légèrement le confort de l'utilisateur. Une nouvelle exécution de l'EA corrigera complètement le délai trop long. En même temps, ce type de protection ne nécessite pas de DLL externe, ce qui signifie qu'il peut être distribué sur le marché. Par exemple, vous pouvez créer une version gratuite qui n'est commercialisée que jusqu'à une certaine date.

Raison: