اس حکمت عملی میں چلتی اوسط، حجم قیمت اور اتار چڑھاؤ کے اشارے مل کر تین فلٹرز بناتے ہیں، جس کا مقصد درمیانی مدت کے رجحانات کو پکڑنا اور رجحان مارکیٹوں کے دوران اچھی واپسی حاصل کرنا ہے۔
اسٹریٹیجی میں تین اہم اجزاء شامل ہیں:
ٹرینڈ فلٹر بنانے کے لئے 20 دن کے ای ایم اے اور 60 دن کے ای ایم اے کا استعمال کریں۔ جب قلیل مدتی ایم اے طویل مدتی ایم اے سے تجاوز کرتا ہے تو خریدنے کا اشارہ پیدا ہوتا ہے۔ جب قلیل مدتی ایم اے طویل مدتی ایم اے سے تجاوز کرتا ہے تو فروخت کا اشارہ پیدا ہوتا ہے۔
وی پی اشارے کا حساب لگانے کے لئے کاروبار سے زیادہ حجم کا استعمال کریں ، دارالحکومت کے بہاؤ کی سمتوں کا فیصلہ کریں۔ بڑھتی ہوئی وی پی خالص آمد کا اشارہ کرتی ہے جبکہ کم ہونے والی وی پی خالص اخراج کا اشارہ کرتی ہے۔ وی پی کی تبدیلی رجحان کی تبدیلیوں کی نشاندہی کرسکتی ہے۔
20 دن کے ڈونچیان چینل کی چوڑائی کا استعمال بولنگر بینڈ پیرامیٹر کا حساب کرنے کے لئے کریں ، جس سے اوپری اور نچلی بینڈ بنتے ہیں۔ اوپری بینڈ کے قریب آنے والی قیمتوں کو پل بیک دباؤ کا سامنا کرنا پڑ سکتا ہے ، جبکہ نچلی بینڈ کے قریب آنے والی قیمتوں میں دوبارہ چھلانگ لگ سکتی ہے۔
ان تینوں اجزاء کو ملا کر ایک رجحان کی پیروی کرنے والی حکمت عملی تیار کی جاتی ہے۔ جب مختصر ایم اے طویل ایم اے سے تجاوز کرتا ہے تو یہ خرید سگنل تیار کرتا ہے ، وی پی اپ ٹرینڈ میں ہوتا ہے اور قیمت صرف اوپری بینڈ کو چھوڑ دیتی ہے۔ فروخت سگنل پیدا ہوتے ہیں جب مختصر ایم اے لمبی ایم اے سے نیچے عبور کرتا ہے ، وی پی ڈاؤن ٹرینڈ میں ہوتا ہے اور قیمت صرف نچلے بینڈ کو چھوڑ دیتی ہے۔
اس حکمت عملی کے مندرجہ ذیل فوائد ہیں:
ٹرپل انڈیکیٹر فلٹرز غلط بریک سے بچنے میں مدد کرتے ہیں۔
رجحان، سرمایہ کے بہاؤ اور overbought/oversold کو مدنظر رکھتے ہوئے سگنل کی وشوسنییتا میں اضافہ ہوتا ہے۔
مختلف ادوار اور مصنوعات کے لئے موزوں بہتر پیرامیٹرز.
قابل کنٹرول ڈراؤونگ اور مستحکم منافع
واضح منطق اور لچکدار پیرامیٹر کی ترتیب.
کچھ خطرات بھی ہیں:
رجحان کی تبدیلی کے خطرات۔ رجحان کی تبدیلیوں سے سٹاپ نقصان کا سبب بن سکتا ہے۔
VP تاخیر سے جاری۔ VP قیمتوں میں تبدیلیوں میں تاخیر کرتا ہے اور اندراج یا باہر نکلنے کے مقامات کو یاد کرسکتا ہے۔
پیرامیٹرز کو ایڈجسٹ کرنا مشکل ہے۔ پیرامیٹرز کو مختلف مصنوعات اور ٹائم فریم کے لئے ایڈجسٹ کرنے کی ضرورت ہے۔
ڈراؤ ڈاؤن کنٹرول کو بہتر بنانے کی ضرورت ہے۔ متحرک رکاوٹوں یا پوزیشن سائزنگ کے ساتھ مزید بہتر بنائیں۔
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں بہتر بنایا جاسکتا ہے:
مزید کنٹرول ڈراؤونگ کے لئے ٹریلنگ سٹاپ جیسے سٹاپ نقصان کے طریقوں کو شامل کریں.
پوزیشن سائزنگ ماڈیول شامل کریں تاکہ اتار چڑھاؤ کی بنیاد پر سائز کو متحرک طور پر ایڈجسٹ کیا جاسکے۔
مختلف مصنوعات اور ادوار کے لئے بہترین سیٹ تلاش کرنے کے لئے پیرامیٹرز کو بہتر بنائیں.
سگنل کی درستگی کو بہتر بنانے کے لیے مشین لرننگ ماڈلز کو بڑھانا۔
اچانک ہونے والے واقعات کا جائزہ لینے کے لیے جذبات اور خبروں کا تجزیہ شامل کریں۔
اس حکمت عملی میں ایم اے ، وی پی اور بولنگر بینڈ اشارے کو ملا کر درمیانی مدتی رجحانات کو پکڑنے میں اچھی کارکردگی کا مظاہرہ کیا گیا ہے۔ اسٹاپ نقصان ، پوزیشن سائزنگ اور پیرامیٹر ٹوننگ میں مزید بہتری سے بہتر نتائج حاصل ہوسکتے ہیں۔ منطق واضح ہے اور پیرامیٹر اپنی مرضی کے مطابق کرنے کے لئے لچکدار ہیں۔
/*backtest start: 2023-10-16 00:00:00 end: 2023-11-15 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 29/04/2019 // This is combo strategies for get // a cumulative signal. Result signal will return 1 if two strategies // is long, -1 if all strategies is short and 0 if signals of strategies is not equal. // // 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. // // Secon strategy // The Average Directional Movement Index Rating (ADXR) measures the strength // of the Average Directional Movement Index (ADX). It's calculated by taking // the average of the current ADX and the ADX from one time period before // (time periods can vary, but the most typical period used is 14 days). // Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening // and weakening trends. However, because it represents an average of ADX, values // don't fluctuate as dramatically and some analysts believe the indicator helps // better display trends in volatile markets. // // 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 fADX(Len) => up = change(high) down = -change(low) trur = rma(tr, Len) plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur) minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur) sum = plus + minus 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len) ADXR(LengthADX, LengthADXR, Signal1, Signal2) => xADX = fADX(LengthADX) xADXR = (xADX + xADX[LengthADXR]) / 2 pos = 0.0 pos := iff(xADXR < Signal1, 1, iff(xADXR > Signal2, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal and Average Directional Movement Index Rating", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) LengthADX = input(title="Length ADX", defval=14) LengthADXR = input(title="Length ADXR", defval=14) Signal1 = input(13, step=0.01) Signal2 = input(45, step=0.01) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posADXR = ADXR(LengthADX, LengthADXR, Signal1, Signal2 ) pos = iff(posReversal123 == 1 and posADXR == 1 , 1, iff(posReversal123 == -1 and posADXR == -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 ? red: possig == 1 ? green : blue )