Le prix doit se situer du bon côté de quatre moyennes mobiles pendant qu'ADX, Momentum, Williams %R et Stochastic s'accordent tous sur la direction. L'entrée elle-même se déclenche sur la barre où ADX(10) croise l'un des niveaux fixes d'un ensemble. Cette version n'a pas encore été backtestée, donc aucun résultat n'est publié.
| positionSize Contrats par trade | 1 |
| fastPeriod EMA rapide, le prix doit se situer du bon côté | 8 |
| midPeriod Moyenne mobile pondérée, le prix doit se situer du bon côté | 34 |
| slopePeriod Moyenne mobile pondérée dont la pente définit la direction de la tendance | 150 |
| temaPeriod TEMA utilisée pour la position du prix et la pente | 15 |
| trendPeriod Filtre de tendance EMA long terme | 200 |
| momentumPeriod Le Momentum doit monter (long) ou baisser (short) | 6 |
| fastAdxPeriod ADX court qui ne doit pas baisser | 6 |
| diPeriod Longueur du DI+ / DI- | 10 |
| adxPeriod Période de l'ADX principal | 10 |
| adxThreshold L'ADX principal doit être au-dessus de cette valeur | 18 |
| williamsPeriod Longueur du Williams %R | 40 |
| williamsMidLevel Côté du Williams %R qui sépare les haussiers des baissiers | -50 |
| stochPeriod Longueur du %K du Stochastique | 8 |
| stochSmooth Lissage du Stochastique | 3 |
| stochLookback Stochastic comparé à sa valeur il y a ce nombre de barres | 3 |
| closesAbovePeriod Dernières clôtures qui doivent se situer au-dessus de l'EMA rapide (long) | 2 |
| adxLevelA Niveaux de croisement d'ADX pouvant déclencher une entrée | 17 |
| adxLevelB Niveaux de croisement d'ADX pouvant déclencher une entrée | 20 |
| adxLevelC Niveaux de croisement d'ADX pouvant déclencher une entrée | 22 |
| adxLevelD Niveaux de croisement d'ADX pouvant déclencher une entrée | 24 |
| adxLevelE Niveaux de croisement d'ADX pouvant déclencher une entrée | 26 |
| adxLevelF Niveaux de croisement d'ADX pouvant déclencher une entrée | 28 |
| adxLevelG Niveaux de croisement d'ADX pouvant déclencher une entrée | 30 |
| stopLossPoints Stop de protection | 30 |
| takeProfitPoints Objectif de gain | 120 |
| ladderRungs Nombre de paliers de l'échelle de breakeven | 25 |
| firstTriggerPips Profit qui arme le premier palier de l'échelle | 10 |
| firstLockPips Profit verrouillé par le premier palier | 5 |
| secondTriggerPips Profit qui arme le deuxième palier | 15 |
| ladderStepPips Espacement de chaque palier suivant | 10 |
Le code
// ============================================================ // ADX Momentum EMA // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: Not yet tested // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 50000 // --- Parameters --- positionSize = 1 // contracts per trade fastPeriod = 8 // fast EMA, price must be on the right side of it midPeriod = 34 // weighted MA, price must be on the right side of it slopePeriod = 150 // weighted MA whose slope sets the trend direction temaPeriod = 15 // TEMA used for price position and slope trendPeriod = 200 // long-term EMA trend filter momentumPeriod = 6 // momentum must be rising (long) or falling (short) fastAdxPeriod = 6 // short ADX that must not be falling diPeriod = 10 // DI+ / DI- length adxPeriod = 10 // main ADX length adxThreshold = 18 // main ADX must be above this williamsPeriod = 40 // Williams %R length williamsMidLevel = -50 // Williams %R side that separates bulls from bears stochPeriod = 8 // Stochastic %K length stochSmooth = 3 // Stochastic smoothing stochLookback = 3 // Stochastic compared with its value this many bars ago closesAbovePeriod = 2 // last closes that must sit above the fast EMA (long) adxLevelA = 17 // ADX cross levels that can trigger an entry adxLevelB = 20 adxLevelC = 22 adxLevelD = 24 adxLevelE = 26 adxLevelF = 28 adxLevelG = 30 stopLossPoints = 30 // protective stop takeProfitPoints = 120 // profit target ladderRungs = 25 // number of breakeven ladder steps firstTriggerPips = 10 // profit that arms the first ladder step firstLockPips = 5 // profit locked by the first step secondTriggerPips = 15 // profit that arms the second step ladderStepPips = 10 // spacing of every later step // --- Indicators --- fastMA = ExponentialAverage[fastPeriod](close) midMA = WeightedAverage[midPeriod](close) slopeMA = WeightedAverage[slopePeriod](close) temaValue = TEMA[temaPeriod](close) trendMA = ExponentialAverage[trendPeriod](close) momentumValue = Momentum[momentumPeriod](close) fastAdx = ADX[fastAdxPeriod] plusDI = DIplus[diPeriod](close) minusDI = DIminus[diPeriod](close) adxValue = ADX[adxPeriod] williamsValue = Williams[williamsPeriod](close) stochK = Stochastic[stochPeriod, stochSmooth](close) aboveFast = fastMA < close belowFast = fastMA > close aboveMid = midMA < close belowMid = midMA > close aboveTrend = trendMA < close belowTrend = trendMA > close aboveTema = temaValue < close belowTema = temaValue > close slopeUp = slopeMA > slopeMA[1] slopeDown = slopeMA < slopeMA[1] temaUp = temaValue > temaValue[1] temaDown = temaValue < temaValue[1] williamsBull = williamsValue > williamsMidLevel williamsBear = williamsValue < williamsMidLevel stochRising = stochK > stochK[stochLookback] stochFalling = stochK < stochK[stochLookback]
50 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Le code est écrit pour le trading automatique ProOrder, mais il n'a pas encore été vérifié à la compilation ni backtesté. Exécutez-le dans ProBacktest sur votre propre marché avant de passer en réel.
Aucun pour l'instant. La page affichera les résultats par instrument une fois les backtests réalisés.
La taille par défaut est de 1 contrat avec un stop de 30 points, mais sans backtest il n'existe aucun chiffre de drawdown sur lequel dimensionner le capital. Considérez toute utilisation en réel comme non testée.
Les autres filtres ne décrivent que l'état de la tendance. Le croisement à la hausse d'ADX(10) au-dessus de 17, 20, 22, 24, 26, 28 ou 30 (longs) donne une barre unique où la force de la tendance s'accélère, de sorte que le trade a un déclencheur clair.
Voir aussi
La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.