یہ آر ایس آئی اور ای ایم اے اشارے پر مبنی ایک رفتار ٹریڈنگ کی حکمت عملی ہے ، جس میں متعدد ٹائم فریموں میں تکنیکی تجزیہ کو یکجا کیا گیا ہے۔ یہ حکمت عملی ای ایم اے ٹرینڈ کی تصدیق کے ساتھ آر ایس آئی اوور بکٹ / اوور سیل سگنلز پر مبنی تجارت کو انجام دیتی ہے اور متحرک پوزیشن سائزنگ کا استعمال کرتی ہے۔ بنیادی تصور مختصر مدت کے آر ایس آئی (2 مدت) کو درمیانی مدت کے آر ایس آئی (14 مدت) سگنلز کے ساتھ جوڑنے میں ہے ، جبکہ رجحان کی سمت کی تصدیق کے لئے تین مختلف مدت کے ای ایم اے (50/100/200) کا استعمال کرتے ہوئے۔
اس حکمت عملی میں تجارتی فیصلوں کے لئے ایک کثیر پرت کی توثیق کا طریقہ کار استعمال کیا جاتا ہے۔ لمبی شرائط کے لئے RSI14 31 سے نیچے اور RSI2 10 سے اوپر عبور کرنے کی ضرورت ہوتی ہے ، ای ایم اے 50 ، ای ایم اے 100 ، اور ای ایم اے 200 کے ساتھ ساتھ bearish سیدھ میں۔ مختصر شرائط کے لئے RSI14 69 سے اوپر اور RSI2 90 سے نیچے عبور کرنے کی ضرورت ہوتی ہے ، ای ایم اے تیزی سے سیدھ میں ہوتے ہیں۔ اس حکمت عملی میں RSI پر مبنی منافع لینے کا طریقہ کار شامل ہے ، جب RSI انتہائی اقدار تک پہنچ جاتا ہے اور قیمت کی نقل و حرکت پوزیشن کو پسند کرتی ہے تو خود بخود پوزیشنیں بند ہوجاتی ہیں۔ ایک قابل ذکر خصوصیت ایکویٹی پر مبنی متحرک پوزیشن اکاؤنٹ سائزنگ سسٹم ہے ، جو ہر تجارت کے لئے مناسب پوزیشن سائز کا حساب لگاتا ہے۔
یہ حکمت عملی رجحان کی پیروی کرنے والی خصوصیات کے ساتھ رفتار کی تجارت کو جوڑتی ہے ، جس سے متعدد تکنیکی اشارے کے ذریعہ تجارتی وشوسنییتا میں اضافہ ہوتا ہے۔ اگرچہ کچھ خطرات موجود ہیں ، لیکن تجویز کردہ اصلاح کی سمت حکمت عملی کے استحکام کو مزید بہتر بنا سکتی ہے۔ حکمت عملی کی بنیادی خصوصیت متحرک پوزیشن مینجمنٹ کے ساتھ قلیل مدتی اور درمیانی مدتی تکنیکی اشارے کا امتزاج ہے ، جو ایک مکمل تجارتی نظام تشکیل دیتی ہے۔ مناسب رسک مینجمنٹ اور پیرامیٹر کی اصلاح کے ذریعے ، یہ حکمت عملی اصل تجارت میں مستحکم کارکردگی کا وعدہ کرتی ہے۔
/*backtest start: 2024-11-21 00:00:00 end: 2024-11-28 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Custom RSI EMA Strategy", 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) // Definování průměrné ceny pozice var float long_avg_price = na var float short_avg_price = na // Sledujeme, zda se velikost pozice změnila var float last_position_size = na // Přerušení průměrné ceny pozice při změně pozice if (last_position_size != strategy.position_size) long_avg_price := na short_avg_price := na // Aktualizace průměrné ceny pozice if (strategy.position_size > 0) long_avg_price := strategy.position_avg_price short_avg_price := na else if (strategy.position_size < 0) short_avg_price := strategy.position_avg_price long_avg_price := na // Uložení aktuální velikosti pozice pro příští bar last_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_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 = 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", strategy.long, qty=new_position_size == na ? trade_qty : new_position_size) // Vstup do short pozice s dvojnásobkem aktuální pozice nebo standardní velikostí při první pozici if (shortCondition) strategy.entry("Short", strategy.short, qty=new_position_size == na ? trade_qty : new_position_size) // Výstup z long pozice při splnění podmínek pro take profit if (takeProfitLongCondition) strategy.close("Long") // Výstup z short pozice při splnění podmínek pro take profit if (takeProfitShortCondition) strategy.close("Short") // 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 plot(long_avg_price, title="Long Avg Price", color=color.blue, linewidth=2) plot(short_avg_price, title="Short Avg Price", color=color.orange, linewidth=2)