رفتار ہموار حرکت پذیر اوسط لائن اور حرکت پذیر اوسط لائن کراس اوور حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-11-27 17:35:09
ٹیگز:

img

جائزہ

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

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

رفتار ALMA لائن

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

تیز اور سست EMA کراس اوور

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

اسٹوکاسٹک آر ایس آئی

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

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

رجحانات کے مطابق تجارت

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

سایڈست پیرامیٹرز

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

سٹاپ نقصان اور منافع لینے کا طریقہ کار

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

خطرے کا تجزیہ

غلط رجحان کا فیصلہ

پیچیدہ منڈیوں میں ، ای ایم اے اور ایل ایم اے لائنیں غلط سگنل جاری کرسکتی ہیں۔ نقصانات پر قابو پانے کے لئے اسٹاپ نقصان پر انحصار کریں۔

پیرامیٹر کی غلط ترتیبات

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

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

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

  2. سگنلز کو فلٹر کرنے اور غلط سگنلز کی وجہ سے ہونے والے نقصانات سے بچنے کے لئے دوسرے اشارے شامل کریں۔ جیسے MACD ، KDJ ، وغیرہ۔

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

  4. مختلف اقسام اور سائیکل پیرامیٹرز کا تجربہ کریں تاکہ اس حکمت عملی کو زیادہ مارکیٹوں پر لاگو کیا جاسکے۔

خلاصہ

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


/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5

////Arranged by @ClassicScott
//Strategy Created by @CheatCode1


strategy('ALMA/EMA Strategy', shorttitle='ALMA/EMA Strategy', overlay=true )



////Source Selection & ALMA Variables

//Dominant Momentum ALMA
dsource = input.source(close, title='Source', group='Dominant ALMA')
dperiod = input.int(title='Period', defval=130, group='Dominant ALMA')
doffset = input.float(title='Offset', step=0.025, defval=0.775, group='Dominant ALMA')
dsigma = input.float(title='Sigma', step=0.5, defval=4.5, group='Dominant ALMA')

dalma = ta.alma(dsource, dperiod, doffset, dsigma)

dalma_up_color = input.color(#66bb6a, 'Going Up!', group='Dominant ALMA', inline = '1')
dalma_down_color = input.color(#ef5350, 'Going Down :(', group='Dominant ALMA', inline = '1')
dcolor = close[1] > dalma ? dalma_up_color : dalma_down_color

////ALMA Plots
plot(dalma, color=dcolor, style=plot.style_stepline, linewidth=2, title='Dominant Momentum MA')



//Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1

//Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1 //Strategy by @CheatCode1

cheatcode = input.bool(true, '-----------CHEATC0DE1------------', group = 'Strategy Inputs', confirm = true)

//Variable Declerations/Plot Assingments

inp1 = input.int(49, 'Slow Ema Length', 1, 100, group = 'Strategy Inputs', confirm = true)
inp2 = input.int(9, 'Fast Ema Length', 1, 200, group = 'Strategy Inputs', confirm = true)
inp3 = int(200)
sma1 = ta.sma(close, inp3)
ema1 = ta.ema(close, inp1)
ema2 = ta.ema(close, inp2)

eplot1 = plot(ema1, 'Slow Ema', color.aqua, 1,  plot.style_linebr)
eplot2 = plot(ema2, 'Fast Ema', color.yellow, 1,  plot.style_linebr)
splot1 = plot(sma1, 'Long MA', close[1] < sma1 ? color.red:color.green, 1, plot.style_line, display = display.none)

cross1 = ta.crossover(ema1, ema2)
cross2 = ta.crossunder(ema1, ema2)

plotchar(cross1, '', '↑', location.belowbar,  close[1] > dalma and dalma > sma1 ? na:color.green, size = size.normal, editable = false)
plotchar(cross2, '', '↓', location.abovebar, close[1] < dalma and dalma < sma1 ? na:color.red, size = size.normal, editable = false)
bgcolor(cross1 and close[1] > dalma ? color.new(color.green, 80):cross2 and close[1] < dalma ? color.new(color.red, 80):na)

valueL = ta.valuewhen(cross1 and close[1] > dalma, close, 0)
valueS = ta.valuewhen(cross2 and close[1] < dalma, close, 0)

//Entries

if cross1 and close[2] > dalma[2] and close[1] > dalma[1]
    strategy.entry('Long', strategy.long)
if cross2 and close[2] < dalma[2] and close[1] < dalma[1]
    strategy.entry('Short', strategy.short)
    
//StochRsi
    
smoothK = input.int(3, "K", minval=1)
smoothD = input.int(15, "D", minval=1)
lengthRSI = input.int(14, "RSI Length", minval=1)
lengthStoch = input.int(8, "Stochastic Length", minval=1)
src = input(close, title="RSI Source")
rsi1 = ta.rsi(src, lengthRSI)
k = ta.sma(ta.stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = ta.sma(k, smoothD)

//Cancellations

if k > 75
    strategy.cancel('Long')
if k < 25
    strategy.cancel('Short')
    
//Closures

if ta.crossunder(k, d) and k > 92
    strategy.close('Long')
if ta.crossover(k,d) and k < 8
    strategy.close('Short')

//Exit Percents

takeP = input.float(3, title='Take Profit', group = 'Take Profit and Stop Loss') / 100
stopL = input.float(5.49, title = 'Stop Loss', group = 'Take Profit and Stop Loss')/100
// Pre Directionality

Stop_L = strategy.position_avg_price * (1 - stopL)

Stop_S = strategy.position_avg_price * (1 + stopL)

Take_S= strategy.position_avg_price * (1 - takeP)

Take_L = strategy.position_avg_price * (1 + takeP)
     
     
//Post Excecution
if strategy.position_size > 0
    strategy.exit("Flat", limit=Take_L, stop = Stop_L)

if strategy.position_size < 0
    strategy.exit("Flat", limit=Take_S, stop = Stop_S)


مزید