وسائل لوڈ ہو رہے ہیں... لوڈنگ...

پوزیشن سکالنگ کے ساتھ ملٹی آر ایس آئی-ای ایم اے مومنٹم ہیجنگ حکمت عملی

مصنف:چاؤ ژانگ، تاریخ: 2024-12-04 15:41:10
ٹیگز:آر ایس آئیای ایم اےٹی پیSL

img

جائزہ

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

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

یہ حکمت عملی تجارتی سگنلز کا تعین کرنے کے لئے ای ایم اے 50 ، ای ایم اے 100 اور ای ایم اے 200 کے ساتھ مل کر مختلف ادوار کے ساتھ آر ایس آئی 14 اور آر ایس آئی 2 کا استعمال کرتی ہے۔ لانگ شرائط کے لئے آر ایس آئی 14 کو 31 سے نیچے اور آر ایس آئی 2 کو 10 سے اوپر عبور کرنے کی ضرورت ہوتی ہے ، جبکہ ای ایم اے کو bearish سیدھ میں ہونا چاہئے (ای ایم اے 50 < ای ایم اے 100 < ای ایم اے 200) ۔ مختصر شرائط مخالف ہیں ، جس کے لئے آر ایس آئی 14 کو 69 سے اوپر اور آر ایس آئی 2 کو 90 سے نیچے عبور کرنے کی ضرورت ہوتی ہے ، جس میں ای ایم اے کو تیزی سے سیدھ میں (ای ایم اے 50 > ای ایم اے 100 > ای ایم اے 200) استعمال کیا جاتا ہے۔ یہ حکمت عملی 20x بیعانہ کا استعمال کرتی ہے اور موجودہ ایکویٹی کی بنیاد پر متحرک طور پر تجارتی مقدار کا حساب لگاتی ہے۔ موجودہ پوزیشن کے سائز کی دوگنی مقدار کے ساتھ نئی پوزیشنیں کھولی جاتی ہیں جب موجودہ پوزیشن کی شرائط پوری ہوتی ہیں۔ منافع لینے کی شرائط آر ایس آئی اشارے کے الٹ بریک آؤٹ

حکمت عملی کے فوائد

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

حکمت عملی کے خطرات

  1. ہائی لیورج (20x) اہم معاوضہ خطرات کا باعث بن سکتا ہے
  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


متعلقہ

مزید