Strategi ini adalah strategi perdagangan bullish intraday berdasarkan indikator teknis. Strategi ini terutama menggunakan tiga indikator teknis untuk menentukan waktu entri panjang: 1. Swing low 2. Pola candlestick bullish 3. Over-sold ekstrim. Pada saat yang sama, strategi ini menggunakan indikator ATR (Average True Range) untuk menghitung harga stop-loss dan take-profit. Strategi ini berlaku untuk semua jangka waktu dan semua aset yang mendasari.
Strategi ini didasarkan pada prinsip-prinsip berikut:
Strategi intraday bullish breakout ini adalah strategi perdagangan kuantitatif yang didasarkan pada swing low, bullish pattern, dan reversal oversold. Strategi ini menggunakan tiga indikator teknis untuk menangkap titik masuk panjang dari sudut yang berbeda. Pada saat yang sama, strategi ini menggunakan indikator volatilitas ATR untuk menghitung tingkat stop loss dan take profit yang dinamis. Strategi ini dapat sepenuhnya menangkap keuntungan dalam tren naik tetapi menghadapi risiko perdagangan yang sering terjadi di pasar yang tidak stabil. Strategi ini masih memiliki ruang untuk optimasi, seperti memperkenalkan penilaian tren, mengoptimalkan parameter dan indikator, untuk meningkatkan kinerja 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")