ATR اور RSI پر مبنی تجارتی حکمت عملی کے بعد رجحان


تخلیق کی تاریخ: 2023-10-09 15:18:10 آخر میں ترمیم کریں: 2023-10-09 15:18:10
کاپی: 0 کلکس کی تعداد: 1027
1
پر توجہ دیں
1617
پیروکار

جائزہ

اس حکمت عملی نے ایک ٹریڈنگ سسٹم ڈیزائن کیا ہے جس میں رجحانات کی نگرانی کی خصوصیت ہے جو اوسط حقیقی اتار چڑھاؤ کی حد ((ATR) اور نسبتا مضبوط اشارے ((RSI) پر مبنی ہے۔ یہ نظام خود بخود رجحانات کی سمت کی شناخت کرسکتا ہے اور اس میں اسٹاپ نقصان اور اسٹاپ فنکشن موجود ہے۔

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

  1. اے ٹی آر اور آر ایس آئی کا حساب لگائیں۔ اے ٹی آر حالیہ عرصے میں اوسط قیمت میں اتار چڑھاؤ کی حد کی عکاسی کرتا ہے۔ آر ایس آئی کثیر جہتی طاقتوں کے مابین توازن کی عکاسی کرتا ہے۔

  2. جب اے ٹی آر اس کی چلتی اوسط سے بڑی ہو تو ، اسے اعلی اتار چڑھاؤ کی مدت میں سمجھا جاتا ہے ، جو تجارت کے لئے موزوں ہے۔

  3. جب RSI اوور بی لائن سے اوپر ہو تو زیادہ خریدیں؛ جب RSI اوور سیل زون سے نیچے ہو تو خالی کریں۔

  4. زیادہ کرنے کے بعد ، اعلی پوائنٹ کے ساتھ فکسڈ تناسب کو ٹریکنگ اسٹاپ کے طور پر استعمال کریں۔ کم کرنے کے بعد ، کم پوائنٹ کے ساتھ فکسڈ تناسب کو ٹریکنگ اسٹاپ کے طور پر استعمال کریں۔

  5. منافع کی شرح میں کمی۔

طاقت کا تجزیہ

  1. ٹریکنگ سٹاپ نقصان کو کم سے کم کرنے کے لئے زیادہ سے زیادہ سٹاپ نقصان کو روک سکتا ہے.

  2. RSI ایک مؤثر انداز میں فاریکس طاقت کا اندازہ لگانے کے لئے استعمال کیا جاتا ہے، جس سے آپ کو بار بار کھولنے سے بچنے کے لئے استعمال کیا جاتا ہے.

  3. اے ٹی آر ایک اتار چڑھاؤ اشارے کے طور پر کام کرتا ہے ، جو صرف رجحانات پر تجارت کرنے کے لئے صدمے کو فلٹر کرتا ہے۔

  4. منافع بخش تناسب کی روک تھام منافع کے کچھ حصوں کو لاک کر سکتی ہے۔

خطرے کا تجزیہ

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

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

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

اصلاح کی سمت

  1. اے ٹی آر اور آر ایس آئی کے پیرامیٹرز کو بہتر بنائیں تاکہ نظام زیادہ حساس ہو۔

  2. ایم اے جیسے اشارے کو رجحان کی سمت کا تعین کرنے کے لئے شامل کریں ، اور ہلچل سے بچنے کے لئے۔

  3. متحرک سٹاپ نقصان اسٹاپ تناسب کی کوشش کریں ، فکسڈ سیٹنگ کی بجائے۔

  4. ٹرانزیکشن حجم کنٹرول کے اقدامات پر غور کریں.

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © liwei666
//@version=5
// # ========================================================================= #
// #                   |   Strategy  |
// # ========================================================================= #
strategy(
 title                = "ATR_RSI_Strategy v2[liwei666]",
 shorttitle           = "ATR_RSI_Strategy",
 overlay              =  true,
 max_lines_count                 =  500, 
 max_labels_count                =  500, 
 max_boxes_count                 =  500,
 max_bars_back = 5000,
 initial_capital = 10000,
 default_qty_type=strategy.percent_of_equity, 
 default_qty_value=50, commission_type=strategy.commission.percent, pyramiding=1, 
 commission_value=0.05
 )
// # ========================================================================= #
// #                   |   Strategy  |
// # ========================================================================= #

atr_length = input.int(26, "atr_length", minval = 6, maxval = 100, step=1)
atr_ma_length = input.int(45, "atr_ma_length", minval = 6, maxval = 100, step=1)
rsi_length = input.int(15, "rsi_length", minval = 6, maxval = 100, step=1)
rsi_entry = input.int(10, "rsi_entry", minval = 6, maxval = 100, step=1)
atr_ma_norm_min = input.float(0.3, "atr_ma_norm_min", minval = 0.1, maxval = 0.5, step=0.1)
atr_ma_norm_max = input.float(0.7, "atr_ma_norm_max", minval = 0.5, maxval = 1, step=0.1)
trailing_percent= input.float(1.5, "trailing_percent", minval = 0.1, maxval = 2, step=0.1)

var rsi_buy = 50 + rsi_entry
var rsi_sell = 50 - rsi_entry

sma_norm_h_45() => 
    source = high
    n = 45
    sma = ta.sma(source, n) 
    sma_norm = (sma - ta.lowest(sma, n)) / (ta.highest(sma,n) - ta.lowest(sma, n))
    sma_norm

atr_value = ta.atr(atr_length)
atr_ma = ta.sma(atr_value, atr_ma_length) 
rsi_value = ta.rsi(close, length = rsi_length) 
atr_ma_norm = atr_ma / close * 100
sma_norm = sma_norm_h_45()

var intra_trade_high = 0.0
var intra_trade_low = 0.0

if strategy.position_size == 0
    intra_trade_high := high
    intra_trade_low := low

    if atr_ma_norm >= atr_ma_norm_min and atr_ma_norm <= atr_ma_norm_max
        if atr_value > atr_ma
            if rsi_value > rsi_buy
                strategy.entry("B1", strategy.long, limit = close + 5 )
            else if rsi_value < rsi_sell
                strategy.entry("S1", strategy.short, limit = close - 5 )
else if strategy.position_size > 0
    intra_trade_high := math.max(intra_trade_high, high)
    intra_trade_low := low

    long_tp = intra_trade_high * (1 - trailing_percent / 100)
    strategy.exit("Exit B1", from_entry="B1", stop = long_tp, limit = strategy.position_avg_price * 1.03)

else if strategy.position_size < 0
    intra_trade_high := high
    intra_trade_low := math.min(intra_trade_low, low) 

    short_tp = intra_trade_low * (1 + trailing_percent / 100)
    strategy.exit("Exit S1", from_entry="S1", stop = short_tp, limit = strategy.position_avg_price * 0.94)