اس حکمت عملی میں بنیادی طور پر اسٹاک اشارے کے کراسز کو اوور بک / اوور سیلڈ ایریا میں انٹری سگنل کے طور پر استعمال کیا جاتا ہے ، جبکہ ای ایم اے اشارے کے ذریعہ موجودہ رجحان کی سمت کا اندازہ لگایا جاتا ہے۔ یہ صرف ای ایم اے کے ذریعہ طے شدہ اپ ٹرینڈ میں لمبا جاتا ہے اور ڈاؤن ٹرینڈ میں مختصر ہوجاتا ہے ، جو ایک عام رجحان کی پیروی کرنے والی حکمت عملی ہے۔
اسٹریٹیجی میں تین اہم حصے شامل ہیں:
ای ایم اے رجحان کی سمت کا تعین کرے گا
ایک تیز اور ایک سست ای ایم اے کا استعمال کرتے ہوئے ، جب تیز ای ایم اے سست ای ایم اے سے اوپر ہوتا ہے تو ، اس کا تعین اوپر کے رجحان کے طور پر ہوتا ہے۔ جب تیز ای ایم اے سست ای ایم اے سے نیچے ہوتا ہے تو ، اس کا تعین نیچے کے رجحان کے طور پر ہوتا ہے۔
تجارتی سگنل پیدا کرنے کے لئے اسٹاک
اسٹاک اشارے میں %K اور %D لائنیں شامل ہیں۔ جب %K اوور بُک ایریا میں %D سے اوپر جاتا ہے تو ، یہ خرید کا اشارہ پیدا کرتا ہے۔ جب %K اوور بُک ایریا میں %D سے نیچے جاتا ہے تو ، یہ فروخت کا اشارہ پیدا کرتا ہے۔ یہ حکمت عملی صرف اس وقت اسٹاک کراس اوور سگنل لیتی ہے جب وہ اوور بُک / اوور بُک ایریا میں ہوتے ہیں۔
رسک مینجمنٹ میکانزم
حکمت عملی اسٹاپ نقصان اور منافع کی سطح بھی طے کرتی ہے۔ جب ایک لمبی پوزیشن رکھتے ہو تو ، اگر قیمت اسٹاپ نقصان کی سطح کو توڑتی ہے تو ، یہ تجارت سے باہر نکل جائے گی۔ اگر قیمت منافع کی سطح کو توڑتی ہے تو ، یہ منافع کے لئے پوزیشن بند کردے گی۔ مختصر پوزیشنوں پر بھی یہی منطق لاگو ہوتی ہے۔
عام طور پر ، یہ ایک عام مقداری تجارتی حکمت عملی ہے جو رجحان کی سمت اور تجارتی اشاروں کا تعین کرنے کے لئے اشارے کے امتزاج کا استعمال کرتی ہے ، جس میں تجارتی خطرہ کو کم کرنے کے لئے سخت رسک مینجمنٹ کے قواعد شامل ہیں۔
اس حکمت عملی کے اہم فوائد یہ ہیں:
اہم اور معمولی رجحانات کا تعین کرنے کے لئے ای ایم اے کا استعمال کرتے ہوئے سائیڈ ویز مارکیٹ میں پھنس جانے سے بچتا ہے۔
اسٹاک اشارے کی طاقت اس کی صلاحیت میں ہے کہ وہ زیادہ خرید / زیادہ فروخت کی سطح کو درست طریقے سے ظاہر کرے۔ اس کو کراس اوور سگنلز کے ساتھ جوڑ کر زیادہ خرید / زیادہ فروخت والے زون کی تجارت کی اجازت دیتا ہے۔
حکمت عملی میں ممکنہ طویل اور مختصر منظرناموں کو واضح طور پر بیان کیا گیا ہے ، جس سے سگنل کو مزید فلٹر کیا جاتا ہے اور پیچیدہ مارکیٹ میں پوزیشنوں کو اندھا دھند کھولنے سے گریز کیا جاتا ہے۔
سخت رسک مینجمنٹ سے انفرادی تجارتوں کے نقصان پر قابو پانے میں مدد ملتی ہے، منافع بخش تجارتوں کو چلانے کے لئے جگہ فراہم کرتے ہوئے زیادہ سے زیادہ ڈراؤنڈ کی حد ہوتی ہے۔
اس حکمت عملی کے ساتھ کچھ خطرات بھی ہیں:
ای ایم اے اور اسٹاک جیسے اشارے پسماندہ نوعیت کے ہوتے ہیں، جس کی وجہ سے اس حکمت عملی کے لیے مارکیٹ کی تبدیلیوں کو بروقت پکڑنا مشکل ہوتا ہے۔
خالصتا indicators اشارے پر انحصار کرنا آسانی سے تعصب قائم کرسکتا ہے ، اس طرح مارکیٹ کے ذریعہ فراہم کردہ تجارتی مواقع سے محروم ہوجاتا ہے۔
خطرے کے انتظام کا طریقہ کار خود بھی منافع کی صلاحیت کو محدود کر سکتا ہے، اس سے پہلے کہ نقصان کو روکنے اور منافع حاصل کرنے کے لۓ.
پیرامیٹر کے انتخاب سے وابستہ خطرات ہیں۔ زیادہ سے زیادہ پیرامیٹرز تلاش کرنے کے لئے وسیع پیمانے پر بیک ٹیسٹنگ اور اصلاح کی ضرورت ہے۔
حکمت عملی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
رجحان کا تعین کرنے کے لئے مختلف قسم کے ای ایم اے کی کوشش کریں، جیسے ڈبلیو ایم اے، ہل ایم اے وغیرہ اور نتائج کا موازنہ کریں.
تجارتی سگنل پیدا کرنے کے لئے دیگر اشارے کو یکجا کریں، مثال کے طور پر MACD، KDJ ایک کثیر اشارے کے نظام کی تعمیر کے لئے.
اسٹاپ نقصان کو بہتر بنائیں اور منافع کی ترتیبات کو لے لو تاکہ مارکیٹ کی اتار چڑھاؤ کو بہتر طور پر اپنایا جاسکے۔ وسیع اسٹاپ نقصان اور تنگ منافع لے سکتے ہیں۔
بہترین مجموعہ تلاش کرنے کے لئے مختلف مصنوعات اور وقت کے فریموں میں کارکردگی کی تغیر کی جانچ کریں۔
مشین لرننگ ماڈلز متعارف کرانے پر غور کریں تاکہ حکمت عملی کو زیادہ ذہین بنانے کے لئے رجحان اور سگنل فیصلے میں مدد ملے۔
آخر میں ، یہ حکمت عملی رجحان کے تعین ، تجارتی سگنل اور رسک مینجمنٹ کو مدنظر رکھتے ہوئے ، نسبتا mature پختہ رجحان کے بعد نظام بنانے کے لئے عام طور پر استعمال ہونے والے اشارے کو جوڑتی ہے۔ مزید اصلاح کے ساتھ ، مجھے یقین ہے کہ یہ حکمت عملی بہتر براہ راست تجارتی نتائج حاصل کرسکتی ہے۔ اسی وقت ، ہمیں انفرادی حکمت عملیوں کی حدود سے بھی آگاہ ہونا چاہئے اور طویل مدتی مستحکم منافع کے حصول کے لئے مارکیٹ کی پیچیدگیوں کو سیکھنا جاری رکھنا چاہئے۔
/*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)