
यह रणनीति एक स्व-अनुकूली ट्रेडिंग रणनीति है, जो एक द्वि-समान-रेखा प्रणाली पर आधारित है, जो तेजी से चलती औसत (EMA25) और धीमी गति से चलती औसत (EMA100) के क्रॉसिंग के माध्यम से खरीद संकेतों की पहचान करती है, और गतिशील स्टॉप-लॉस और लाभ लक्ष्य के साथ व्यापार प्रभावशीलता को अनुकूलित करती है। यह रणनीति एक ब्रेकआउट ट्रेडिंग विचारधारा को अपनाती है, जो लाभ की गारंटी देते हुए जोखिम नियंत्रण पर ध्यान केंद्रित करती है, जो मध्यम और दीर्घकालिक रुझानों के लिए उपयुक्त है।
इस रणनीति में तीन मुख्य भाग शामिल हैंः
इस रणनीति के माध्यम से एकसमान लाइन क्रॉस प्रवृत्ति पकड़ने शुरू, गतिशील स्टॉप-लॉस और मुनाफा प्रबंधन तंत्र के साथ संयुक्त, बेहतर जोखिम-लाभ सुविधाओं को प्राप्त. रणनीति डिजाइन के लिए पूरी तरह से वास्तविक युद्ध की जरूरतों को ध्यान में रखा है, और मजबूत व्यावहारिकता है. सुझाव दिया अनुकूलन दिशा के माध्यम से, रणनीति की स्थिरता और अनुकूलनशीलता को और अधिक बढ़ाया जा सकता है. रणनीति मजबूत जोखिम सहनशीलता, मध्यम और दीर्घकालिक स्थिर लाभ की तलाश में व्यापारियों के लिए उपयुक्त है.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover with TP and SL (Buy only) and Break-even", overlay=true)
// EMA sozlamalari
emaFastLength = input.int(25, title="Fast EMA Length")
emaSlowLength = input.int(100, title="Slow EMA Length")
// Hisoblash
emaFast = ta.ema(close, emaFastLength)
emaSlow = ta.ema(close, emaSlowLength)
// Kesishishni aniqlash
bullishCross = ta.crossover(emaFast, emaSlow) // EMA 25 EMA 100 ni yuqoriga kesib o'tganda
// EMA 100 tagidagi oxirgi qizil shamning tagini olish
lastRedCandleLow = ta.valuewhen(close < open and close < emaSlow, low, 0) // EMA 100 pastidagi qizil shamning tagi
// TP va SL darajalarini hisoblash
longSL = lastRedCandleLow
longTP = close + 3 * (close - longSL) // TP SL ga nisbatan 1:2 masofada
// Savdoni ochish va 2% foyda bo'lganda SLni break-even ga o‘zgartirish
if (bullishCross)
strategy.entry("Buy", strategy.long) // Buy pozitsiyasini ochish
strategy.exit("Exit Buy", "Buy", stop=longSL, limit=longTP) // SL va TP qo'yish
// 2% foyda bo'lganda SLni break-even ga o'zgartirish
if (strategy.position_size > 0)
profitPercentage = (close - strategy.position_avg_price) / strategy.position_avg_price * 100
if (profitPercentage >= 2)
strategy.exit("Exit Buy BE", "Buy", stop=strategy.position_avg_price) // SLni break-even ga o'zgartirish
// Signalni ko'rsatish
plotshape(bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
// // TP va SL chizish
// if (bullishCross)
// line.new(x1=bar_index, y1=longSL, x2=bar_index+1, y2=longSL, color=color.red, width=1, extend=extend.none)
// line.new(x1=bar_index, y1=longTP, x2=bar_index+1, y2=longTP, color=color.green, width=1, extend=extend.none)
// label.new(bar_index, longSL, text="SL: " + str.tostring(longSL), style=label.style_label_down, color=color.red, textcolor=color.white, size=size.small)
// label.new(bar_index, longTP, text="TP: " + str.tostring(longTP), style=label.style_label_up, color=color.green, textcolor=color.white, size=size.small)
// EMA chizish
plot(emaFast, color=color.blue, title="Fast EMA (25)")
plot(emaSlow, color=color.orange, title="Slow EMA (100)")
// Alert qo'shish
alertcondition(bullishCross, title="Buy Signal Alert", message="EMA 25 crossed above EMA 100! Buy Signal!")