مکمل کریپٹو سوئنگ ALMA کراس MACD مقداری حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-05 10:24:34
ٹیگز:

img

جائزہ

یہ حکمت عملی خودکار لانگ اور شارٹ پوزیشنز حاصل کرنے کے لئے ڈبل ALMA حرکت پذیر اوسط لائنوں کے گولڈن کراس اور ڈیڈ کراس سگنلز پر مبنی ہے ، جو MACD اشارے کے لمبے اور مختصر سگنلز کے ساتھ مل کر ہے۔ یہ حکمت عملی 4 گھنٹے یا اس سے زیادہ کے ٹائم فریم کے لئے موزوں ہے ، اور ٹیسٹ ڈیٹا BNB / USDT ہے جو 2017 سے لے کر آج تک ہے ، جس میں کمیشن کی شرح 0.03% ہے۔

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

یہ حکمت عملی ALMA سے دوہری حرکت پذیر اوسط کی تعمیر کے لئے تیز اور سست لائنوں کا استعمال کرتی ہے۔ تیز لائن کی لمبائی 20 ہے اور سست لائن 40 ہے ، دونوں 0.9 کی آفسیٹ اور 5 کا معیاری انحراف اپناتے ہیں۔ جب تیز لائن سست لائن پر عبور کرتی ہے تو ، ایک لمبا سگنل تیار ہوتا ہے۔ جب تیز لائن سست لائن سے نیچے عبور کرتی ہے تو ، ایک مختصر سگنل تیار ہوتا ہے۔

اسی وقت ، حکمت عملی میں ایم اے سی ڈی اشارے کا ہسٹوگرام سگنل شامل ہے۔ صرف اس وقت جب ایم اے سی ڈی ہسٹوگرام مثبت (اعلی) ہوتا ہے تو ، لمبا سگنل درست ہوتا ہے۔ صرف اس وقت جب ایم اے سی ڈی ہسٹوگرام منفی ہوتا ہے (گھٹتا ہے) تو ، مختصر سگنل درست ہوتا ہے۔

یہ حکمت عملی منافع اور اسٹاپ نقصان کی شرائط بھی طے کرتی ہے۔ طویل منافع 2 گنا ہے اور اسٹاپ نقصان 0.2 گنا ہے۔ مختصر منافع 0.05 گنا ہے اور اسٹاپ نقصان 1 گنا ہے۔

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

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

بیک ٹیسٹ کے اعداد و شمار کو 2017 سے اپنایا گیا ہے ، جس میں متعدد بیلوں اور ریچھوں کی تبادلوں کے دوروں کا احاطہ کیا گیا ہے۔ یہ حکمت عملی اب بھی مختلف ادوار میں اچھی کارکردگی کا مظاہرہ کرتی ہے۔ اس سے یہ ثابت ہوتا ہے کہ یہ حکمت عملی مارکیٹ کی لکیری اور غیر لکیری دونوں خصوصیات کو اپناتی ہے۔

خطرے کا تجزیہ

اس حکمت عملی میں درج ذیل خطرات ہیں:

  1. ڈبل چلتی اوسط خود میں تاخیر کا اثر ہے، ممکنہ طور پر مختصر مدت کے مواقع کی کمی
  2. جب MACD ہسٹوگرام صفر ہے، تو حکمت عملی سگنل پیدا نہیں کرے گی
  3. منافع لینے اور سٹاپ نقصان کے تناسب پہلے سے مقرر کر رہے ہیں، اصل مارکیٹ سے انحراف کر سکتے ہیں

حل:

  1. مختصر مدت کے لئے حساسیت کو بہتر بنانے کے لئے مناسب طریقے سے چلتی اوسط سائیکل کو مختصر کریں
  2. ہسٹوگرام کی اتار چڑھاؤ کو زیادہ کثرت سے بنانے کے لئے MACD پیرامیٹرز کو بہتر بنائیں
  3. متحرک طور پر منافع لینے اور سٹاپ نقصان کی ترتیبات کو ایڈجسٹ کریں

اصلاح کی ہدایات

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

  1. بہتر ہموار اثرات تلاش کرنے کے لئے مختلف قسم کے چلتی اوسط کی کوشش کریں
  2. مختلف مصنوعات اور سائیکلوں کے مطابق چلنے والے اوسط اور MACD کے پیرامیٹرز کو بہتر بنائیں
  3. فلٹر سگنلز میں اضافی شرائط شامل کریں جیسے ٹریڈنگ حجم میں تبدیلی
  4. بہتر موافقت کے لئے حقیقی وقت میں منافع اور سٹاپ نقصان کے تناسب کو ایڈجسٹ کریں

نتیجہ

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


/*backtest
start: 2023-11-04 00:00:00
end: 2023-12-04 00:00:00
period: 1h
basePeriod: 15m
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/
// © exlux99

//@version=4
strategy(title = "Full Crypto Swing Strategy ALMA Cross", overlay = true,  pyramiding=1,initial_capital = 1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

//time condition
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2031, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = time >= startDate and time <= finishDate

UseHAcandles    = input(false, title="Use Heikin Ashi Candles in Algo Calculations")

haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh  = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow   = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low

//alma fast and slow
src = haClose
windowsize = input(title="Length Size Fast", type=input.integer, defval=20)
windowsize2 = input(title="Length Size Slow", type=input.integer, defval=40)
offset = input(title="Offset", type=input.float, defval=0.9, step=0.05)
sigma = input(title="Sigma", type=input.float, defval=5)
outfast=alma(src, windowsize, offset, sigma)
outslow=alma(src, windowsize2, offset, sigma)

//macd
fast_length = input(title="Fast Length", type=input.integer, defval=6)
slow_length = input(title="Slow Length", type=input.integer, defval=25)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)

// Calculating
fast_ma = ema(src, fast_length)
slow_ma =  ema(src, slow_length)
macd = fast_ma - slow_ma
signal = ema(macd, signal_length)
hist = macd - signal

long=crossover(outfast,outslow) and hist > hist[1] and time_cond
short=crossunder(outfast,outslow) and hist < hist[1] and time_cond

takeProfit_long=input(2.0, step=0.005)
stopLoss_long=input(0.2, step=0.005)
takeProfit_short=input(0.05, step=0.005)
stopLoss_short=input(1.0, step=0.005)

strategy.entry("long",1,when=long)
strategy.entry("short",0,when=short)

strategy.exit("short_tp/sl", "long", profit=close * takeProfit_long / syminfo.mintick, loss=close * stopLoss_long / syminfo.mintick, comment='LONG EXIT',  alert_message = 'closeshort')
strategy.exit("short_tp/sl", "short", profit=close * takeProfit_short / syminfo.mintick, loss=close * stopLoss_short / syminfo.mintick, comment='SHORT EXIT',  alert_message = 'closeshort')

مزید