یہ حکمت عملی خودکار لانگ اور شارٹ پوزیشنز حاصل کرنے کے لئے ڈبل ALMA حرکت پذیر اوسط لائنوں کے گولڈن کراس اور ڈیڈ کراس سگنلز پر مبنی ہے ، جو MACD اشارے کے لمبے اور مختصر سگنلز کے ساتھ مل کر ہے۔ یہ حکمت عملی 4 گھنٹے یا اس سے زیادہ کے ٹائم فریم کے لئے موزوں ہے ، اور ٹیسٹ ڈیٹا BNB / USDT ہے جو 2017 سے لے کر آج تک ہے ، جس میں کمیشن کی شرح 0.03% ہے۔
یہ حکمت عملی ALMA سے دوہری حرکت پذیر اوسط کی تعمیر کے لئے تیز اور سست لائنوں کا استعمال کرتی ہے۔ تیز لائن کی لمبائی 20 ہے اور سست لائن 40 ہے ، دونوں 0.9 کی آفسیٹ اور 5 کا معیاری انحراف اپناتے ہیں۔ جب تیز لائن سست لائن پر عبور کرتی ہے تو ، ایک لمبا سگنل تیار ہوتا ہے۔ جب تیز لائن سست لائن سے نیچے عبور کرتی ہے تو ، ایک مختصر سگنل تیار ہوتا ہے۔
اسی وقت ، حکمت عملی میں ایم اے سی ڈی اشارے کا ہسٹوگرام سگنل شامل ہے۔ صرف اس وقت جب ایم اے سی ڈی ہسٹوگرام مثبت (اعلی) ہوتا ہے تو ، لمبا سگنل درست ہوتا ہے۔ صرف اس وقت جب ایم اے سی ڈی ہسٹوگرام منفی ہوتا ہے (گھٹتا ہے) تو ، مختصر سگنل درست ہوتا ہے۔
یہ حکمت عملی منافع اور اسٹاپ نقصان کی شرائط بھی طے کرتی ہے۔ طویل منافع 2 گنا ہے اور اسٹاپ نقصان 0.2 گنا ہے۔ مختصر منافع 0.05 گنا ہے اور اسٹاپ نقصان 1 گنا ہے۔
اس حکمت عملی میں ڈبل چلتی اوسط کی رجحان کی رائے اور ایم اے سی ڈی اشارے کی توانائی کی رائے کو یکجا کیا گیا ہے ، جو غلط سگنل کو مؤثر طریقے سے فلٹر کرسکتا ہے اور انٹری کی درستگی کو بہتر بنا سکتا ہے۔ منافع میں تالا لگانے اور نقصان کو روکنے کی ترتیبات زیادہ سے زیادہ منافع میں تالا لگانے اور بڑے نقصانات سے بچنے کے لئے معقول ہیں۔
بیک ٹیسٹ کے اعداد و شمار کو 2017 سے اپنایا گیا ہے ، جس میں متعدد بیلوں اور ریچھوں کی تبادلوں کے دوروں کا احاطہ کیا گیا ہے۔ یہ حکمت عملی اب بھی مختلف ادوار میں اچھی کارکردگی کا مظاہرہ کرتی ہے۔ اس سے یہ ثابت ہوتا ہے کہ یہ حکمت عملی مارکیٹ کی لکیری اور غیر لکیری دونوں خصوصیات کو اپناتی ہے۔
اس حکمت عملی میں درج ذیل خطرات ہیں:
حل:
اسٹریٹیجی کو مندرجہ ذیل پہلوؤں میں بھی بہتر بنایا جاسکتا ہے:
اس حکمت عملی میں حرکت پذیر اوسط کے رجحان کے فیصلے اور ایم اے سی ڈی کے معاون فیصلے کو کامیابی کے ساتھ جوڑ دیا گیا ہے ، اور معقول منافع حاصل کرنے اور نقصانات کو روکنے کے لئے مقرر کیا گیا ہے ، جو مارکیٹ کے مختلف حالات میں مستحکم منافع حاصل کرسکتے ہیں۔ پیرامیٹر کی ترتیبات کی مسلسل اصلاح ، اضافی فلٹرنگ شرائط وغیرہ کو شامل کرکے حکمت عملی کے استحکام اور منافع کو مزید بڑھا سکتا ہے۔
/*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')