ALMA کراس اوور حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-09-23 15:11:02
ٹیگز:

جائزہ

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

حکمت عملی منطق

بنیادی اشارے اور قواعد یہ ہیں:

  1. فاسٹ ALMA: فرار کو پکڑنے کے لئے مختصر مدت.

  2. سست ALMA: رجحان کا اندازہ کرنے کے لئے طویل مدت.

  3. حجم فلٹر: جب مختصر ای ایم اے طویل ای ایم اے سے تجاوز کرتا ہے تو موزوں ہے۔

  4. خریدنے کا اشارہ: تیز رفتار ALMA سست ALMA اور حجم فلٹر سے گزرتا ہے.

  5. فروخت کا اشارہ: تیز رفتار ALMA سست ALMA سے نیچے گزرتا ہے۔

  6. مختصر سگنل: تیز رفتار ALMA سست ALMA اور حجم فلٹر سے گزرتا ہے.

  7. کور سگنل: تیز رفتار ALMA سست ALMA کے اوپر سے گزرتا ہے۔

یہ حکمت عملی مضبوط سگنلز کے لئے رجحان، رفتار اور حجم تجزیہ کو یکجا کرتی ہے۔ ALMA تاخیر کو کم کرتی ہے جبکہ حجم جھوٹے بریک آؤٹ سے بچتا ہے۔

فوائد

روایتی حرکت پذیر اوسط حکمت عملی کے مقابلے میں، اہم فوائد ہیں:

  1. ALMA تاخیر کو کم کرتا ہے اور سگنل کے معیار کو بہتر بناتا ہے۔

  2. حجم فلٹر غلط بریک آؤٹ سے نقصان سے بچتا ہے.

  3. تیز / سست کمبو رجحان کی سمت کی پیمائش کرتا ہے.

  4. سادہ اور بدیہی قوانین، لاگو کرنے کے لئے آسان.

  5. مختلف بازاروں کے لئے ایم اے پیرامیٹرز کی لچکدار ایڈجسٹمنٹ۔

  6. معقول خطرہ انتظام.

  7. پیرامیٹر ٹیوننگ کے ذریعے مزید اصلاح کی صلاحیت.

  8. روایتی کراس اوور حکمت عملیوں کے مقابلے میں مجموعی طور پر بہتر استحکام اور معیار۔

خطرات

فوائد کے باوجود، مندرجہ ذیل خطرات کو نوٹ کیا جانا چاہئے:

  1. کراس اوور سسٹم اندرونی طور پر وِپساؤز کے لیے کمزور ہوتے ہیں۔

  2. ALMA کی کارکردگی پیرامیٹر ٹیوننگ پر منحصر ہے.

  3. حجم میں اضافے سے سگنل کی پیداوار غلط ہوسکتی ہے۔

  4. کچھ تاخیر ہمیشہ موجود ہوتی ہے، تمام نقصانات سے بچا نہیں جا سکتا۔

  5. حد سے زیادہ اصلاح سے زیادہ فٹ ہونے کا خطرہ۔

  6. جب حجم غیر معمولی ہوتا ہے تو سگنل ناکام ہوجاتے ہیں۔

  7. مشینی سیکھنے کی تکنیک بہتر نتائج پیدا کر سکتی ہے۔

  8. زیادہ سے زیادہ سود لینے سے بچنے کے لئے منافع / خطرہ تناسب کی نگرانی کریں.

بہتری

خطرات سے نمٹنے کے لئے ، مندرجہ ذیل شعبوں میں بہتری لائی جاسکتی ہے:

  1. بہتر حساسیت کے لئے ALMA پیرامیٹرز کو بہتر بنائیں.

  2. مختلف حجم میٹرکس کے ساتھ تجربہ.

  3. ہر تجارت کے لئے نقصان کو کنٹرول کرنے کے لئے سٹاپ نقصان متعارف کرایا.

  4. مضبوط سگنل کے لیے دیگر اشارے شامل کریں۔

  5. سمارٹ سگنل ایڈجسٹمنٹ کے لیے مشین لرننگ ماڈیول شامل کریں۔

  6. حکمت عملی کی تنوع کے لئے متعدد مصنوعات میں تعینات کریں.

  7. مختلف مارکیٹوں کے لئے پوزیشن سائزنگ ماڈلز کو بہتر بنائیں.

  8. اوور فٹنگ کو روکنے کے لئے استحکام کی تحقیق کریں۔

نتیجہ

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


/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
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/
// © Sarahann999
// Calculations for TP/SL based off: https://kodify.net/tradingview/orders/percentage-profit/
//@version=5
strategy("ALMA Cross", overlay=true)

//User Inputs
src= (close)
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')

//Fast Settings
ALMA1 = input(100, "ALMA Lenghth 1", group= "ALMA Fast Length Settings")
alma_offset = input.float(defval=0.85, title='Arnaud Legoux (ALMA) - Offset Value', minval=0, step=0.01)
alma_sigma = input.int(defval=6, title='Arnaud Legoux (ALMA) - Sigma Value', minval=0)
Alma1 = ta.alma(src, ALMA1, alma_offset, alma_sigma)

//Slow Settings
ALMA2 = input(120, "ALMA Length 2", group = "ALMA Slow Length Settings")
alma_offset2 = input.float(defval=0.85, title='Arnaud Legoux (ALMA) - Offset Value', minval=0, step=0.01)
alma_sigma2 = input.int(defval=6, title='Arnaud Legoux (ALMA) - Sigma Value', minval=0)
Alma2 = ta.alma(src, ALMA2, alma_offset2, alma_sigma2)

//Volume
var cumVol = 0.
cumVol += nz(volume)
if barstate.islast and cumVol == 0
    runtime.error("No volume is provided by the data vendor.")
shortlen = input.int(5, minval=1, title = "Short Length", group= "Volume Settings")
longlen = input.int(10, minval=1, title = "Long Length")
short = ta.ema(volume, shortlen)
long = ta.ema(volume, longlen)
osc = 100 * (short - long) / long

//Define Cross Conditions
buy = ta.crossover(Alma1, Alma2)
sell = ta.crossunder(Alma1, Alma2)

//Calculate Take Profit Percentage
longProfitPerc = input.float(title="Long Take Profit", group='Take Profit Percentage',
     minval=0.0, step=0.1, defval=2) / 100
shortProfitPerc = input.float(title="Short Take Profit",
     minval=0.0, step=0.1, defval=2) / 100
     
// Figure out take profit price 1
longExitPrice  = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)

// Make inputs that set the stop %  1
longStopPerc = input.float(title="Long Stop Loss", group='Stop Percentage',
     minval=0.0, step=0.1, defval=2.5) / 100
shortStopPerc = input.float(title="Short Stop Loss",
     minval=0.0, step=0.1, defval=2.5) / 100

// Figure Out Stop Price
longStopPrice  = strategy.position_avg_price * (1 - longStopPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortStopPerc)

//Define Conditions
buySignal = buy and osc > 0
     and strategy.position_size == 0

//sellSignal 
sellSignal = sell and osc > 0
     and strategy.position_size == 0

// Submit entry orders
if buySignal and long_entry
    strategy.entry(id="Long", direction=strategy.long, alert_message="Enter Long")
    alert(message="BUY Trade Entry Alert", freq=alert.freq_once_per_bar)
    
if sellSignal and short_entry
    strategy.entry(id="Short", direction=strategy.short, alert_message="Enter Short")
    alert(message="SELL Trade Entry Alert", freq=alert.freq_once_per_bar)
    
// Submit exit orders based on take profit price
if (strategy.position_size > 0)
    strategy.exit(id="Long TP/SL", limit=longExitPrice, stop=longStopPrice, alert_message="Long Exit 1 at {{close}}")
if (strategy.position_size < 0)
    strategy.exit(id="Short TP/SL", limit=shortExitPrice, stop=shortStopPrice, alert_message="Short Exit 1 at {{close}}")

//Draw
plot(Alma1,"Alma Fast", color=color.purple, style=plot.style_circles)
plot(Alma2,"Alma Slow", color=#acb5c2, style=plot.style_circles)

مزید