
इस रणनीति में दो महत्वपूर्ण तकनीकी संकेतकों, चलती औसत और व्यापार की मात्रा को मिलाकर, लंबी और छोटी स्थितियों के लिए प्रवेश और बाहर निकलने के नियम तैयार किए गए हैं, जिससे एक पूर्ण मात्रात्मक व्यापार रणनीति तैयार की गई है।
लॉन्ग पोजीशन के लिए प्रवेश की शर्तें:
शॉर्ट पोजीशन के लिए प्रवेश की शर्तें:
एक धीमी गति से चलती औसत के नीचे एक तेजी से चलती औसत के माध्यम से
इस तरह की घटनाओं के बीच,लॉन्ग पोजीशन में प्रवेश की शर्तों को पूरा करने के लिए अधिक करें
शॉर्ट लॉगिंगःशॉर्ट पोजीशन में प्रवेश की शर्तों को पूरा करने के लिए रिक्त स्थान
स्टॉप और स्टॉप लॉस: अधिक करने के बाद स्टॉप और स्टॉप लॉस प्रदर्शित करें
सुधार के तरीके:
रणनीति चलती औसत और व्यापार मात्रा के संकेतकों को एकीकृत करती है, दोहरी पुष्टि तंत्र के माध्यम से एक पूर्ण मात्रात्मक व्यापार रणनीति तैयार करती है। इसमें प्रवेश की स्थिति स्पष्ट है, स्टॉपलॉस है, और इसे संचालित करने में आसान है। साथ ही साथ द्वि-समानता रणनीति के बार-बार व्यापार की समस्याओं को भी रोकता है, व्यापार मात्रा डेटा की गुणवत्ता पर ध्यान देता है, और पैरामीटर के अति-अनुकूलन को रोकता है।
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MA and Volume Strategy", overlay=true)
// Input parameters
fastLength = input(9, title="Fast MA Length")
slowLength = input(21, title="Slow MA Length")
volumePercentageThreshold = input(50, title="Volume Percentage Threshold")
// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// Calculate 24-hour volume and weekly volume average
dailyVolume = request.security(syminfo.tickerid, "D", volume)
weeklyVolumeAvg = ta.sma(request.security(syminfo.tickerid, "W", volume), 7)
// Strategy conditions
longCondition = ta.crossover(fastMA, slowMA) and dailyVolume < (weeklyVolumeAvg * volumePercentageThreshold / 100)
shortCondition = ta.crossunder(fastMA, slowMA)
// Set take profit and stop loss levels
takeProfitLong = close * 1.50
stopLossLong = close * 0.90
// Strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Plot moving averages
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
// Plot 24-hour volume and weekly volume average
plot(dailyVolume, color=color.purple, title="24-Hour Volume", transp=0)
plot(weeklyVolumeAvg, color=color.orange, title="Weekly Volume Average")
// Plot entry signals
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)
// Plot take profit and stop loss levels only when a valid trade is active
plotshape(series=longCondition, title="Take Profit Long", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=longCondition, title="Stop Loss Long", color=color.red, style=shape.triangledown, size=size.small)