Chiến lược này là một chiến lược giao dịch nhiều đầu trong ngày dựa trên các chỉ số kỹ thuật. Chiến lược này sử dụng ba chỉ số kỹ thuật để đánh giá thời gian nhập vào nhiều đầu: 1.
Chiến lược này dựa trên các nguyên tắc sau:
Chiến lược phá vỡ nhiều đầu trong ngày là một chiến lược giao dịch định lượng dựa trên việc biến động thấp, hình dạng bullish và bán tháo. Sử dụng ba chỉ số kỹ thuật để nắm bắt nhiều điểm mua từ các góc độ khác nhau. Đồng thời sử dụng chỉ số biến động ATR để tính toán mức dừng chân động.
// 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")