Stoch اور EMA اشارے پر مبنی مقداری حکمت عملی کے بعد رجحان


تخلیق کی تاریخ: 2024-02-05 15:27:03 آخر میں ترمیم کریں: 2024-02-05 15:27:03
کاپی: 0 کلکس کی تعداد: 590
1
پر توجہ دیں
1617
پیروکار

Stoch اور EMA اشارے پر مبنی مقداری حکمت عملی کے بعد رجحان

جائزہ

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

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

اس حکمت عملی کے تین اہم حصے ہیں:

  1. ای ایم اے اشارے رجحان کی سمت کا تعین کرتے ہیں

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

  1. اسٹوک اشارے خرید و فروخت کے اشارے کا تعین کرتا ہے

اسٹوچ اشارے٪ K لائن اور٪ D لائن پر مشتمل ہے ،٪ K لائن خریدنے کا اشارہ دیتی ہے جب سونے کا اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری اوپری او

  1. خطرے کے انتظام کے طریقہ کار

اس حکمت عملی میں ایک ہی وقت میں اسٹاپ نقصان اور اسٹاپ اسٹاپ کا طریقہ کار طے کیا گیا ہے۔ جب ایک سے زیادہ پوزیشنیں رکھی جاتی ہیں تو ، اگر قیمت مقررہ اسٹاپ نقصان سے نیچے آجاتی ہے تو ، اس کی پوزیشن بند کردی جاتی ہے۔ اگر قیمت مقررہ اسٹاپ سے تجاوز کرتی ہے تو ، اس کی پوزیشن بند کردی جاتی ہے۔

مجموعی طور پر ، یہ حکمت عملی ایک عام مقدار کی تجارت کی حکمت عملی ہے ، جس میں اشارے کے مجموعے کا استعمال کیا جاتا ہے تاکہ رجحانات کی سمت اور تجارتی سگنل کا تعین کیا جاسکے ، جبکہ سخت رسک مینجمنٹ قواعد کے ساتھ مل کر ، تجارت کے خطرے کو مؤثر طریقے سے کم کیا جاسکے۔

طاقت کا تجزیہ

اس حکمت عملی کے اہم فوائد یہ ہیں:

  1. ای ایم اے کا استعمال کرتے ہوئے اہم اور کم درجے کے رجحانات کا اندازہ لگانا ، غیر واضح مارکیٹ میں پھنسنے سے بچنے کے لئے۔

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

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

  4. سخت رسک مینجمنٹ میکانزم ایک ہی تجارت میں ہونے والے نقصانات کو کنٹرول کرنے میں مدد کرتا ہے ، جس سے مجموعی طور پر زیادہ سے زیادہ واپسی پر قابو پایا جاتا ہے ، جبکہ منافع بخش تجارت کے لئے بھی کافی گنجائش باقی رہ جاتی ہے۔

خطرے کا تجزیہ

اس حکمت عملی میں کچھ خطرات بھی ہیں:

  1. ای ایم اے ، اسٹوک اور دیگر اشارے پیچھے رہ جاتے ہیں ، جس کی وجہ سے حکمت عملی مشکل ہوجاتی ہے اور مارکیٹ میں ردوبدل کے مواقع کو وقت پر پکڑنا پڑتا ہے۔

  2. صرف اشارے پر انحصار کرنے سے مارکیٹ کے بارے میں پہلے سے طے شدہ فیصلے کرنے میں آسانی ہوتی ہے ، جس سے مارکیٹ میں واقعی پیش کردہ تجارتی مواقع سے محروم ہوجاتے ہیں۔

  3. خطرے کے انتظام کا طریقہ کار خود بھی حکمت عملی کے منافع کی گنجائش کو محدود کرسکتا ہے۔ بڑے رجحانات میں نقصانات کو روکنے اور پوزیشنوں کو روکنے کے لئے خاص طور پر محتاط رہنا چاہئے۔

  4. اس حکمت عملی میں پیرامیٹرز کے انتخاب پر بھی کچھ خطرات موجود ہیں ، نتائج پر مختلف پیرامیٹرز کے اثرات کو زیادہ سے زیادہ جانچ پڑتال اور اصلاح کے ذریعے بہترین پیرامیٹرز کا مجموعہ حاصل کرنے کی ضرورت ہے۔

اصلاح کی سمت

اس حکمت عملی کو مندرجہ ذیل پہلوؤں سے بہتر بنایا جاسکتا ہے:

  1. مختلف قسم کے ای ایم اےز جیسے وزن والی متحرک اوسط ، ہل ایم اے اور اسی طرح کے اشارے کو آزمائیں تاکہ رجحانات کا اندازہ لگایا جاسکے اور موازنہ کیا جاسکے۔

  2. دوسرے اشارے کے ساتھ مل کر ٹریڈنگ سگنل پیدا کرنے کی کوشش کریں ، جیسے MACD ، KDJ ، وغیرہ۔

  3. اسٹاپ اور اسٹاپ کی ترتیبات کو بہتر بنائیں تاکہ وہ مارکیٹ کے حقیقی اتار چڑھاؤ کے حالات کے مطابق ہوں۔ زیادہ نرمی سے روکنے والی حد اور زیادہ سخت اسٹاپ کی حد مقرر کی جاسکتی ہے۔

  4. مختلف اقسام اور مختلف ادوار میں حکمت عملی کی کارکردگی کی مختلف حالتوں کی جانچ کرنا ، بہترین اقسام اور ادوار کا مجموعہ تلاش کرنا۔

  5. مشین لرننگ یا نیورل نیٹ ورک کے ماڈل کو شامل کرنے پر غور کریں تاکہ رجحانات کی سمت اور تجارتی سگنل کا اندازہ لگایا جاسکے اور حکمت عملی کو ذہین بنایا جاسکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//by Wugamlo
//Strategy combining Stochastic Crosses in the Overbought/Oversold Area with a trend determined by two EMAs
//Default setup seems to work best on 4HR timeframe for BTC 

strategy(title = "Strategy Stoch/EMA Cross", shorttitle = "Strategy Stoch/EMA Cross", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.USD, commission_value=0.01,commission_type=strategy.commission.percent, initial_capital=1000)

// === GENERAL INPUTS ===
SectionInd      = input(defval = true ,title = "════════════ INDICATORS ════════════")
maFastLength    = input(defval = 55,   title = "Fast MA Period", minval = 1)
maSlowLength    = input(defval = 89,   title = "Slow MA Period", minval = 1)
StochLength     = input(defval = 14,   title = "Stochastic Length", minval=1)
smoothK         = input(defval = 6,    title = "%K Smooth", minval=1)
smoothD         = input(defval = 3,    title = "%D Smooth", minval=1)
overbought      = 80
oversold        = 20
HighlightOBOS   = input(defval = true, title = "Highlight Stoch Cross?")
HighlightTrend  = input(defval = true, title = "Highlight Trend?")

//DATE AND TIME
SectionFrom     = input(defval = true ,title = "═══════════════ FROM ═══════════════")
fromDay         = input(defval = 01,   title = "From day", minval=1)
fromMonth       = input(defval = 1,    title = "From month", minval=1)
fromYear        = input(defval = 2019, title = "From year", minval=2014)
SectionTo       = input(defval = true, title = "════════════════ TO ════════════════")
toDay           = input(defval = 31,   title = "To day", minval=1)
toMonth         = input(defval = 12,    title = "To month", minval=1)
toYear          = input(defval = 2020, title = "To year", minval=2014)

// === STRATEGY RELATED INPUTS ===
SectionStra     = input(defval = true ,title = "═════════════ STRATEGY ═════════════")

// Include Shorts or only trade Long Positions?
includeShorts   = input(defval = true, title = "Include Short Positions?")


// Risk Management inputs
useTakeProfit   = input(defval = true,  title = "User Take Profit?")
inpTakeProfit   = input(defval = 8,     title = "Take Profit (%)", minval = 0)
useStopLoss     = input(defval = false, title = "User Stop Loss?")
inpStopLoss     = input(defval = 2,     title = "Stop Loss (%)", minval = 0)

StopLossPerc    = inpStopLoss * 0.01
TakeProfitPerc  = inpTakeProfit * 0.01


// === EMA SERIES SETUP ===
maFast = ema(close, maFastLength)
maSlow = ema(close, maSlowLength)
diff   = maFast - maSlow

// === STOCHASTIC SETUP ===
k      = sma(stoch(close, high, low, StochLength), smoothK)
d      = sma(k, smoothD)

// Stochastic Long/Short Entry determination
stochLong  = crossover(k,d)  and (k < oversold)
stochShort = crossunder(k,d) and (k > overbought)

// Stochastic Long/Short Exit determination
stochLongEx  = crossover (k, overbought)
stochShortEx = crossunder(k, oversold)


// === PLOTTING EMAs ===
fast = plot(maFast, title = "Fast MA", color = yellow, linewidth = 1, style = line, transp = 10)
slow = plot(maSlow, title = "Slow MA", color = white,  linewidth = 1, style = line, transp = 10)


// === Vertical Coloring for Crosses in Overbought/Oversold zone and for MA Trend Zones ===
b_color = stochLong ? green : stochShort ? red : na
bgcolor(HighlightOBOS ? b_color : na, title="Overbought / Oversold", transp=65)   //Highlight the Overbought/Oversold Stoch Crossings
t_color = diff>=0 ? green : diff<0 ? red : na
bgcolor(HighlightTrend ? t_color : na, title="Trend up / Trend down", transp=75)  //Highlight the EMA Trend


// === STRATEGY LOGIC ===
// Time Restriction
timeInRange = true


// === STRATEGY - LONG POSITION EXECUTION ===
if stochLong and (diff >=0) and timeInRange    //Open Long when Stoch crossing in Oversold area and EMATrend is up
    strategy.entry(id = "Long", long = true)
if stochLong and (diff <0) and timeInRange     //Close Long when another Long Stoch cross signal is given after Trend has changed to down (avoid fake signals)
    strategy.close(id = "Long")
if stochLongEx and timeInRange                 //Close Long when Stoch is getting Overbought 
    strategy.close(id = "Long")


// === STRATEGY - SHORT POSITION EXECUTION ===
if stochShort and (diff <0) and timeInRange and includeShorts  //Open Short when Stoch crossing in Overbought area and EMA Trend is down
    strategy.entry(id = "Short", long = false)
if stochShort and (diff >=0) and timeInRange                   //Close Short when another Short Stoch cross signal is given after Trend has changed to up (avoid fake signals)
    strategy.close(id = "Short")
if stochShortEx and timeInRange                                //Close Short when Stoch is getting Oversold 
    strategy.close(id = "Short")

        
// === STRATEGY RISK MANAGEMENT EXECUTION ===
//Stop Loss
if useStopLoss    //Exit when Stop Loss is hit
    strategy.exit("Exit Long SL",   from_entry = "Long",  loss = close * StopLossPerc / syminfo.mintick )
    strategy.exit("Exit Short SL",  from_entry = "Short", loss = close * StopLossPerc / syminfo.mintick )

//Take Profit
if useTakeProfit  //Exit when Take Profit Limit is hit
    strategy.exit("Exit Long TP",   from_entry = "Long",  profit = close * TakeProfitPerc / syminfo.mintick)
    strategy.exit("Exit Short TP",  from_entry = "Short", profit = close * TakeProfitPerc / syminfo.mintick)