Nettoyage dans le testeur

 
Les commentaires sans rapport avec "New MetaTrader 5 build 3091 : Performance improvements" ont été déplacés vers ce sujet.
 

Collègues, je me demandais dans quel sujet écrire - j'ai décidé d'écrire ici - s'il vous plaît, aidez-nous à rapporter des données et comment travailler avec elles, à savoir prendre en compte les coûts de compensation dans le testeur - voici par exemple des données où la synchronisation n'est pas comptée dans le test :


c'est-à-dire également un ensemble de positions de vente sur le marché

mais pour de vrai - rapport - marge de variation fermée (c.-à-d. collationnée - et il n'y a pas eu de fermetures à perte, sur les positions ouvertes la marge de variation provisoire a été prise au moment de la compensation, également lors de la mise en place de la position de vente du robot (et des mains) :


question - comment le prendre en compte dans le testeur, comme dans le testeur comment le prendre en compte (peut - quelque part - le mettre à compter, parce qu'il y a une divergence entre ces déductions - dans le testeur ils ne sont pas - sur le réel - il y a...

Comment rassembler le tout pour que tout soit uniforme (ou aussi uniforme que possible...).


C'est-à-dire que dans le testeur, la perte de courant est claire :


mais il n'est pas supprimé par la compensation... lorsque le prix final est supérieur au prix d'ouverture de la position finale...

et il est clair que lorsque l'on passe au profit et que l'on transfère vers le côté +, tout est fermé en profit :



mais dans la réalité - lorsque la marge de variation est fermée en moins lors de la compensation - déjà à ce transfert vers le seuil de rentabilité + déjà le moins a été fermé et la fermeture finale si un paquet de contrats en profit, alors tout de même la finale est fermée en moins.

Comment résoudre ce problème pour tenir compte de la compensation et de la synchronisation lorsqu'ils amortissent l'intermédiaire moins ?

Comment calculer le montant de clôture de la marge de variation dans le testeur pour la compensation ? (au moins en gros et de manière approximative)

En d'autres termes, comment prendre en compte dans le testeur, la clôture en moins de la marge de variation pour la compensation (comme dans le compte réel) ? Pour calculer objectivement un transfert vers le seuil de rentabilité d'une position agrégée ?

En général, nous avons besoin de solutions pour la correspondance des calculs de tous les COMMITS et autres dans le réel et dans le testeur ... si ce n'est pas absolu, alors comment les compter de manière optimale par programme - aussi le retrait à la marge de variation proche pour la compensation ? Au moins approximativement, avec quoi - c'est une tolérance acceptable ... pour comprendre était - par exemple dans mon cas - de calculer correctement la position finale accumulée lors de la traduction en no-loss, de sorte qu'il était à aucune perte + (comme le testeur), mais pas moins (comme dans la vie réelle maintenant) en raison du retrait de la marge de variation de fermeture intermédiaire pour la compensation.


P.S. En conséquence, il ne compte pas dans le testeur : il ne ferme pas ou n'ouvre pas la marge de variation (comme dans le réel - rapport) - comment le compter, au moins approximativement dans le testeur pour correspondre au réel et au testeur :


 
Roman Shiredchenko #:

L'écriture n'est pas très claire.

Je suppose que le problème est qu'après la compensation, ce n'est pas le prix d'ouverture initial (fixé) de la position, mais le prix de compensation ?

Et la question est de savoir comment simuler cela dans le testeur ?

 
Dans la mesure du possible, les tâches de test en avant pour les agents doivent être effectuées au moins en petits lots (sans parler d'une distribution égale entre les agents), sinon les agents risquent d'abandonner ou de ne pas se connecter immédiatement à l'ordinateur principal (avec un délai), et certains agents peuvent recevoir 2000 tâches et d'autres ne les reçoivent pas du tout (ou au cours du processus, ils se déconnectent, abandonnent pour une raison inconnue), la plupart des agents ne font rien et il y a une longue attente. agents qui ont reçu le travail finir le paquet, il peut prendre plus d'un jour parce que l'histoire est longue, et une optimisation au lieu de 50 heures va 250 ou plus, je pense qu'il est également vrai pour l'utilisation des agents de nuage, j'ai une fois essayé eux aussi constamment tomber et de rejoindre, dans le test de dos pas de tels problèmes.Merci beaucoup par avance, cela va beaucoup nous aider car il y a beaucoup de choses à optimiser avec l'avant 1\2 1\3.
 
Roman Shiredchenko #:

Je ne comprends toujours pas.

En gros, l'essence de la compensation se résume au fait qu'une partie du profit/de la perte est accumulée/supprimée avant que la position réelle ne soit fermée, et un nouveau "prix d'ouverture" est fixé pour la position, en tenant compte de cette accumulation/suppression. Quoi qu'il en soit, le montant du profit/de la perte de la liquidation et de la fermeture de la position sera le même (en gros).

La compensation en tant que telle n'interfère pas, mais les transactions de type "Balance" sont très déroutantes.

 
Roman Shiredchenko #:

Profit sur la compensation + profit sur la fermeture de la position sur le réel = profit dans le testeur. "Profit" a un signe partout.

Bien que la compensation par imitation puisse être nécessaire pour un calcul correct de la marge libre. Mais il faut alors imiter à la fois la "correction" et l'"équilibre", ce qui n'est pas réaliste, à mon avis.

 
JRandomTrader #:

Je ne comprends toujours pas.

En gros, l'essence de la compensation se résume au fait qu'une partie du profit/de la perte est accumulée/supprimée avant que la position réelle ne soit fermée, et un nouveau "prix d'ouverture" est fixé pour la position, en tenant compte de cette accumulation/suppression. Quoi qu'il en soit, le montant du profit/de la perte de la liquidation et de la fermeture de la position sera le même (en gros).

La compensation en tant que telle n'interfère pas, mais les transactions de type "Balance" sont très déroutantes.

JRandomTrader #:

Profit sur la compensation + profit sur la fermeture de la position sur le réel = profit dans le testeur. "Profit" a un signe partout.

Bien que la compensation par imitation puisse être nécessaire pour un calcul correct de la marge libre. Mais il faut alors imiter à la fois la "correction" et l'"équilibre", ce qui, à mon avis, n'est pas réaliste.


Je veux dire ce que vous ne pouvez pas comprendre, ou je ne comprends pas - je veux dire ce que je veux dire à cause d'un tel labyrinthe :



et deux lignes en dessous où -303 il y a une différence entre les données dans le testeur et dans le réel ! !!!!!!

Je n'ai pas remarqué de changement dans le prix d'ouverture après ces déductions du solde.

--------------

P.S. Si vous ne pouvez pas dans le testeur est similaire à l'affichage ou le compte, alors je serai dans le monde réel de lire les données sur ces pertes (variante de conseil) et lors du transfert SL dans un petit profit tiendra compte de ces radiations....

Je vais écrire ici un petit code plus tard..... Pour l'instant, je vais juste vérifier l'impression sur le vrai ... Imprimés.

Que je transfère le stop loss par exemple de 30 pips vers le profit et si je l'ai fermé alors le montant TOTAL du solde devient PLUS GRAND que la taille des amortissements tels que intermédiaire : variation de la marge de fermeture, comme maintenant, par exemple.

Si je mets SL + 30 pips du prix d'ouverture - alors il y aura un profit 30 * 1 rouble du contrat * 12 contrats = 360 roubles - fermeture dans le bénéfice, mais j'avais hier a été radié le solde -700.00 roubles et au-dessus !!!! La clôture finale sera donc négative : ! !!!!!!!!!!!!!!.

La question est que dans le testeur - tout dans le plus !!!! comment le prendre en compte dans le testeur ? De sorte que même s'il y avait des différences - minimal !!!!!!


Qu'est-ce que j'essaie de dire ?

Au final, le testeur fonctionne comme ceci :


Le réel avec les mêmes valeurs de paramètres fonctionne comme suit :

au détriment de la marge de variation du jour - en descendant depuis le point d'entrée d'un ensemble de ces 12 contrats :


Maintenant les données sont exactement 6983 - 6949 = 34 pips. S'ils sont multipliés par le nombre de contrats sur le marché 12 contrats * 34 = 408, ce qui montre dans l'onglet OUTILS - la perte de profit actuelle !


Donc si j'ai quelque part - ici - sur la flèche rouge - converti le SL en profit - sur la flèche verte - ALORS JE PERDS EN GÉNÉRAL MOINS : -700 + 400 = -300 RUB. Quelque part autour de -300.00 RUB :


Et dans le testeur, il y aurait eu un prélèvement sur les fonds propres, qui ont été essentiellement remboursés et tout !!!!!!!!!!!!! et la clôture finale aurait été en PLUS ET TOUT !!!!!!!!!!!.

Sur le marché réel, le moins serait, par exemple, dû aux amortissements : la clôture de la marge quotidienne était de 700 roubles. Comment il est mieux de le prendre en compte (en réel c'est clairement possible - je compte les données de l'historique des transactions - je vais comparer - ça marche - non, mais dans le testeur - HOW ????????????????????????

Comment faire correspondre le réel et le test ????????????

Comment dans le testeur d'entrer le compte et ces dépenses ???????????????

Dans cet onglet du testeur AUCUN ( ou je n'ai pas trouvé de tels paramètres à prendre en compte !!!!! )


En général, j'ai besoin d'aide pour savoir comment comptabiliser correctement les amortissements au cours de la journée à partir du solde, par exemple, lors de la compensation ????. Les marquer et les comptabiliser avant de clôturer la position !!!!!!!!.

 
Roman Shiredchenko #:


En ce moment, les données sont absolument correctes - 6983 - 6949 = 34 pips. Si nous le multiplions par le nombre de contrats sur le marché - 12 contrats * 34 = 408 RUR, ce qui est indiqué dans l'onglet OUTILS - perte de profit actuelle !


Donc si j'avais quelque part ici - sur la flèche rouge - converti le SL en un profit - sur la flèche verte - j'aurais fermé en une perte totale : -700 + 400 = -300 RUR. Quelque part autour de -300.00 RUR :


Alors, réfléchissons à la provenance du prix d'ouverture 6983, si l'ordre est ouvert, comme il est montré dans la capture d'écran :

vendre 2 6861

vendre 2 6876

vendre 2 6896

vendre 2 6922

vendre 2 6986

vendre 2 6976


2 modders : coupez le post 148 dans un fil séparé, il n'a pas sa place ici.

 
JRandomTrader #:

Je suggère donc de réfléchir à l'origine du prix d'ouverture de 6983, si la position a été fixée, à en juger par la capture d'écran :

vendre 2 6861

vendre 2 6876

vendre 2 6896

vendre 2 6922

vendre 2 6986

vendre 2 6976


2 modders : coupez le post 148 dans un fil séparé, il n'a pas sa place ici.

OK, je l'ai. C'est-à-dire que le prix final était plus élevé sur le réel - en raison de la radiation de la balance de compensation.....

Comment alors calculer correctement et plus - moins avec le testeur à apporter ?

P.S. A propos du défrichage - encore à lire...

 
Roman Shiredchenko #:

OK, j'ai compris. C'est-à-dire que le prix final est plus élevé sur le réel - en raison de la déduction du solde par le clearing.....

Comment alors compter correctement et plus - moins avec le testeur à apporter ?

P.S. A propos du défrichage - toujours en lecture...

Je suis trop paresseux, je vous suggère de calculer par vous-même :

Comme je l'ai souligné, la fermeture de la position - à quel prix elle a été réellement fermée.

La position ouverte - au prix de la dernière compensation, fermer la position - à laquelle elle a été fermée de manière réaliste, plus les résultats de toutes les compensations sur cette position.

et comparer.

 
Roman Shiredchenko #:

En général, nous avons besoin d'aide pour savoir comment comptabiliser correctement les amortissements pendant la journée à partir du solde, par exemple, lors de la compensation ????. Les mettre en signet et en tenir compte avant de clôturer la position !!!!!!!!.

Dans le testeur de stratégie, vous ne pouvez rien faire.

Vous pouvez essayer de changer le principe de fonctionnement du chalutage/arrêt dans votre EA, car je vois qu'il fonctionne sur un profit total.

Je ne me souviens pas exactement, mais les transactions conclues lors de la compensation diffèrent de celles conclues par votre EA. Regardez ce qui est dit dans OnTradeTransaction().

Vous pouvez ensuite ajuster le total de votre chalutage/arrêt en fonction du nombre de transactions conclues lors de la compensation.

Je ne comprends pas ce que j'essaie de vous dire, mais je n'arrive pas à le formuler.

Raison: