وسائل لوڈ ہو رہے ہیں... لوڈنگ...

ای ایم اے/ایس ایم اے رجحان کے بعد سوئنگ ٹریڈنگ کی حکمت عملی کے ساتھ مشترکہ حجم فلٹر اور فی صد لے منافع / سٹاپ نقصان کا نظام

مصنف:چاؤ ژانگ، تاریخ: 2024-12-11 15:12:35
ٹیگز:ای ایم اےایس ایم اے

img

جائزہ

یہ حکمت عملی ایک جامع تجارتی نظام ہے جو رجحان کی پیروی کو سوئنگ ٹریڈنگ کے طریقوں ، ای ایم اے اور ایس ایم اے کراس اوورز ، سوئنگ ہائی / لو کی نشاندہی ، حجم فلٹرنگ ، اور فیصد پر مبنی منافع اور ٹریلنگ اسٹاپ نقصان کے طریقہ کار کے ساتھ جوڑتا ہے۔ حکمت عملی میں کثیر جہتی سگنل کی تصدیق پر زور دیا گیا ہے ، جو تکنیکی اشارے کی ہم آہنگی کے ذریعے تجارتی درستگی کو بڑھا رہی ہے۔

حکمت عملی کے اصول

اس حکمت عملی میں ایک کثیر پرت سگنل فلٹرنگ میکانزم استعمال کیا جاتا ہے ، جو بنیادی رجحان کے تعین کے لئے ای ایم اے ((10) اور ایس ایم اے ((21) کراس اوورز سے شروع ہوتا ہے ، پھر انٹری ٹائمنگ کے لئے 6 بار بائیں / دائیں محور پوائنٹ بریکآؤٹس کا استعمال کرتے ہوئے ، جبکہ کافی لیکویڈیٹی کو یقینی بنانے کے لئے 200 پیریڈ کے چلتے ہوئے اوسط سے زیادہ حجم کی ضرورت ہوتی ہے۔ یہ نظام رسک مینجمنٹ کے لئے 2٪ منافع اور 1٪ ٹریلنگ اسٹاپ نقصان کا استعمال کرتا ہے۔ جب قیمت حجم کی تصدیق کے ساتھ سوئنگ ہائی سے اوپر جاتی ہے تو لانگ پوزیشن شروع کی جاتی ہے۔ جب قیمت حجم کی تصدیق کے ساتھ سوئنگ لو سے نیچے ہوتی ہے تو مختصر پوزیشنیں لی جاتی ہیں۔

حکمت عملی کے فوائد

  1. متعدد سگنل کی تصدیق رجحان ، قیمت کی خرابی اور حجم میں توسیع کی تصدیق کے ذریعے جھوٹے سگنل کو کم کرتی ہے
  2. منافع/نقصان کا لچکدار انتظام جس میں فیصد کی بنیاد پر منافع حاصل کرنے کے ساتھ اسٹاپ نقصان کا استعمال کیا جائے
  3. تجارت اور اشاروں کی نگرانی کے لئے جامع نقطہ نظر کا نظام
  4. سایڈست کلیدی پیرامیٹرز کے ساتھ اعلی حسب ضرورت
  5. پہلے سے مقرر سٹاپ نقصان اور منافع لینے کی سطحوں کے ذریعے منظم خطرے کا انتظام

حکمت عملی کے خطرات

  1. مختلف بازاروں میں ممکنہ جھوٹے بریک آؤٹ
  2. حجم فلٹرنگ کچھ درست سگنل کو یاد کر سکتا ہے
  3. مضبوط رجحانات میں مقررہ فیصد منافع حاصل کرنا بہت جلد ختم ہوسکتا ہے
  4. چلتی اوسط نظام میں تیزی سے الٹ میں موروثی تاخیر ہے
  5. حکمت عملی کی واپسی پر تجارتی اخراجات کے اثرات پر غور کرنے کی ضرورت ہے

اصلاح کی ہدایات

  1. منافع/سٹاپ نقصان کی متحرک ایڈجسٹمنٹ کے لئے اتار چڑھاؤ کی موافقت متعارف کروانا
  2. کمزور رجحانات میں تجارت سے بچنے کے لئے رجحان کی طاقت فلٹرنگ شامل کریں
  3. رشتہ دار حجم کی تبدیلیوں کو مدنظر رکھتے ہوئے حجم فلٹرنگ الگورتھم کو بہتر بنائیں
  4. غیر سازگار تجارتی ادوار سے بچنے کے لئے وقت پر مبنی فلٹرز کو نافذ کریں
  5. پیرامیٹرز کی موافقت کے لئے مارکیٹ سسٹم کی درجہ بندی پر غور کریں

خلاصہ

یہ حکمت عملی ایک مکمل تجارتی نظام تیار کرتی ہے جس میں چلتی اوسط ، قیمتوں میں خرابی اور حجم کی تصدیق ہوتی ہے ، جو درمیانے اور طویل مدتی رجحان کی پیروی کے لئے موزوں ہے۔ اس کی طاقت متعدد سگنل کی تصدیق اور جامع رسک مینجمنٹ میں ہے ، حالانکہ مختلف مارکیٹوں میں کارکردگی پر توجہ دینے کی ضرورت ہے۔ تجویز کردہ اصلاحات ، خاص طور پر موافقت کے ذریعہ ، حکمت عملی میں استحکام اور کارکردگی میں بہتری کی گنجائش ہے۔


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// Strategy combining EMA/SMA Crossover, Swing High/Low, Volume Filtering, and Percentage TP & Trailing Stop
strategy("Swing High/Low Strategy with Volume, EMA/SMA Crossovers, Percentage TP and Trailing Stop", overlay=true)

// --- Inputs ---
source = close
TITLE = input(false, title='Enable Alerts & Background Color for EMA/SMA Crossovers')
turnonAlerts = input(true, title='Turn on Alerts?')
colorbars = input(true, title="Color Bars?")
turnonEMASMA = input(true, title='Turn on EMA1 & SMA2?')
backgroundcolor = input(false, title='Enable Background Color?')

// EMA/SMA Lengths
emaLength = input.int(10, minval=1, title='EMA Length')
smaLength = input.int(21, minval=1, title='SMA Length')
ema1 = ta.ema(source, emaLength)
sma2 = ta.sma(source, smaLength)

// Swing High/Low Lengths
leftBars = input.int(6, title="Left Bars for Swing High/Low", minval=1)
rightBars = input.int(6, title="Right Bars for Swing High/Low", minval=1)

// Volume MA Length
volMaLength = input.int(200, title="Volume Moving Average Length")

// Percentage Take Profit with hundredth place adjustment
takeProfitPercent = input.float(2.00, title="Take Profit Percentage (%)", minval=0.01, step=0.01) / 100

// Trailing Stop Loss Option
useTrailingStop = input.bool(true, title="Enable Trailing Stop Loss?")
trailingStopPercent = input.float(1.00, title="Trailing Stop Loss Percentage (%)", minval=0.01, step=0.01) / 100

// --- Swing High/Low Logic ---
pivotHigh(_leftBars, _rightBars) =>
    ta.pivothigh(_leftBars, _rightBars)

pivotLow(_leftBars, _rightBars) =>
    ta.pivotlow(_leftBars, _rightBars)

ph = fixnan(pivotHigh(leftBars, rightBars))
pl = fixnan(pivotLow(leftBars, rightBars))

// --- Volume Condition ---
volMa = ta.sma(volume, volMaLength)

// Declare exit conditions as 'var' so they are initialized
var bool longExitCondition = na
var bool shortExitCondition = na

// --- Long Entry Condition: Close above Swing High & Volume >= 200 MA ---
longCondition = (close > ph and volume >= volMa)
if (longCondition)
    strategy.entry("Long", strategy.long)

// --- Short Entry Condition: Close below Swing Low & Volume >= 200 MA ---
shortCondition = (close < pl and volume >= volMa)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// --- Take Profit and Trailing Stop Logic ---

// For long position: Set take profit at the entry price + takeProfitPercent
longTakeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercent)
shortTakeProfitLevel = strategy.position_avg_price * (1 - takeProfitPercent)

// --- Long Exit Logic ---
if (useTrailingStop)
    // Trailing Stop for Long
    strategy.exit("Long Exit", "Long", stop=na, trail_offset=strategy.position_avg_price * trailingStopPercent, limit=longTakeProfitLevel)
else
    // Exit Long on Take Profit only
    strategy.exit("Long Exit", "Long", limit=longTakeProfitLevel)

// --- Short Exit Logic ---
if (useTrailingStop)
    // Trailing Stop for Short
    strategy.exit("Short Exit", "Short", stop=na, trail_offset=strategy.position_avg_price * trailingStopPercent, limit=shortTakeProfitLevel)
else
    // Exit Short on Take Profit only
    strategy.exit("Short Exit", "Short", limit=shortTakeProfitLevel)

// --- Plot Swing High/Low ---

plot(ph, style=plot.style_circles, linewidth=1, color=color.blue, offset=-rightBars, title="Swing High")
plot(ph, style=plot.style_line, linewidth=1, color=color.blue, offset=0, title="Swing High")
plot(pl, style=plot.style_circles, linewidth=1, color=color.red, offset=-rightBars, title="Swing High")
plot(pl, style=plot.style_line, linewidth=1, color=color.red, offset=0, title="Swing High")
// --- Plot EMA/SMA ---
plot(turnonEMASMA ? ema1 : na, color=color.green, title="EMA")
plot(turnonEMASMA ? sma2 : na, color=color.orange, title="SMA")

// --- Alerts ---
alertcondition(longCondition, title="Long Entry", message="Price closed above Swing High with Volume >= 200 MA")
alertcondition(shortCondition, title="Short Entry", message="Price closed below Swing Low with Volume >= 200 MA")

// --- Bar Colors for Visualization ---
barcolor(longCondition ? color.green : na, title="Long Entry Color")
barcolor(shortCondition ? color.red : na, title="Short Entry Color")
bgcolor(backgroundcolor ? (ema1 > sma2 ? color.new(color.green, 50) : color.new(color.red, 50)) : na)

متعلقہ

مزید