
यह रणनीति एक आत्म-अनुकूली ट्रेडिंग प्रणाली है जो अंतराल और मूल्य परिवर्तनों पर आधारित है, जो लचीले प्रवेश बिंदुओं और गतिशील स्टॉप-लॉस की स्थापना करके स्थिर लाभ प्राप्त करने के लिए है। रणनीति एक पिरामिड-आधारित स्टॉप-लॉस विधि का उपयोग करती है, जबकि ओसीए ऑर्डर प्रबंधन प्रणाली के साथ संयोजन में जोखिम को नियंत्रित करती है। सिस्टम स्वचालित रूप से बाजार की चाल के अनुसार स्थिति रखने की दिशा को समायोजित करता है, और पलटाव संकेत होने पर समय पर स्थिति को बंद कर देता है।
यह रणनीति मुख्य रूप से निम्नलिखित मुख्य तंत्रों के माध्यम से काम करती हैः
यह एक तर्कसंगत और तार्किक रूप से डिजाइन की गई ट्रेडिंग रणनीति है, जो कई तंत्रों के माध्यम से ट्रेडिंग की स्थिरता और सुरक्षा की गारंटी देती है। रणनीति की मुख्य ताकत इसकी अनुकूलनशीलता और जोखिम नियंत्रण क्षमता में है, लेकिन साथ ही साथ बाजार में उतार-चढ़ाव के जोखिम पर ध्यान देने की आवश्यकता है। निरंतर अनुकूलन और सुधार के माध्यम से, रणनीति को विभिन्न बाजार स्थितियों में स्थिर प्रदर्शन बनाए रखने की उम्मीद है।
/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Greedy Strategy - maclaurin", pyramiding = 100, calc_on_order_fills=false, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
backtestStartDate = input(timestamp("1 Jan 1990"),
title="Start Date", group="Backtest Time Period",
tooltip="This start date is in the time zone of the exchange " +
"where the chart's instrument trades. It doesn't use the time " +
"zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2023"),
title="End Date", group="Backtest Time Period",
tooltip="This end date is in the time zone of the exchange " +
"where the chart's instrument trades. It doesn't use the time " +
"zone of the chart or of your computer.")
inTradeWindow = true
tp = input(10)
sl = input(10)
maxidf = input(title="Max Intraday Filled Orders", defval=5)
// strategy.risk.max_intraday_filled_orders(maxidf)
upGap = open > high[1]
dnGap = open < low[1]
dn = strategy.position_size < 0 and open > close
up = strategy.position_size > 0 and open < close
if inTradeWindow and upGap
strategy.entry("GapUp", strategy.long, stop = high[1])
else
strategy.cancel("GapUp")
if inTradeWindow and dn
strategy.entry("Dn", strategy.short, stop = close)
else
strategy.cancel("Dn")
if inTradeWindow and dnGap
strategy.entry("GapDn", strategy.short, stop = low[1])
else
strategy.cancel("GapDn")
if inTradeWindow and up
strategy.entry("Up", strategy.long, stop = close)
else
strategy.cancel("Up")
XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size
dir = strategy.position_size < 0 ? -1 : 1
lmP = strategy.position_avg_price + dir*tp*syminfo.mintick
slP = strategy.position_avg_price - dir*sl*syminfo.mintick
float nav = na
revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false)
if inTradeWindow and not revCond and XQty > 0
strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL", "TPSL")
strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL", "TPSL")
if XQty == 0 or revCond
strategy.cancel("TP")
strategy.cancel("SL")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)