Strategi ini adalah strategi perdagangan bullish intraday berdasarkan penunjuk teknikal. Ia terutamanya menggunakan tiga penunjuk teknikal untuk menentukan masa entri panjang: 1. Swing rendah 2. corak candlestick bullish 3. oversold yang melampau. Pada masa yang sama, ia menggunakan penunjuk ATR (Average True Range) untuk mengira harga stop-loss dan mengambil keuntungan. Strategi ini boleh digunakan untuk semua bingkai masa dan semua aset asas.
Strategi ini berdasarkan prinsip-prinsip berikut:
Ini intraday bullish breakout strategi adalah kuantitatif strategi perdagangan berdasarkan swing low, bullish corak, dan oversold reversals. Ia menggunakan tiga petunjuk teknikal untuk menangkap titik masuk panjang dari sudut yang berbeza. Pada masa yang sama, ia menggunakan penunjuk turun naik ATR untuk mengira dinamik stop-loss dan mengambil keuntungan tahap. Ia boleh sepenuhnya menangkap keuntungan dalam uptrends tetapi menghadapi risiko perdagangan yang kerap di pasaran yang tidak menentu. Strategi masih mempunyai ruang untuk pengoptimuman, seperti memperkenalkan trend penilaian, mengoptimumkan parameter dan penunjuk, untuk meningkatkan lagi prestasi strategi
// 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")