ایکسپونیشل موونگ ایوریج کراس اوور اور اپر ٹریک بریک آؤٹ فوری ارادے کی حکمت عملی


تخلیق کی تاریخ: 2023-11-13 11:52:22 آخر میں ترمیم کریں: 2023-11-13 11:52:22
کاپی: 1 کلکس کی تعداد: 667
1
پر توجہ دیں
1617
پیروکار

ایکسپونیشل موونگ ایوریج کراس اوور اور اپر ٹریک بریک آؤٹ فوری ارادے کی حکمت عملی

جائزہ

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

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

  1. MACD کی تیز لائن اور سست لائن کے کراس کو بطور اہم ٹریڈنگ سگنل استعمال کریں۔ جب تیز لائن پر سست لائن کو عبور کرتے ہو تو خریدیں اور جب تیز لائن کے نیچے سست لائن کو عبور کرتے ہو تو خریدیں۔

  2. RSI اشارے کے ساتھ مل کر یہ معلوم کریں کہ آیا یہ زیادہ خرید یا فروخت ہے۔ آر ایس آئی نیچے کی حد سے نیچے ہے اور آر ایس آئی اوپر کی حد سے نیچے ہے۔

  3. موجودہ اختتامی قیمت کا حساب ایک خاص دورانیے میں SMA کی اوسط لائن کے مقابلے میں کیا جاتا ہے۔ اختتامی قیمت SMA سے کم ہونے پر پائی جاتی ہے ، اور اختتامی قیمت SMA سے زیادہ ہونے پر پائی جاتی ہے۔

  4. ایک خاص دورانیے میں HIGHEST کے 0.5 Fibonacci بٹس کا حساب لگانا ، بطور پیشن گوئی کی مزاحمت کی سطح ایک خاص دورانیے میں LOWEST کے 0.5 Fibonacci بٹس کا حساب لگانا ، بطور پیشن گوئی کی حمایت کی سطح

  5. جب فوری لائن پر عبور اور قیمت معاونت سے کم ہو تو بیعانہ میں داخل ہوں ، جب فوری لائن کے نیچے عبور اور قیمت مزاحمت سے زیادہ ہو تو بیعانہ میں داخل ہوں۔

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

اسٹریٹجک فوائد

  1. حکمت عملی MACD کے کراس سگنل کا بھرپور استعمال کرتی ہے ، جو ایک کلاسک اور موثر تکنیکی اشارے کے تجارتی سگنل ہے۔

  2. آر ایس آئی ، ایس ایم اے اور دیگر متعدد اشارے کے ساتھ مل کر تصدیق کی جاسکتی ہے ، جعلی سگنل کو فلٹر کیا جاسکتا ہے ، اور سگنل کی وشوسنییتا کو بہتر بنایا جاسکتا ہے۔

  3. متحرک سپورٹ مزاحمت کی سطح کا حساب لگانا ، توڑ پھوڑ کی تجارت ، بڑے بازاروں کو پکڑ سکتا ہے۔

  4. مرحلہ وار موزوں اسٹاپ کے ذریعہ ، زیادہ تر منافع کو لاک کیا جاسکتا ہے اور خطرات کو کنٹرول کیا جاسکتا ہے۔

  5. حکمت عملی ٹریڈنگ کی منطق واضح اور آسان ہے، سیکھنے کے لئے آسان ہے، اور beginners کے لئے موزوں ہے.

اسٹریٹجک رسک

  1. MACD اشارے میں تاخیر کا خدشہ ہے ، جس کی وجہ سے وہ مارکیٹ میں بہترین خرید و فروخت کے نقطہ نظر سے محروم ہوسکتا ہے۔

  2. کثیر پیمائش کا مجموعہ حکمت عملی کی پیچیدگی میں اضافہ کرتا ہے، اور اس کے نتیجے میں پیمائش کا تنازعہ ہوتا ہے.

  3. متحرک حساب کتاب سے پتہ چلتا ہے کہ مزاحمت کا مقام غلط طریقے سے توڑنے کا خطرہ ہے۔

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

  5. حکمت عملی کے پیرامیٹرز کو بار بار جانچنے اور بہتر بنانے کی ضرورت ہے ، اور نامناسب پیرامیٹرز حکمت عملی کی تاثیر کو متاثر کرسکتے ہیں۔

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

  1. مختلف پیرامیٹرز کے مجموعے کی جانچ کر سکتے ہیں، MACD سائیکل پیرامیٹرز کو بہتر بنانے کے لئے.

  2. مزید اشارے متعارف کروائے جا سکتے ہیں، جیسے برن لائن، کے ڈی جے وغیرہ کثیر جہتی تجزیہ کے لیے۔

  3. مزاحمت کی حمایت کرنے والے مقامات کی معقولیت کا تعین کرنے کے لئے مزید عوامل شامل کیے جاسکتے ہیں۔

  4. زیادہ اعلی درجے کی متحرک سٹاپ نقصان کے طریقہ کار جیسے ٹائم سٹاپ، کمپن سٹاپ وغیرہ پر تحقیق کی جا سکتی ہے۔

  5. خودکار پیرامیٹرز کو بہتر بنانے کے ماڈیول کو شامل کیا جاسکتا ہے ، تاکہ پیرامیٹرز کو خود بخود بہتر بنایا جاسکے۔

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-09 23:00:00
period: 1m
basePeriod: 1m
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/
// © onurenginogutcu

//@version=4
strategy("R19 STRATEGY", overlay=true, calc_on_every_tick=true , margin_long=100, margin_short=100 ,  process_orders_on_close=true )



sym = input(title="Symbol", type=input.symbol, defval="BINANCE:BTCUSDT" , group = "SYMBOL") 
timeFrame = input(title="Strategy Decision Time Frame", type = input.resolution ,  defval="60")

adxlen = input(14, title="ADX Smoothing" , group = "ADX")
dilen = input(14, title="ADX DI Length", group = "ADX")
adxemalenght = input(30, title="ADX EMA", group = "ADX")
adxconstant = input(19, title="ADX CONSTANT", group = "ADX")

fibvar = input (title = "Fibo Look Back Canles" , defval = 50 , minval = 0 , group = "FIBO MACD SMA")
smaLookback = input (title = "SMA Look Back Candles" , defval = 30 , minval = 0 , group = "FIBO MACD SMA")
MACDFast = input (title = "MACD Fast Lenght" , defval = 15 , minval = 0 , group = "FIBO MACD SMA")
MACDSlow = input (title = "MACD Slow Lenght" , defval = 30 , minval = 0 , group = "FIBO MACD SMA")
MACDSmooth = input (title = "MACD Signal Smoothing" , defval = 9 , minval = 0 , group = "FIBO MACD SMA")
MACDLookback = input (title = "MACD Look Back Candles" , defval = 100 , minval = 0 , group = "FIBO MACD SMA")

trailingStopLong = input (title = "Trailing Long Stop %" , defval = 2.0 , step = 0.1, group = "TP & SL") * 0.01
trailingStopShort = input (title = "Trailing Short Stop %" , defval = 2.0 , step = 0.1 , group = "TP & SL") * 0.01
LongTrailingProfitStart = input (title = "Long Profit Start %" , defval = 2.0 , step = 0.1 , group = "TP & SL") * 0.01
ShortTrailingProfitStart = input (title = "Short Profit Start %" , defval = 2.0 , step = 0.1, group = "TP & SL") * 0.01

lsl = input(title="Max Long Stop Loss (%)",
     minval=0.0, step=0.1, defval=3.0, group = "TP & SL") * 0.01
     
ssl = input(title="Max Short Stop Loss (%)",
     minval=0.0, step=0.1, defval=2.5, group = "TP & SL") * 0.01
     
longtp = input(title="Long Take Profit (%)",
     minval=0.0, step=0.1, defval=100, group = "TP & SL") * 0.01
     
shorttp = input(title="Short Take Profit (%)",
     minval=0.0, step=0.1, defval=100, group = "TP & SL") * 0.01
     
capperc = input(title="Capital Percentage to Invest (%)",
     minval=0.0, maxval=100, step=0.1, defval=95, group = "CAPITAL TO INVEST") * 0.01
     

symClose = security(sym, timeFrame, close)
symHigh = security(sym, timeFrame, high)
symLow = security(sym, timeFrame, low)

atr = atr (14) 

/////////adx code

dirmov(len) =>
	up = change(symHigh)
	down = -change(symLow)
	plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
	minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(plusDM, len) / truerange)
	minus = fixnan(100 * rma(minusDM, len) / truerange)
	[plus, minus]
adx(dilen, adxlen) =>
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
emasig = ema (sig , adxemalenght )


////////adx code over



i = ema (symClose , MACDFast) - ema (symClose , MACDSlow) 
r = ema (i , MACDSmooth)

sapust = highest (i , MACDLookback) * 0.729 
sapalt = lowest (i , MACDLookback) * 0.729  


simRSI = rsi (symClose , 50 ) 




fibtop = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50)
fibbottom = lowest (symLow , fibvar) + ((highest (symHigh , fibvar) - lowest (symLow , fibvar)) * 0.50)





cond1 = 0
cond2 = 0
cond3 = 0
cond4 = 0


longCondition = crossover(i, r) and i < sapalt and sig > adxconstant and symClose < sma (symClose , smaLookback) and simRSI < sma (simRSI , 50) and symClose < fibbottom 
shortCondition = crossunder(i, r) and i > sapust and sig > adxconstant and  symClose > sma (symClose , smaLookback) and simRSI > sma (simRSI , 50) and symClose > fibtop 


//////////////////////probability long/short
if (crossover(i, r) and i < sapalt)
    cond1 := 35
else if (crossunder(i, r) and i > sapust)
    cond1 := -35
else
    cond1 := 0
    
if (symClose < sma (symClose , smaLookback))
    cond2 := 30
else if (symClose > sma (symClose , smaLookback))
    cond2 := -30
else
    cond2 := 0
    
if (simRSI < sma (simRSI , 50))
    cond3 := 25
else if (simRSI > sma (simRSI , 50))
    cond3 := -25
else
    cond3 := 0
    
if (symClose < fibbottom)
    cond4 := 10
else if (symClose > fibbottom)
    cond4 := -10
else
    cond4 := 0
    
probab = cond1 + cond2 + cond3 + cond4
////////////////////////////////////////////////////////////////

///////////////////////////////////////////STRATEGY ENTRIES AND STOP LOSSES /////
var startTrail = 0
var trailingLongPrice = 0.0
var trailingShortPrice = 0.0

if (longCondition and strategy.position_size == 0)
    strategy.entry("Long", strategy.long , qty = capperc * strategy.equity / close )

if (shortCondition and strategy.position_size == 0)
    strategy.entry("Short" , strategy.short , qty = capperc * strategy.equity / close )
    
    
if (strategy.position_size == 0)    
    trailingShortPrice := 0.0
    trailingLongPrice := 0.0  
    startTrail := 0
/////////////////////////////////strategy exit

if (strategy.position_size > 0 and close >= strategy.position_avg_price * (1 + LongTrailingProfitStart))
    startTrail := 1

if (strategy.position_size < 0 and close <= strategy.position_avg_price * (1 - ShortTrailingProfitStart))
    startTrail := -1
    



trailingLongPrice := if strategy.position_size > 0 and startTrail == 1
    stopMeasure = close * (1 - trailingStopLong)
    max (stopMeasure , trailingLongPrice [1])
else if strategy.position_size > 0 and startTrail == 0
    strategy.position_avg_price * (1 - lsl)


trailingShortPrice := if strategy.position_size < 0 and startTrail == -1
    stopMeasure = close * (1 + trailingStopShort)
    min (stopMeasure , trailingShortPrice [1])
else if strategy.position_size < 0 and startTrail == 0
    strategy.position_avg_price * (1 + ssl)




if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop = trailingLongPrice , limit=strategy.position_avg_price*(1 + longtp))
 

if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop = trailingShortPrice , limit=strategy.position_avg_price*(1 - shorttp))


////////////////////////vertical colouring signals
bgcolor(color=longCondition ? color.new (color.green , 70) : na)
bgcolor(color=shortCondition ? color.new (color.red , 70) : na)

plot (trailingLongPrice , color = color.green) ///long price trailing stop
plot (trailingShortPrice , color = color.red) /// short price trailing stop
plot (startTrail , color = color.yellow)
plot (probab , color = color.white) ////probability