سوئنگ ٹریڈنگ اشارے کی حکمت عملی


تخلیق کی تاریخ: 2023-12-12 12:44:50 آخر میں ترمیم کریں: 2023-12-12 12:44:50
کاپی: 0 کلکس کی تعداد: 402
1
پر توجہ دیں
1213
پیروکار

سوئنگ ٹریڈنگ اشارے کی حکمت عملی

جائزہ

یہ حکمت عملی ایک متحرک اوسط اشارے (ایم اے سی ڈی) کا استعمال کرتی ہے جس میں ٹریڈنگ کے لئے ایک غیر فعال سگنل بنایا جاتا ہے ، جس میں رجحان سازی کے حالات میں واپسی کی تجارت کی جاتی ہے ، اور اس سے فائدہ اٹھایا جاتا ہے کہ وہ متحرک طور پر آؤٹ پٹ سیٹ کریں۔

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

یہ حکمت عملی بنیادی طور پر MACD اشارے پر مبنی ہے۔ گولڈ فورک کثیر سگنل ، ڈیف فورک خالی سگنل۔ خاص طور پر ، گولڈ فورک کثیر سگنل اس وقت پیدا ہوتا ہے جب MACD لائن نیچے سے اوپر کی طرف سے سگنل لائن کو عبور کرتی ہے۔ جب MACD لائن اوپر سے نیچے کی طرف سے سگنل لائن کو عبور کرتی ہے تو ڈیف فورک خالی سگنل پیدا کرتی ہے۔

جب گولڈ فورک سگنل آتا ہے تو ، اگر بند ہونے والی قیمت ای ایم اے میڈین لائن سے زیادہ ہے تو ، زیادہ کام کریں۔ جب ڈیڈ فورک سگنل آتا ہے تو ، اگر بند ہونے والی قیمت ای ایم اے میڈین لائن سے کم ہے تو ، خالی ہوجائیں۔ اس طرح بڑے رجحان کے تحت الٹ تجارت کی ضمانت دی جاسکتی ہے۔

داخلے کے بعد ، حکمت عملی کا استعمال کرتے ہوئے روکنے اور روکنے کی پوزیشن کو متحرک طور پر روکنے اور روکنے کے لئے۔ خاص طور پر ، ایک سے زیادہ رکنے والی پوزیشنوں کو داخلے کی قیمت کے طور پر ترتیب دیا گیا ہے(1 - زیادہ سے زیادہ کمی) ؛ اسٹاپ پوزیشن داخلہ قیمت کے طور پر سیٹ کریں(1+TARGET_STOP_RATIO*زیادہ سے زیادہ کمی) ◦ خالی اختیار کی ترتیب کے برعکس ◦ جس میں زیادہ سے زیادہ کمی متحرک طور پر شمار کی جاتی ہے ، جس میں سوئنگ کم سے لے کر اختتامی قیمت کا فیصد کمی کی جگہ ظاہر ہوتا ہے۔ TARGET_STOP_RATIO 2 کو ڈیفالٹ کرتا ہے ، جس میں منافع نقصان کا تناسب 2 ◦ ظاہر ہوتا ہے۔

اس طرح کی جگہ کا تعین کرنے کا فائدہ یہ ہے کہ مارکیٹ کے اتار چڑھاؤ کے مطابق متحرک طور پر نقصان کی شرح اور روکنے کی جگہ کو ایڈجسٹ کیا جاسکے۔ بڑے اتار چڑھاؤ میں فوری طور پر بند کرو ، چھوٹی اتار چڑھاؤ میں اسٹاپ کو ٹریک کریں۔

اسٹریٹجک فوائد

  1. MACD اشارے کا استعمال کرتے ہوئے فاریکس سگنل کی تعمیر ، قیمتوں میں تبدیلی کے وقت کا مؤثر اندازہ لگایا جاسکتا ہے۔

  2. ای ایم اے کی اوسط لائن کے ساتھ مل کر فلٹر کریں ، اور جب آپ کھیل میں داخل ہوں تو رجحان سازی کا انتخاب کریں ، اور الٹا تجارت سے بچیں۔

  3. متحرک آفسیٹ کنٹرول سسٹم ، جو منافع اور نقصان کے تناسب کو حقیقی وقت میں ایڈجسٹ کرسکتا ہے ، اعلی منافع کے حصول کے لئے خطرے کو کنٹرول کرسکتا ہے۔

  4. مارکیٹ میں اتار چڑھاؤ کو مدنظر رکھتے ہوئے ، تیزی سے باہر نکلنے سے مارکیٹ کا وقت کم ہوسکتا ہے ، جو مصروف سرمایہ کاروں کے لئے موزوں ہے۔

اسٹریٹجک خطرات اور حل

  1. افقی طور پر مرتب شدہ مارکیٹوں میں MACD اشارے اکثر غلط سگنل پیدا کرتے ہیں۔ اس کا حل یہ ہے کہ یکساں لائن کو فلٹر کے طور پر شامل کیا جائے تاکہ مخالف تجارت سے بچا جاسکے۔

  2. انتہائی بڑے پیمانے پر اتار چڑھاؤ والی مارکیٹوں میں ، ڈائنامک اسٹاپ بہت زیادہ نرمی کا سبب بنتا ہے ، لیکن زیادہ تر منظرناموں میں بہتر کارکردگی کا مظاہرہ کرتا ہے۔ اگر آپ کو انتہائی حالات کا سامنا کرنا پڑتا ہے تو ، آپ کو مقررہ نقصان کی شرح پر غور کرنا چاہئے۔

  3. منافع کی گنجائش محدود ہے ، منافع کے حصول کے لئے بار بار تجارت کی ضرورت ہے۔ اس میں سرمایہ کاروں کی کچھ نفسیاتی برداشت اور وقت کی ضرورت ہوتی ہے۔ اگر آپریٹنگ کے لئے فارغ نہیں ہیں تو ، اعلی دورانیے میں ایڈجسٹ کرنے پر غور کیا جاسکتا ہے۔

اصلاح کی سمت

  1. مائیکروسافٹ کے مطابق ، مائیکروسافٹ کے مطابق ، مائیکروسافٹ کے مطابق ، مائیکروسافٹ کے مطابق ، مائیکروسافٹ کے مطابق

  2. ٹرینڈ کی تشخیص کے اشارے کے طور پر مختلف منتقل اوسطوں کی جانچ پڑتال کریں اور بہتر فلٹر تلاش کریں.

  3. TARGET_STOP_RATIO ، زیادہ سے زیادہ کمی کے حساب کتاب کے طریقہ کار کی جانچ ، اسٹاپ اسٹاپ نقصان کی حکمت عملی کو بہتر بنائیں۔

  4. سگنل کے معیار کو بہتر بنانے کے لئے دیگر شرائط کا تعین شامل کریں ، جیسے تجارت کے حجم میں تبدیلی ، اتار چڑھاؤ کی شرح وغیرہ۔

  5. مزید خصوصیات کو بہتر بنانے کے لئے مشین لرننگ الگورتھم کی کوشش کریں ، متحرک ملٹی فیکٹر ماڈل بنائیں ، اور زیادہ ذہین اسٹاپ اسٹاپ نقصان حاصل کریں۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © maxencetajet

//@version=5
strategy("MACD Strategy", overlay=true, initial_capital=1000, slippage=25)

src = input(title="Source", defval=close)
target_stop_ratio = input.float(title='Risk/Reward', defval=2, minval=0.5, maxval=100)
risk = input.float(2, title="Risk per Trade %")

riskt = risk / 100 + 1

useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("5 June 2022"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("5 July 2022"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")

inTradeWindow =  true
emaV = input.int(200, title="Length", group="EMA")
swingHighV = input.int(7, title="Swing High", group="number of past candles")
swingLowV = input.int(7, title="Swing Low", group="number of past candles")

ema = ta.ema(src, emaV)

fast_length = input(title="Fast Length", defval=12, group="MACD")
slow_length = input(title="Slow Length", defval=26, group="MACD")
signal_length = input.int(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9, group="MACD")
sma_source = input.string(title="Oscillator MA Type",  defval="EMA", options=["SMA", "EMA"], group="MACD")
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"], group="MACD")

fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)
hist = macd - signal

longcondition = close > ema and ta.crossover(macd, signal) and macd < 0
shortcondition = close < ema and ta.crossunder(macd, signal) and macd > 0

float risk_long = na
float risk_short = na
float stopLoss = na
float takeProfit = na
float entry_price = na

risk_long := risk_long[1]
risk_short := risk_short[1]

swingHigh = ta.highest(high, swingHighV)
swingLow = ta.lowest(low, swingLowV)

lotB = (strategy.equity*riskt-strategy.equity)/(close - swingLow)
lotS = (strategy.equity*riskt-strategy.equity)/(swingHigh - close)

if strategy.position_size == 0 and longcondition and inTradeWindow
    risk_long := (close - swingLow) / close
    strategy.entry("long", strategy.long, qty=lotB)
    
if strategy.position_size == 0 and shortcondition and inTradeWindow
    risk_short := (swingHigh - close) / close  
    strategy.entry("short", strategy.short, qty=lotS)

if strategy.position_size > 0

    stopLoss := strategy.position_avg_price * (1 - risk_long)
    takeProfit := strategy.position_avg_price * (1 + target_stop_ratio * risk_long)
    entry_price := strategy.position_avg_price
    strategy.exit("long exit", "long", stop = stopLoss, limit = takeProfit)
    
if strategy.position_size < 0

    stopLoss := strategy.position_avg_price * (1 + risk_short)
    takeProfit := strategy.position_avg_price * (1 - target_stop_ratio * risk_short)
    entry_price := strategy.position_avg_price
    strategy.exit("short exit", "short", stop = stopLoss, limit = takeProfit)
    
plot(ema, color=color.white, linewidth=2, title="EMA")
p_ep = plot(entry_price, color=color.new(color.white, 0), linewidth=2, style=plot.style_linebr, title='entry price')
p_sl = plot(stopLoss, color=color.new(color.red, 0), linewidth=2, style=plot.style_linebr, title='stopLoss')
p_tp = plot(takeProfit, color=color.new(color.green, 0), linewidth=2, style=plot.style_linebr, title='takeProfit')
fill(p_sl, p_ep, color.new(color.red, transp=85))
fill(p_tp, p_ep, color.new(color.green, transp=85))