Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Facebook !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Scripts

EdgeMeter - does your entry signal beat the spread? - script pour MetaTrader 5

Vues:
38
Note:
(1)
Publié:
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance


EdgeMeter répond à une question concernant n'importe quel signal d'entrée :


une fois les frais de transaction pris en compte, ce signal est-il rentable ?

Il ne passe aucun ordre. Il analyse l'historique, évalue votre signal sur chaque
barre, puis affiche un verdict.


POURQUOI JE L’AI CRÉÉ

J’ai passé un mois à développer un EA de grid sur la paire XAUUSD en M1. J’ai fixé le stop loss, ajouté
un plafond de perte flottant, une sortie en cas de retournement et une durée maximale de maintien des positions dans le panier. Il ne cessait de perdre.

Lorsque j’ai enfin évalué le signal d’ENTRÉE isolément, la réponse m’a pris trente
secondes :

mouvement moyen après le signal, sur 15 min : +0,04
spread payé par aller-retour : 0,26

Aucune logique de sortie ne peut y remédier. L’argent a été perdu dès l’entrée, et chaque heure que j’
passais à gérer les sorties était du temps perdu. C’est précisément ce que ce script est censé empêcher.


CE QU'IL INDIQUE

Pour chaque période de détention que vous spécifiez :

- avantage brut : le mouvement favorable moyen après le signal
- résultat net après frais, simulé position par position
- la statistique t calculée sur des transactions NON CHEVAUCHANTES
- la proportion de mois rentables
- drawdown maximal

Ensuite, le programme effectue la même analyse sur un CONTRÔLE ALÉATOIRE : même fréquence de déclenchement,
direction déterminée par un tirage au sort. Une entrée aléatoire doit perdre exactement le coût de transaction,
ni plus ni moins. Cela a deux conséquences. D’une part, cela prouve que le simulateur fonctionne correctement,
et cela vous donne le niveau de bruit de fond. Si votre signal ne dépasse pas clairement ces
lignes, il ne porte aucune information.


LE PIÈGE DU CHEVAUCHEMENT

C’est la partie qui m’a piégé, et qui piège la plupart des gens.

Les signaux consécutifs partagent la majeure partie de leur fenêtre avant. Un horizon de 60 mesures
échantillonné à chaque barre donne des fenêtres qui se chevauchent de 59 façons différentes. Les traiter comme
indépendants gonfle la statistique t d'environ la racine carrée de l'horizon.

Mon propre signal affichait ainsi une valeur de t = 3,32, ce qui semble convaincant. Sur des
, il affichait t = 1,20 — un résultat impossible à distinguer du bruit. EdgeMeter
simule une position à la fois ; ainsi, les transactions qu'il signale ne se chevauchent pas et
la statistique t est fiable.


CRITÈRES DE RÉUSSITE

Le script vérifie trois critères, qui doivent tous être remplis :

[1] bénéfice net par transaction > 0 après déduction des coûts
[2] |t| > 2
[3] au moins 3 mois rentables sur 4

Définissez vos critères avant d’examiner les chiffres. Décider après coup revient à
la raison pour laquelle un système perdant finit par être mis en production sur un compte réel.


COMMENT TESTER VOTRE PROPRE SIGNAL

Ouvrez le fichier et modifiez deux fonctions dans la SECTION UTILISATEUR. Aucune autre modification n’est
.

bool UserInit() - créez les descripteurs de vos indicateurs et chargez leurs
tampons à l’aide de LoadBuffer() / LoadBufferB()

int UserSignal(int i) - évaluez la barre fermée i
renvoie +1 pour acheter, -1 pour vendre, 0 pour rester à l'écart

Tous les tableaux sont indexés à partir de 0 = barre la plus ancienne. C'est l'inverse de l'
, et c’est délibéré : un retour vers l’avant correspond alors simplement à
l’index + l’horizon, ce qui élimine toute une catégorie d’erreurs de signe.

L’entrée est simulée à Open(i+1), la barre suivante. Ne lisez jamais la barre i+1 ou les suivantes
dans UserSignal — cela constitue un biais d’anticipation et rendra le
signal sans valeur paraître brillant.

Le UserSignal par défaut est un croisement de moyennes mobiles sur deux périodes, présenté comme un
exemple pratique. Remplacez-le.


DÉFINITION DES COÛTS

InpSpread, InpCommission et InpSlippage sont exprimés en unités de PRIX, et non en points, et
ce sont les paramètres les plus importants du script. Récupérez-les à partir de votre propre
compte, et non à partir des chiffres annoncés par un courtier.

Si vous disposez d’un journal d’exécution issu d’opérations réelles ou de démo, utilisez la
. Si vous n’en disposez pas, prenez le spread typique que vous observez sur le graphique et ajoutez-y
une marge de manœuvre pour le slippage plutôt que de supposer qu’il est nul. Un serveur de démo affichera
un glissement proche de zéro ; il s'agit d'une caractéristique du serveur de démo, et non du marché.


CONDITIONS REQUISES

Chargez suffisamment d’historique avant de lancer le script : ouvrez un graphique pour votre symbole et
période souhaitée, puis faites défiler vers l’extrême gauche. Le script vous indiquera s’il n’y en a pas
suffisante. Moins de 30 signaux signifie que tout résultat relève de l’anecdote et non d’une preuve.


Utilisation et modification libres.

Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/76316

Adaptive Volume Profile Node Tracker Adaptive Volume Profile Node Tracker

Crée un profil de volume glissant, s'adaptant à la volatilité, sur une fenêtre rétrospective configurable, et trace le « Point of Control » (POC), les plus hauts et plus bas de la zone de valeur, ainsi que les nœuds de volume haut et bas statistiquement significatifs (HVN/LVN) directement sur le graphique.

Multi-Symbol Correlation Divergence Meter Multi-Symbol Correlation Divergence Meter

Suivi de la corrélation glissante entre le symbole du graphique actuel et un symbole de référence choisi, et signalement du moment où ils se découplent alors que leur écart de cours est statistiquement étendu.

Dynamic Session Range Sweep Detector with Liquidity Zone Marking Dynamic Session Range Sweep Detector with Liquidity Zone Marking

Il suit les fourchettes de séance des marchés asiatiques, londoniens et new-yorkais, verrouille chacune d’entre elles à la clôture de la séance et signale les véritables « liquidité sweeps » — une mèche qui perce un plus haut ou un plus bas verrouillé et clôture à nouveau à l’intérieur de celui-ci — à l’aide d’une flèche et d’une zone de réaction ombrée. Il ne se redessine pas et fonctionne sur n’importe quel symbole et n’importe quelle période.

Heiken Ashi ATR Blend Heiken Ashi ATR Blend

Heiken Ashi ATR Blend combines smoothed Heiken Ashi candles, ATR-based volatility filtering, and fast/slow EMA trend confirmation to identify potential trend-change signals.