
یہ حکمت عملی ایک کثیر تکنیکی اشارے پر مبنی مارکیٹ اوپن ٹریڈنگ سسٹم ہے ، جس میں بنیادی طور پر جرمن اور امریکی مارکیٹ کے کھلنے کے اوقات پر توجہ دی جاتی ہے۔ حکمت عملی بلین بینڈ کے ذریعے صفائی کے مرحلے کی نشاندہی کرتی ہے ، قلیل مدتی اور طویل مدتی اشارے کے ساتھ مل کر حرکت پذیر اوسط کے ساتھ رجحان کی سمت کی تصدیق کرتی ہے ، نسبتا strong مضبوط اشارے اور رجحان کی سمت کے اشارے کو ٹریڈنگ سگنل کو فلٹر کرنے کے لئے استعمال کرتی ہے ، اور آخر میں حقیقی طول و عرض کے اشارے کو متحرک طور پر پوزیشن کا انتظام کرتی ہے۔
حکمت عملی میں 14 دوروں کے برن بینڈ ((1.5 گنا معیاری فرق) کا استعمال کیا جاتا ہے تاکہ کم اتار چڑھاؤ کے مراحل کی نشاندہی کی جاسکے ، اور جب قیمت برن بینڈ کے وسط کے قریب ہوتی ہے تو اس کو سیدھا سمجھا جاتا ہے۔ اس کے ساتھ ساتھ 10 دوروں اور 200 دوروں کے انڈیکس کی حرکت پذیری اوسط کا استعمال کرتے ہوئے ایک کثیر رجحان کی تصدیق کی جاتی ہے ، جس میں قیمت کو دو برابر لائنوں کے اوپر رکھنے کی ضرورت ہوتی ہے۔ 7 دوروں کے آر ایس آئی کا استعمال کرتے ہوئے اس بات کو یقینی بنایا جاتا ہے کہ مارکیٹ زیادہ فروخت نہیں ہے ((> 30) ، 7 دوروں کے اے ڈی ایکس نے رجحان کی طاقت کی تصدیق کی ہے ((> 10) ۔ حکمت عملی مزاحمت کی پوزیشن تلاش کرنے کے لئے حالیہ 20K لائن کی بلندیوں کا تجزیہ بھی کرتی ہے ، جس میں کم از کم دو ٹچز کی ضرورت ہوتی ہے۔ اس مزاحمت کی پوزیشن کو توڑنے اور دیگر شرائط کو پورا کرنے پر ، 2 بار اے ٹی آر سیٹ اسٹاپ نقصان کا استعمال کریں ، 4 بار اے ٹی آر سیٹ اسٹاپس کا استعمال کریں۔
یہ حکمت عملی کثیر جہتی تکنیکی تجزیہ کے طریقہ کار کے ذریعے کھلنے کے وقت کے تجارتی مواقع کو پکڑتی ہے ، متحرک اسٹاپ نقصان کو روکنے کے لئے خطرے کا انتظام کرتی ہے۔ حکمت عملی کی منطق واضح ہے ، ہوا کا کنٹرول کامل ہے ، اور اس کی عمدہ عملی ہے۔ مسلسل اصلاح اور ایڈجسٹمنٹ کے ذریعہ ، حکمت عملی کی کارکردگی کو مزید بہتر بنانے کی امید ہے۔
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Post-Open Long Strategy with ATR-based Stop Loss and Take Profit (Separate Alerts)", overlay=true)
// Parametri per Bande di Bollinger ed EMA
lengthBB = 14
mult = 1.5 // Bande di Bollinger più strette per timeframe inferiori
emaLength = 10 // EMA più breve per una rilevazione di trend più rapida
emaLongLength = 200 // EMA a lungo termine per il filtraggio del trend
// Parametri per RSI
lengthRSI = 7
rsiThreshold = 30
// Parametri per ADX
adxLength = 7
adxSmoothing = 7
adxThreshold = 10
// Filtro temporale - Solo durante l'apertura dei mercati tedesco e USA
daxOpen = (hour >= 8 and hour < 12)
usOpen = (hour == 15 and minute >= 30) or (hour >= 16 and hour < 19)
// Calcolo delle Bande di Bollinger
smaBB = ta.sma(close, lengthBB)
basis = smaBB
dev = mult * ta.stdev(close, lengthBB)
upperBand = basis + dev
lowerBand = basis - dev
// Calcolo delle EMA (breve e lungo termine)
ema = ta.ema(close, emaLength) // EMA più breve
emaLong = ta.ema(close, emaLongLength) // EMA a lungo termine per il filtraggio del trend
// Calcolo RSI
rsi = ta.rsi(close, lengthRSI)
// Calcolo ADX
[plusDI, minusDI, adx] = ta.dmi(adxLength, adxSmoothing)
// Calcolo ATR per Stop Loss e Take Profit dinamici
atrLength = 14
atrStopLossMultiplier = 2.0 // Moltiplicatore per Stop Loss
atrTakeProfitMultiplier = 4.0 // Moltiplicatore per Take Profit modificato a 4.0
atrValue = ta.atr(atrLength) // Valore ATR calcolato qui
// Condizione di lateralizzazione - Prezzo vicino alla SMA delle Bande di Bollinger
lateralization = math.abs(close - smaBB) < (0.01 * close) and (daxOpen or usOpen)
// Identificazione della resistenza e del breakout
var float resistanceLevel = na
resistanceTouches = 0
for i = 1 to 20
if high[i] > high[i+1] and high[i] > high[i-1]
resistanceLevel := high[i]
resistanceTouches := resistanceTouches + 1
// Condizione di Breakout: Il prezzo attuale supera la resistenza identificata
breakoutCondition = close > resistanceLevel and resistanceTouches >= 2
// Filtro di mercato rialzista a lungo termine - Entrare solo se il prezzo è sopra la EMA a 200 periodi
bullMarket = close > emaLong
// Filtro di trend a breve termine
trendFilter = ta.ema(close, emaLength) // Filtro di trend a breve termine
trendDown = close < trendFilter // Condizione di downtrend basata sul trend a breve termine
// Evitare l'entrata durante un pullback - Verifica se le due candele precedenti sono rosse
firstRedCandle = close[1] < open[1] // La prima candela precedente è rossa
secondRedCandle = close[2] < open[2] // La seconda candela precedente è rossa
avoidPullbackCondition = not (firstRedCandle and secondRedCandle) // Entrare solo se non entrambe sono rosse
// Condizione Panic Candle - La candela deve chiudere negativa
panicCandle = close < open and (daxOpen or usOpen)
// Condizione di Entrata Long
longCondition = breakoutCondition and lateralization and close > ema and rsi > rsiThreshold and adx > adxThreshold and not trendDown and avoidPullbackCondition and bullMarket and panicCandle
// Stop Loss e Take Profit dinamici basati su ATR
atrStopLoss = close - (atrValue * atrStopLossMultiplier) // Stop Loss dinamico usando ATR con moltiplicatore 2.0
atrTakeProfit = close + (atrValue * atrTakeProfitMultiplier) // Take Profit dinamico usando ATR con moltiplicatore 4.0
// Entrata Long: Ordine eseguito alla chiusura della candela
if (longCondition and strategy.opentrades == 0 and barstate.isconfirmed)
strategy.entry("Long", strategy.long)
// Disegna linee per Stop Loss e Take Profit
// line.new(x1=bar_index, y1=atrStopLoss, x2=bar_index + 1, y2=atrStopLoss, color=color.red, width=2, style=line.style_solid) // Linea di Stop Loss (rossa)
// line.new(x1=bar_index, y1=atrTakeProfit, x2=bar_index + 1, y2=atrTakeProfit, color=color.green, width=2, style=line.style_solid) // Linea di Take Profit (verde)
// Uscita: Stop Loss o Take Profit raggiunti
if (strategy.opentrades > 0)
strategy.exit("Exit Long", "Long", stop=atrStopLoss, limit=atrTakeProfit)
// Alert: Differenziati per Entrata e Uscita utilizzando strategy.order.action
alert_message = "Azione: {{strategy.order.action}}, Prezzo: {{close}}, Dimensione Posizione: {{strategy.position_size}}"