
एक चलती औसत रेखा क्रॉसिंग ट्रेंड ट्रैकिंग रणनीति एक मात्रात्मक ट्रेडिंग रणनीति है जो बाजार की प्रवृत्तियों को ट्रैक करती है। यह रणनीति तेजी से चलती औसत रेखा और धीमी गति से चलती औसत रेखा की गणना करके और बाजार की प्रवृत्ति के मोड़ को पकड़ने के लिए एक ट्रेडिंग सिग्नल उत्पन्न करती है जब वे क्रॉस होते हैं।
इस रणनीति का मुख्य सिद्धांत विभिन्न मापदंडों का उपयोग करके सूचकांक चलती औसत (ईएमए) का उपयोग करके बाजार की प्रवृत्ति के बारे में निर्णय लेना है। रणनीति में एक तेज ईएमए और एक धीमी ईएमए को परिभाषित किया गया है। जब तेज ईएमए नीचे से धीमी ईएमए को पार करता है, तो यह बाजार की प्रवृत्ति को उछाल देता है; जब तेज ईएमए ऊपर से नीचे से धीमी ईएमए को पार करता है, तो यह बाजार की प्रवृत्ति को उछाल देता है।
रणनीति के ऊपर पहनने पर, रणनीति एक अतिरिक्त कार्ड खोलती है, और नीचे पहनने पर, रणनीति एक खाली कार्ड खोलती है। रणनीति तब तक स्थिति रखती है जब तक कि स्टॉपलॉस ट्रिगर या फिर से क्रॉस रिवर्स सिग्नल नहीं होता।
इस रणनीति के निम्नलिखित फायदे हैं:
इस रणनीति के कुछ जोखिम भी हैं:
जोखिम को कम करने के लिए, अन्य संकेतकों के साथ प्रवृत्ति के प्रकार का आकलन करने पर विचार करें, या स्टॉप-लॉस अनुपात को अधिक आराम से सेट करें।
इस रणनीति को निम्नलिखित पहलुओं से भी अनुकूलित किया जा सकता हैः
एक गतिशील समानांतर क्रॉस ट्रेंड ट्रैकिंग रणनीति एक सरल और व्यावहारिक ट्रेंड ट्रेडिंग रणनीति है। इस रणनीति का मुख्य विचार स्पष्ट है, इसे लागू करना आसान है, लेकिन इसमें अनुकूलन के लिए कुछ जगह भी है। पैरामीटर समायोजन, बहु-चक्र निर्णय, गतिशील स्टॉप लॉस आदि के माध्यम से, रणनीति की स्थिरता और लाभप्रदता को लगातार बढ़ाया जा सकता है।
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Zhukov trade', overlay=true, calc_on_every_tick=true, currency=currency.USD)
// INPUT:
// Options to enter fast and slow Exponential Moving Average (EMA) values
emaFast = input.int(title='Fast EMA', defval=10, minval=1, maxval=9999)
emaSlow = input.int(title='Slow EMA', defval=20, minval=1, maxval=9999)
// Option to select trade directions
tradeDirection = input.string(title='Trade Direction', options=['Long', 'Short', 'Both'], defval='Both')
// Options that configure the backtest date range
startDate = input(title='Start Date', defval=timestamp('01 Jan 2023 00:00'))
endDate = input(title='End Date', defval=timestamp('31 Dec 2030 23:59'))
// Set take profit and stop loss percentages
take_profit_percent = input(1.0, title ="Take Profit Percent") / 100.0
stop_loss_percent = input(1.0, title ="Stop Loss Percent") / 100.0
// CALCULATIONS:
// Use the built-in function to calculate two EMA lines
fastEMA = ta.ema(close, emaFast)
slowEMA = ta.ema(close, emaSlow)
emapos = ta.ema(close, 200)
// PLOT:
// Draw the EMA lines on the chart
plot(series=fastEMA, color=color.new(color.orange, 0), linewidth=2)
plot(series=slowEMA, color=color.new(color.blue, 0), linewidth=2)
plot(series=emapos, color=color.new(color.red, 0), linewidth=2)
// CONDITIONS:
// Check if the close time of the current bar falls inside the date range
inDateRange = true
// Translate input into trading conditions
longOK = tradeDirection == 'Long' or tradeDirection == 'Both'
shortOK = tradeDirection == 'Short' or tradeDirection == 'Both'
// Decide if we should go long or short using the built-in functions
longCondition = ta.crossover(fastEMA, slowEMA) and inDateRange
shortCondition = ta.crossunder(fastEMA, slowEMA) and inDateRange
// ORDERS:
// Submit entry (or reverse) orders
if longCondition and longOK
strategy.entry(id='long', direction=strategy.long)
if shortCondition and shortOK
strategy.entry(id='short', direction=strategy.short)
// Exit orders
if strategy.position_size > 0 and longOK
strategy.exit(id='exit long', from_entry='long', limit=strategy.position_avg_price * (1 + take_profit_percent), stop=strategy.position_avg_price * (1 - stop_loss_percent))
if strategy.position_size < 0 and shortOK
strategy.exit(id='exit short', from_entry='short', limit=strategy.position_avg_price * (1 - take_profit_percent), stop=strategy.position_avg_price * (1 + stop_loss_percent))