Comb Reverse EMA Volume Weighting Optimization ٹریڈنگ کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-07 16:39:50
ٹیگز:

img

جائزہ

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

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

الٹ حصہ 123 الٹ حکمت عملی کا استعمال کرتا ہے۔ یہ حکمت عملی سگنل پیدا کرنے کے لئے پچھلے دو دن کی اختتامی قیمتوں اور اسٹوکاسٹک آسکیلیٹر کے مابین تعلقات کو جوڑتی ہے۔ مخصوص قواعد یہ ہیں:

  • جب آج کی اختتامی قیمت کل کی قیمت سے زیادہ ہے، اور کل کی اختتامی قیمت کل سے پہلے دن سے کم ہے؛ ایک ہی وقت میں، 9 دن اسٹوکاسٹک سست لائن 50 سے کم ہے، طویل ہو؛
  • جب آج کی اختتامی قیمت کل کی قیمت سے کم ہے، اور کل کی اختتامی قیمت کل سے پہلے دن سے زیادہ ہے؛ ایک ہی وقت میں، 9 دن اسٹوکاسٹک فاسٹ لائن 50 سے زیادہ ہے، مختصر ہو.

ای ایم اے کے وزن والے حصے میں اشاریاتی اوسط اور حجم وزن والے حساب کا استعمال کیا گیا ہے۔ حساب کتاب کا فارمولا مندرجہ ذیل ہے:

xMAVolPrice = ema(volume * close, Length)
xMAVol = ema(volume, Length)
nRes = xMAVolPrice / xMAVol

تجارت کے مخصوص قواعد یہ ہیں: جب nRes اشارے کل کی اختتامی قیمت سے کم/زیادہ ہو، تو طویل/مختصر جائیں۔

آخر میں، حکمت عملی کا اندازہ ہوتا ہے کہ آیا اصل ٹریڈنگ سگنل پیدا کرنے سے پہلے دونوں حصوں کے سگنل مستقل ہیں.

فوائد کا تجزیہ

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

خطرے کا تجزیہ

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

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

اصلاح

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

خلاصہ

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


/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/10/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The related article is copyrighted material from Stocks & Commodities 2009 Oct 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

fFilter(xSeriesSum, xSeriesV, Filter) =>
    iff(xSeriesV > Filter, xSeriesSum, 0)

EMA_VW(Length) =>
    pos = 0.0
    xMAVolPrice = ema(volume * close, Length)
    xMAVol = ema(volume, Length)
    nRes = xMAVolPrice / xMAVol
    pos := iff(nRes < close[1], 1,
             iff(nRes > close[1], -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & EMA & Volume Weighting", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthEMA_VM = input(22, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMA_VW = EMA_VW(LengthEMA_VM)
pos = iff(posReversal123 == 1 and posEMA_VW == 1 , 1,
	   iff(posReversal123 == -1 and posEMA_VW == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

مزید