ایس ایم اے آر ایس آئی اور اچانک خرید و فروخت کی حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2023-12-20 17:33:04
ٹیگز:

img

جائزہ

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

اصول

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

  2. جب آر ایس آئی کی تبدیلی ایک خاص قدر سے تجاوز کرتی ہے تو ، اسے اچانک تبدیلی سمجھا جاتا ہے۔ اصل قریبی قیمت کی تصدیق کے ساتھ مل کر ، یہ الٹ پوزیشن قائم کرنے کے لئے ایک سگنل کے طور پر کام کرتا ہے۔

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

  4. RSI اوسط، اچانک تبدیلیوں اور EMA فلٹرنگ کے استعمال کو یکجا کرکے، بہتر انٹری پوائنٹس کی نشاندہی کی جا سکتی ہے۔

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

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

  2. اچانک تبدیلیاں اکثر قیمت کے رجحان اور سمت میں تبدیلی کا مطلب ہوتی ہیں، اس سگنل کا استعمال کرتے ہوئے اندراجات کی بروقتیت کو بہتر بنا سکتا ہے۔

  3. کثیر سطح کے ای ایم اے فلٹرنگ سے غلط سگنل سے بچنے اور غیر ضروری نقصانات کو کم کرنے میں مدد مل سکتی ہے۔

  4. متعدد پیرامیٹرز کو فیصلہ کرنے کے معیار کے طور پر مل کر حکمت عملی کے استحکام اور قابل اعتماد کو بڑھا سکتا ہے.

خطرات اور تخفیف

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

  2. اچانک تبدیلیاں حقیقی تبدیلیوں کے بجائے صرف قلیل مدتی اتار چڑھاؤ ہوسکتی ہیں۔ فیصلے کی درستگی کو بہتر بنانے کے لیے سینسنگ سائیکل کی لمبائی میں اضافہ کریں۔

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

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

اصلاح کے لیے تجاویز

  1. بہتر انٹری پوائنٹس تلاش کرنے کے لئے ADX، MACD کے ساتھ مل کر RSI جیسے دیگر اشارے کی جانچ کریں.

  2. اچانک خرید/فروخت کے سگنل کی صداقت اور استحکام کا فیصلہ کرنے کے لیے مشین لرننگ الگورتھم کو بڑھانا۔

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

  4. مارکیٹ کی اتار چڑھاؤ کی بنیاد پر اسٹاپ نقصان کی حد کو متحرک طور پر ایڈجسٹ کرنے کے لئے موافقت پذیر اسٹاپ نقصان کی حکمت عملی شامل کریں۔

  5. پیرامیٹر کے بہترین مجموعے تلاش کرنے کے لئے پیرامیٹر کی اصلاح جاری رکھیں۔ تشخیص کے معیار شارپ تناسب وغیرہ ہوسکتے ہیں۔

نتیجہ

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


/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-19 00:00:00
period: 3m
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/
// © samwillington

//@version=5


strategy("sma RSI & sudden buy and sell Strategy v1", overlay=true)
price = close
length = input( 14 )
inst_length = input( 10 )
var rbc = 0
var float rsiBP = 0.0
var rsc = 0
var float rsiSP = 0.0
bars = input(10)

lookbackno2 = input.int(20)
rsi_buy = 0
rsi_sell = 0



//EMA inputs

input_ema20 = input.int(20)
ema20 = ta.ema(price, input_ema20)
input_ema50 = input.int(50)
ema50 = ta.ema(price, input_ema50)
input_ema100 = input.int(100)
ema100 = ta.ema(price, input_ema100)
input_ema200 = input.int(200)
ema200 = ta.ema(price, input_ema200)
input_ema400 = input.int(400)
ema400 = ta.ema(price, input_ema400)
input_ema800 = input.int(800)
ema800 = ta.ema(price, input_ema800)


vrsi = ta.rsi(price, length)


hi2 = ta.highest(price, lookbackno2)
lo2 = ta.lowest(price, lookbackno2)

buy_diff_rsi = vrsi - ta.rsi(close[1], length)
sell_diff_rsi = ta.rsi(close[1],length) - vrsi


//RSI high low

var int sudS = 0
var int sudB = 0
var float sudSO = 0.0
var float sudSC = 0.0
var float sudBO = 0.0
var float sudBC = 0.0
var sudBuy = 0
var sudSell = 0 
var countB = 0
var countS = 0



var co_800 = false
var co_400 = false
var co_200 = false
var co_100 = false
var co_50 = false
var co_20 = false

co_800 := ta.crossover(price , ema800)
co_400 := ta.crossover(price , ema400)
co_200 := ta.crossover(price , ema200)
co_100 := ta.crossover(price , ema100)
co_50 := ta.crossover(price , ema50)
co_20 := ta.crossover(price , ema20)

if(ta.crossunder(price , ema20))
    co_20 := false
if(ta.crossunder(price , ema50))
    co_50 := false
if(ta.crossunder(price , ema100))
    co_100 := false
if(ta.crossunder(price , ema200))
    co_200 := false
if(ta.crossunder(price , ema400))
    co_400 := false
if(ta.crossunder(price , ema800))
    co_800 := false
    
if((price> ema800) and (price > ema400))
    if(co_20)
        if(co_50)
            if(co_100)
                if(co_200)
                    strategy.close("Sell")
                    strategy.entry("Buy", strategy.long, comment="spl Buy")
                    co_20 := false
                    co_50 := false
                    co_100 := false
                    co_200 := false



// too much rsi

if(vrsi > 90)
    strategy.close("Buy")
    strategy.entry("Sell", strategy.short, comment="RSI too overbuy")
if(vrsi < 10)
    strategy.close("Sell")
    strategy.entry("Buy", strategy.long, comment="RSI too oversold")


var sudbcount = 0  // counting no. of bars till sudden rise
var sudscount = 0  // counting no. of bars till sudden decrease



if(sudB == 1)
    sudbcount := sudbcount + 1
if(sudS == 1)
    sudscount := sudscount + 1


if((buy_diff_rsi > inst_length) and (hi2 > price))
    sudB := 1
    sudBO := open
    sudBC := close
if((sell_diff_rsi > inst_length) )
    sudS := 1
    sudSO := open
    sudSC := close   

if(sudbcount == bars)
    if(sudBC < price)
        strategy.close("Sell")
        strategy.entry("Buy", strategy.long, comment="sudd buy")
        sudbcount := 0
        sudB := 0
    sudbcount := 0
    sudB := 0
if(sudscount == bars) 
    if(sudSC > price)
        strategy.close("Buy")
        strategy.entry("Sell", strategy.short, comment="sudd sell")
        sudscount := 0
        sudS := 0
    sudscount := 0
    sudS := 0


over40 = input( 40 )
over60 = input( 60 )
sma =ta.sma(vrsi, length)
coo = ta.crossover(sma, over60)
cuu = ta.crossunder(sma, over40)

if (coo)
    strategy.close("Sell")
	strategy.entry("Buy", strategy.long, comment="modified buy")
if (cuu)
    strategy.close("Buy")
	strategy.entry("Sell", strategy.short, comment="modefied sell")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

مزید