Cette stratégie est une stratégie de trading haussière intradienne basée sur des indicateurs techniques. Elle utilise principalement trois indicateurs techniques pour déterminer le moment des entrées longues: 1. swing low 2. modèle de bougie haussière 3. survente extrême. En même temps, elle utilise l'indicateur ATR (Average True Range) pour calculer les prix stop-loss et take-profit. Cette stratégie est applicable à tous les délais et à tous les actifs sous-jacents.
La stratégie repose principalement sur les principes suivants:
Cette stratégie de rupture haussière intradienne est une stratégie de trading quantitative basée sur les bas de balance, les tendances haussières et les renversements de survente. Elle utilise trois indicateurs techniques pour capturer les points d'entrée longs sous différents angles. En même temps, elle utilise l'indicateur de volatilité ATR pour calculer les niveaux dynamiques d'arrêt-perte et de prise de profit.
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © LuxTradeVenture //@version=5 strategy("Intraday Bullish Script", overlay=true, margin_long=100, margin_short=100) // Settings for Strategy 1 entryCondition1 = input.bool(true, title="Use Entry Condition - Strategy 1") // Input for ATR multiplier for stop loss atrMultiplierforstoploss = input.float(2, title="ATR Multiplier for Stop Loss") // Input for ATR multiplier for target price atrMultiplierforlongs = input.float(4, title="ATR Multiplier for Target Price") // Calculate ATR atrLength = input.int(14, title="ATR Length") atrValue = ta.atr(atrLength) // Swing low condition - Strategy 1 swingLow1 = low == ta.lowest(low, 12) or low[1] == ta.lowest(low, 12) /// maj_qual = 6 //input(6) maj_len = 30 //input(30) min_qual = 5 //input(5) min_len = 5 //input(5) lele(qual, len) => bindex = 0.0 bindex := nz(bindex[1], 0) sindex = 0.0 sindex := nz(sindex[1], 0) ret = 0 if close > close[4] bindex := bindex + 1 bindex if close < close[4] sindex := sindex + 1 sindex if bindex > qual and close < open and high >= ta.highest(high, len) bindex := 0 ret := -1 ret if sindex > qual and close > open and low <= ta.lowest(low, len) sindex := 0 ret := 1 major = lele(maj_qual, maj_len) minor = lele(min_qual, min_len) ExaustionLow = major == 1 ? 1 : 0 Bullish3LineStrike = close[3] < open[3] and close[2] < open[2] and close[1] < open[1] and close > open[1] // Entry and Exit Logic for Strategy 2 // Create variables to track trade directions and entry prices for each strategy var int tradeDirection1 = na var float entryLongPrice1 = na // Calculate entry prices for long positions - Strategy 1 if (swingLow1 or Bullish3LineStrike) entryLongPrice1 := close tradeDirection1 := 1 // Calculate target prices for long positions based on ATR - Strategy 1 targetLongPrice1 = entryLongPrice1 + (atrMultiplierforlongs * atrValue) // Calculate stop loss prices for long positions based on entry - Strategy 1 stopLossLongPrice1 = entryLongPrice1 - (atrMultiplierforstoploss * atrValue) // Entry conditions for Strategy 1 if (tradeDirection1 == 1 and (swingLow1 or Bullish3LineStrike)) strategy.entry("Long - Strategy 1", strategy.long) // Exit conditions for long positions: When price reaches or exceeds the target - Strategy 1 if (close >= targetLongPrice1) strategy.close("Long - Strategy 1", comment="Take Profit Hit") // Exit conditions for long positions: When price hits stop loss - Strategy 1 if (close <= stopLossLongPrice1) strategy.close("Long - Strategy 1", comment="Stop Loss Hit")