RVI اور EMA پر مبنی بٹ کوائن ٹریڈنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-02-22 13:50:17
ٹیگز:

img

جائزہ

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

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

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

  2. رجحان کی سمت کا تعین کرنے کے لئے دوہری ای ایم اے کا استعمال کریں۔ جب تیز ای ایم اے سست ای ایم اے سے اوپر ہوتا ہے تو ، یہ ایک تیزی کا رجحان ہوتا ہے۔ جب سست ای ایم اے تیز ای ایم اے سے اوپر ہوتا ہے تو ، یہ ایک bearish رجحان ہوتا ہے۔

  3. صرف اس وقت طویل ہوجائیں جب آر وی آئی انٹری سگنل دیتا ہے اور ای ایم اے میں تیزی کا رجحان ظاہر ہوتا ہے۔ صرف اس وقت مختصر ہوجائیں جب آر وی آئی انٹری سگنل دیتا ہے اور ای ایم اے میں کمی کا رجحان ظاہر ہوتا ہے۔

  4. طویل عرصے سے جانے کے بعد سٹاپ نقصان کو حالیہ کم سے کم فاصلے پر مقرر کیا جاتا ہےatrSL، اور لے منافع کے ایک فاصلے atr کی طرف سے حالیہ اعلی سے اوپر مقرر کیا جاتا ہےatrTP. مختصر جانے کے بعد سٹاپ نقصان حالیہ اعلی کے اوپر atr کے فاصلے پر مقرر کیا جاتا ہےatrSL، اور لے منافع کے دور کے ذریعے حالیہ کم سے نیچے مقرر کیا جاتا ہے atratrTP.

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

  1. رجحان اور زیادہ سے زیادہ فروخت کے اشارے کو یکجا کرنے سے جھوٹے بریک آؤٹ سے بچنے میں مدد ملتی ہے۔

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

  3. ٹرینڈ کی کوالٹی اور oversold/overbought کی سطح کو متوازن کرتا ہے، سگنل کی درستگی کو بہتر بناتا ہے۔

  4. وسیع پیمانے پر بیک ٹیسٹنگ، بہتر پیرامیٹرز، اچھی حقیقی ٹریڈنگ کارکردگی.

خطرے کا تجزیہ

  1. ای ایم اے کی جانب سے مختلف مارکیٹوں کے دوران رجحانات میں کثرت سے ہونے والی تبدیلیوں کی وجہ سے زیادہ تجارت ہوسکتی ہے۔

  2. RVI پیرامیٹرز اور EMA ادوار مختلف تجارتی آلات کے لئے اصلاح کی ضرورت ہے، دوسری صورت میں کارکردگی متاثر ہو سکتی ہے.

  3. سٹاپ نقصان اور منافع لینے کے ضریب کو مارکیٹ کی اتار چڑھاؤ کی بنیاد پر معقول حد تک مقرر کیا جانا چاہئے، ورنہ خطرات کو مؤثر طریقے سے کنٹرول نہیں کیا جاسکتا ہے۔

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

  1. ٹریڈنگ کے فیصلوں کو زیادہ درست بنانے کے لئے زیادہ اشارے شامل کیے جاسکتے ہیں ، جیسے آسکیلیٹرز ، بولنگر بینڈ وغیرہ۔

  2. اسٹاپ نقصان / منافع حاصل کرنے کے فاصلے کو متحرک طور پر اتار چڑھاؤ کے اقدامات جیسے اے ٹی آر کی بنیاد پر ایڈجسٹ کیا جاسکتا ہے ، جس سے اعلی اتار چڑھاؤ کے ادوار کے دوران وسیع تر اسٹاپ کی اجازت ملتی ہے۔

  3. حکمت عملی کی مضبوطی کو بہتر بنانے کے لئے مختلف آلات کے لئے پیرامیٹر کے مجموعے کو الگ الگ جانچ اور بہتر بنایا جاسکتا ہے۔

نتیجہ

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


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//this strategy works well on h4 (btc or eth)


//@version=5
strategy(title="Relative Vigor Index", shorttitle="RVGI",overlay=true)
//indicator(title="Relative Vigor Index", shorttitle="RVGI", format=format.price, precision=4, timeframe="", timeframe_gaps=true)
len = input.int(4, title="Length rvi", minval=1)
rvi = math.sum(ta.swma(close-open), len)/math.sum(ta.swma(high-low),len)
sig = ta.swma(rvi)
offset = input.int(0, "Offset rvi", minval = -500, maxval = 500)


atrlength = input.int(19,title="Atr Length",minval=1)
ema1 =  input.int(95,title="Long EMA rapida",minval=1,step=10)
ema2 =  input.int(200,title="Long EMA lenta",minval=1,step=10)

atrSL = input.float(2.0,title="Atr SL", step=0.1)
atrTP = input.float(1.0,title="Atr TP", step=0.1)

atr = ta.atr(atrlength)
esalcista = low > ta.ema(close,ema1) and ta.ema(close,ema1) > ta.ema(close,ema2)
bajista = high < ta.ema(close,ema1) and ta.ema(close,ema1) < ta.ema(close,ema2)


//plot(high + atr)
//plot(low - atr)

//strategy.entry("compra",strategy.long, when=ta.crossover(rvi,sig))
//strategy.close("compra",when=ta.crossunder(rvi,sig))

//plot(rvi, color=#008000, title="RVGI", offset = offset)
//plot(sig, color=#FF0000, title="Signal", offset = offset)
//plotshape(true,style=shape.xcross)

var TP = 0.0
var SL = 0.0

comprado = strategy.position_size>0
vendido = strategy.position_size<0

crucepositivo = ta.crossover(rvi,sig)
crucenegativo = ta.crossunder(rvi,sig)

if comprado
    // ver SL
    if low < SL
        strategy.close("BUY",comment="SL")
        
        
if comprado    
    //ver tp
    if high > TP
        strategy.close("BUY",comment="TP")
        
       
    
    
    
if not comprado and not vendido
    if crucepositivo and esalcista
        strategy.entry("BUY",strategy.long)
        SL := low - (atr * atrSL)
        TP := high + (atr * atrTP)
        alert("BUY",alert.freq_once_per_bar)



//---------------

if vendido
    // ver SL
    if high > SL
        strategy.close("SELL",comment="SL")
        
        
if vendido    
    //ver tp
    if low < TP
        strategy.close("SELL",comment="TP")
        
       

if not vendido and not comprado
    if crucenegativo and bajista
        strategy.entry("SELL",strategy.short)
        SL := high + (atr * atrSL)
        TP := low - (atr * atrTP)
        alert("SELL",alert.freq_once_per_bar)







//----------------

//plotshape(comprado,style=shape.xcross)
plot( comprado ? SL : na, color=color.red,style=plot.style_circles)
plot( comprado ? TP : na, color=color.blue,style=plot.style_circles)

plot( ta.ema(close,ema1),color=color.orange)
plot( ta.ema(close,ema2),color=color.yellow)


plot( vendido ? SL : na, color=color.red,style=plot.style_circles)
plot( vendido ? TP : na, color=color.blue,style=plot.style_circles)


مزید