ایک سے زیادہ RSI-EMA مومینٹم ہیج اسکیلنگ کی حکمت عملی

RSI EMA TP SL
تخلیق کی تاریخ: 2024-12-04 15:41:10 آخر میں ترمیم کریں: 2024-12-04 15:41:10
کاپی: 0 کلکس کی تعداد: 514
1
پر توجہ دیں
1617
پیروکار

ایک سے زیادہ RSI-EMA مومینٹم ہیج اسکیلنگ کی حکمت عملی

جائزہ

یہ آر ایس آئی اشارے اور ای ایم اے کی اوسط پر مبنی متحرک ہیجنگ ٹریڈنگ حکمت عملی ہے۔ اس حکمت عملی میں ڈبل آر ایس آئی ٹائم پیریڈ ((آر ایس آئی -14 اور آر ایس آئی -2) کو ٹرپل ای ایم اے اوسط ((50، 100، 200) کے ساتھ مل کر استعمال کیا جاتا ہے تاکہ مارکیٹ میں رجحانات کو تبدیل کرنے کے مواقع کو پکڑنے کے لئے ، اور متحرک پوزیشن مینجمنٹ کے ذریعہ اثر و رسوخ کو حاصل کیا جاسکے۔ اس حکمت عملی کی بنیادی خصوصیت یہ ہے کہ داخلے کی شرائط کو پورا کرتے وقت پوزیشنوں میں بتدریج اضافہ کیا جائے ، جبکہ آر ایس آئی پر مبنی اوور بیئر اور اوور سیل کی روک تھام کی شرائط طے کی جائیں۔

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

حکمت عملی تجارت کے اشارے کے لئے RSI-14 اور RSI-2 کے دو مختلف ادوار کے نسبتا strong مضبوط اشارے کا استعمال کرتی ہے ، EMA-50 ، EMA-100 اور EMA-200 کی تین مساوی لائنوں کے ساتھ مل کر۔ متعدد شرائط کے ل R R RSI-14 کو 31 سے کم اور RSI-2 کو 10 کی طرف سے توڑنے کی ضرورت ہوتی ہے ، جبکہ تین مساوی لائنوں کو خالی سر ترتیب دینے کی ضرورت ہوتی ہے (EMA-50 < EMA-100 < EMA-200) ۔ اس کے برعکس ، خالی شرائط کے ل R RSI-14 کو 69 سے زیادہ اور RSI-2 کو 90 کی طرف سے توڑنے کی ضرورت ہوتی ہے ، جبکہ تینوں لائنوں کو ایک ہی سر ترتیب دیا جاتا ہے۔ (EMA-50 > EMA-100 > EMA-200) ۔ حکمت عملی میں 20 گنا بیئر استعمال کیا جاتا ہے ، اور ہر تجارت پر تجارت کی تعداد کی بنیاد پر تجارت کی تعداد کا حساب لگایا جاتا ہے۔ جب موجودہ پوزیشن کی شرائط پوری ہوجاتی ہیں تو ، نئی پوزیشنیں دوگنی سے زیادہ تجارت کی جاتی ہیں جو موجودہ پوزیشنوں کی تعداد پر منحصر ہوتی ہے۔

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

  1. متعدد تکنیکی اشارے کی کراس توثیق ، سگنل کی وشوسنییتا میں اضافہ
  2. متحرک پوزیشن مینجمنٹ ، مارکیٹ کے حالات کے مطابق پوزیشن کو لچکدار انداز میں ایڈجسٹ کریں
  3. دو طرفہ تجارت کا طریقہ کار ، جو دو طرفہ منافع کے لئے کھلا ہے
  4. خود بخود روکنے کے حالات، جلد بازی سے بچنے کے لئے
  5. گرافیکل انٹرفیس ٹریڈنگ سگنل اور مارکیٹ کی حالت کو واضح طور پر دکھاتا ہے
  6. ہیجنگ کے نظام سے ایک طرفہ خطرے کی نمائش کم ہوتی ہے
  7. حقوق اور مفادات پر مبنی متحرک پوزیشنوں کا حساب لگانا ، خطرے پر قابو پانا زیادہ معقول ہے

اسٹریٹجک رسک

  1. اعلی بیعانہ ضرب ((20 گنا) ممکنہ طور پر بڑے پیمانے پر دھماکے کا خطرہ ہے
  2. مارکیٹ میں شدید اتار چڑھاؤ کے دوران بڑھتی ہوئی پوزیشنوں سے شدید نقصان ہوسکتا ہے
  3. اسٹاپ نقصان کی شرائط کے بغیر ، ممکنہ طور پر پائیدار کمی کا خطرہ ہے
  4. RSI انڈیکیٹر سائیڈ وے مارکیٹ میں غلط سگنل پیدا کر سکتا ہے۔
  5. متعدد تکنیکی اشارے کے مجموعے سے تجارت کے مواقع میں کمی واقع ہوسکتی ہے
  6. پوزیشن مینجمنٹ کے طریقوں میں ممکنہ طور پر ایک ہی سمت میں تجارت کے سلسلے میں بہت زیادہ خطرہ ہوسکتا ہے

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

  1. ایڈجسٹمنٹ اسٹاپ کا تعارف ، جیسے اے ٹی آر پر مبنی متحرک اسٹاپ یا اتار چڑھاؤ کی شرح
  2. مارکیٹ میں اتار چڑھاو کی رفتار کے مطابق ایڈجسٹ کرنے پر غور کرنے کے لئے بیعانہ ضرب کو بہتر بنائیں
  3. کم اتار چڑھاؤ کے دوران تجارت سے بچنے کے لئے ٹائم فلٹر شامل کریں
  4. ٹرانزٹ کے اشارے متعارف کرانے سے سگنل کی وشوسنییتا میں اضافہ
  5. زیادہ سے زیادہ پوزیشن کی حد مقرر کرنے پر غور کرنے کے لئے پوزیشن میں اضافے کے ضرب کو بہتر بنائیں
  6. کمزور رجحانات میں ٹریڈنگ سے بچنے کے لیے ٹرینڈ طاقت کا فلٹر شامل کیا گیا۔
  7. خطرے کے انتظام کے نظام کو بہتر بنانا ، جیسے روزانہ کی زیادہ سے زیادہ نقصان کی حد مقرر کرنا

خلاصہ کریں۔

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

حکمت عملی کا ماخذ کوڈ
/*backtest
start: 2024-11-26 00:00:00
end: 2024-12-03 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom RSI EMA Strategy Hedge", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)

// Definování vstupních podmínek
rsi_14 = ta.rsi(close, 14)
rsi_2 = ta.rsi(close, 2)
ema_50 = ta.ema(close, 50)
ema_100 = ta.ema(close, 100)
ema_200 = ta.ema(close, 200)

// Pákový efekt
leverage = 20

// Podmínky pro long pozici
longCondition = (rsi_14[1] < 31) and ta.crossover(rsi_2, 10) and (ema_50 < ema_100) and (ema_100 < ema_200)

// Podmínky pro short pozici
shortCondition = (rsi_14[1] > 69) and ta.crossunder(rsi_2, 90) and (ema_50 > ema_100) and (ema_100 > ema_200)

// Identifikátory pozic
long_id = "Long"
short_id = "Short"

// Definování průměrné ceny pozice pro long a short
var float long_avg_price = na
var float short_avg_price = na

// Sledujeme, zda se velikost pozice změnila
var float last_long_position_size = na
var float last_short_position_size = na

// Přerušení průměrné ceny pozice při změně pozice
if (last_long_position_size != strategy.position_size and strategy.position_size > 0)
    long_avg_price := na
if (last_short_position_size != strategy.position_size and strategy.position_size < 0)
    short_avg_price := na

// Aktualizace průměrné ceny pozice
if (strategy.position_size > 0)
    long_avg_price := strategy.position_avg_price
else
    long_avg_price := na

if (strategy.position_size < 0)
    short_avg_price := strategy.position_avg_price
else
    short_avg_price := na

// Uložení aktuální velikosti pozice pro příští bar
if (strategy.position_size > 0)
    last_long_position_size := strategy.position_size
else if (strategy.position_size < 0)
    last_short_position_size := strategy.position_size

// Podmínky pro take profit
takeProfitLongCondition = (rsi_14 > 69) and (rsi_2 > 90) and (long_avg_price < close)
takeProfitShortCondition = (rsi_14 < 31) and (rsi_2 < 10) and (short_avg_price > close)

// Velikost pozice
new_long_position_size = strategy.position_size == 0 ? na : math.abs(strategy.position_size) * 2
new_short_position_size = strategy.position_size == 0 ? na : math.abs(strategy.position_size) * 2

// Úprava velikosti pozice s ohledem na pákový efekt
position_value = strategy.equity * leverage
trade_qty_long = position_value / close
trade_qty_short = position_value / close

// Vstup do long pozice s dvojnásobkem aktuální pozice nebo standardní velikostí při první pozici
if (longCondition)
    strategy.entry(long_id, strategy.long, qty=new_long_position_size == na ? trade_qty_long : new_long_position_size)

// Vstup do short pozice s dvojnásobkem aktuální pozice nebo standardní velikostí při první pozici
if (shortCondition)
    strategy.entry(short_id, strategy.short, qty=new_short_position_size == na ? trade_qty_short : new_short_position_size)

// Výstup z long pozice při splnění podmínek pro take profit
if (takeProfitLongCondition)
    strategy.close(long_id)

// Výstup z short pozice při splnění podmínek pro take profit
if (takeProfitShortCondition)
    strategy.close(short_id)

// Zvýraznění části grafu, kde platí podmínky pro long
highlightLongCondition = (ema_50 < ema_100) and (ema_100 < ema_200)
bgcolor(highlightLongCondition ? color.new(color.green, 90) : na)

// Zvýraznění části grafu, kde platí podmínky pro short
highlightShortCondition = (ema_50 > ema_100) and (ema_100 > ema_200)
bgcolor(highlightShortCondition ? color.new(color.red, 90) : na)

// Přidání bodů pozic do grafu
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="L")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="S")

// Vykreslení průměrné ceny pozice pro long a short pouze pokud pozice existuje
plot(strategy.position_size > 0 ? long_avg_price : na, title="Long Avg Price", color=color.blue, linewidth=2)
plot(strategy.position_size < 0 ? short_avg_price : na, title="Short Avg Price", color=color.orange, linewidth=2)

// Zvýraznění čtverců pro RSI14 > 70 (červeně) a RSI14 < 30 (zeleně)
var int rsi_above_70_start = na
var int rsi_below_30_start = na

var float top_value_above_70 = na
var float bottom_value_above_70 = na

var float top_value_below_30 = na
var float bottom_value_below_30 = na

// Identifikace začátku a konce období pro RSI14 > 70
if (rsi_14[1] > 70 and rsi_14[2] > 70)
    if na(rsi_above_70_start)
        rsi_above_70_start := bar_index
        top_value_above_70 := high
        bottom_value_above_70 := low
    else
        top_value_above_70 := math.max(top_value_above_70, high)
        bottom_value_above_70 := math.min(bottom_value_above_70, low)
else
    if not na(rsi_above_70_start)
        // box.new(left = rsi_above_70_start, right = bar_index - 1, top = top_value_above_70, bottom = bottom_value_above_70, border_color = color.red, border_width = 2, bgcolor=color.new(color.red, 90))
        rsi_above_70_start := na
        top_value_above_70 := na
        bottom_value_above_70 := na

// Identifikace začátku a konce období pro RSI14 < 30
if (rsi_14[1] < 30 and rsi_14[2] < 30)
    if na(rsi_below_30_start)
        rsi_below_30_start := bar_index
        top_value_below_30 := high
        bottom_value_below_30 := low
    else
        top_value_below_30 := math.max(top_value_below_30, high)
        bottom_value_below_30 := math.min(bottom_value_below_30, low)
else
    if not na(rsi_below_30_start)
        // box.new(left = rsi_below_30_start, right = bar_index - 1, top = top_value_below_30, bottom = bottom_value_below_30, border_color = color.green, border_width = 2, bgcolor=color.new(color.green, 90))
        rsi_below_30_start := na
        top_value_below_30 := na
        bottom_value_below_30 := na