कई EMA क्रॉसओवर पर आधारित अनुकूली ट्रेडिंग रणनीति


निर्माण तिथि: 2023-09-26 14:41:00 अंत में संशोधित करें: 2023-09-26 14:41:00
कॉपी: 0 क्लिक्स: 655
1
ध्यान केंद्रित करना
1617
समर्थक

अवलोकन

यह रणनीति ईएमए संकेतक के संयोजन के एक समूह के माध्यम से स्व-अनुकूली बहुमुखी व्यापार को प्राप्त करती है। ईएमए संकेतक के विभिन्न मापदंडों को बाजार की लंबी और छोटी लाइन की प्रवृत्ति के आधार पर प्रवेश और बाहर निकलने के लिए उपयोग किया जाता है। यह रणनीति स्वचालित रूप से बहुमुखी स्थितियों की पहचान करती है और स्वतंत्र स्टॉपओवर तंत्र के साथ जोखिम को नियंत्रित करती है।

रणनीति सिद्धांत

यह रणनीति मुख्य रूप से ईएमए संकेतक के क्रॉसिंग सिद्धांत का उपयोग करके संचालित होती है। जब तेज लाइन धीमी लाइन को पार करती है, तो अधिक देखें, और नीचे की ओर देखें। यह एक साथ कई ईएमए सेट करती है, जो बाजार की लंबी और छोटी लाइन की स्थिति के आधार पर विभिन्न मापदंडों का चयन करती है। विशेष रूप से, जब लंबी लाइन अधिक है, तो एक लंबी अवधि के ईएमए संकेतक का उपयोग करके कई संकेतों का न्याय करें; जब लंबी लाइन खाली है, तो एक और छोटी अवधि के ईएमए का उपयोग करके खाली समय का न्याय करें।

श्रेष्ठता विश्लेषण

  • कई ईएमए समूहों ने निर्णय लिया है, जो विभिन्न बाजारों के लिए अधिक लचीला है।
  • यह एक अलग बाजार है, जो ट्रेडिंग सिग्नल को स्पष्ट करता है।
  • स्वतंत्र पैरामीटर के लिए रणनीति, सटीकता।
  • फिक्स्ड-प्रोटेक्शन मोबाइल स्टॉप लॉस, प्रभावी जोखिम नियंत्रण
  • रणनीति सरल, सहज और समझने और लागू करने में आसान है।

जोखिम और अनुकूलन

  • ईएमए एक झूठे संकेत का उत्पादन करने के लिए प्रवण है, पैरामीटर की स्थापना महत्वपूर्ण है।
  • स्थिर स्टॉप लॉस के साथ, बड़े उतार-चढ़ाव को ट्रैक करना मुश्किल है।
  • इस तरह के फ़िल्टर को शामिल किया जाना चाहिए, जैसे कि क्वांटिटेटिव एनर्जी इंडिकेटर, जो रणनीति की स्थिरता को बढ़ाएगा।
  • मशीन सीखने एल्गोरिदम का उपयोग करके स्वचालित रूप से अनुकूलित करने के लिए पैरामीटर।
  • स्टॉप लॉस को गतिशील सेटिंग में बदलने पर विचार करें, जैसे कि एटीआर स्टॉप लॉस।

संक्षेप

इस रणनीति ने कई ईएमए क्रॉसिंग का उपयोग करके अनुकूलन प्रभाव प्राप्त किया है, जो ईएमए के मूल लाभ को बनाए रखता है और रणनीति को अधिक लचीला बनाता है। उचित फ़िल्टरिंग शर्तों और गतिशील स्टॉपलॉस को जोड़ने के बाद, यह एक बहुत ही व्यावहारिक स्वचालित व्यापार प्रणाली बन सकती है।

रणनीति स्रोत कोड
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-07 00:00:00
period: 12h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © str1nger
//@version=4

// strategy(title="BTC - 4hr - Long/Short", shorttitle="BTC - 4hr - Long/Short", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=75,commission_type=strategy.commission.percent, commission_value=0.075)//////<---Uses a percentage of starting equity

//DATE RANGE//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2020, minval=2000, maxval=2100)
endDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=12, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2021, minval=2000, maxval=2100)

inDateRange =  true


//EMAs//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//LONG
//11,33,3,40
lof= input(11, title="Long Open - Fast", step=1)
los= input(33, title="Long Open - Slow", step=1)
lcf= input(3, title="Long Close - Fast", step=1)
lcs= input(40, title="Long Close - Slow", step=1)
ema_long_open_fast = ema(close, lof)
ema_long_open_slow = ema(close, los)
ema_long_close_fast= ema(close, lcf)
ema_long_close_slow = ema(close, lcs)
//SHORT
//5,11,4,7
sof= input(5, title="Short Open - Fast", step=1)
sos= input(11, title="Short Open - Slow", step=1)
scf= input(4, title="Short Close - Fast", step=1)
scs= input(7, title="Short Close - Slow", step=1)
ema_short_open_fast = ema(close, sof)
ema_short_open_slow = ema(close, sos)
ema_short_close_fast = ema(close, scf)
ema_short_close_slow = ema(close, scs)


//CONDITIONS///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//LONG
openlong = crossover(ema_long_open_fast, ema_long_open_slow)
closelong = crossover(ema_long_close_slow, ema_long_close_fast)
//1.7%
long_loss_percent = input(title="Long Stop Loss (%)", type=input.float, minval=0.0, step=0.1, defval=1.7) * 0.01
long_stop_price = strategy.position_avg_price * (1 - long_loss_percent)
//SHORT
openshort = crossover(ema_short_open_slow, ema_short_open_fast)
closeshort = crossover(ema_short_close_fast, ema_short_close_slow)
//0.4%
short_loss_percent = input(title="Short Stop Loss (%)", type=input.float, minval=0.0, step=0.1, defval=0.4) * 0.01
short_stop_price = strategy.position_avg_price * (1 + short_loss_percent)


//PLOT EMAs////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//LONG
plot(ema_long_open_fast, "Long EMA open lower", linewidth=1, color=color.green)
plot(ema_long_open_slow, "Long EMA close upper", linewidth=1, color=color.green)
plot(ema_long_close_fast, "Long close lower", linewidth=1, color=color.red)
plot(ema_long_close_slow, "Long close upper", linewidth=1, color=color.red)
//SHORT
plot(ema_short_open_fast, "Short open fast", linewidth=1, color=color.green)
plot(ema_short_open_slow, "Short open slow", linewidth=1, color=color.green)
plot(ema_short_close_fast, "Short close fast", linewidth=1, color=color.red)
plot(ema_short_close_slow, "Short close slow", linewidth=1, color=color.red)


//LONG-TERM TRENDS
//LONG 144
long_term_trend_longs= input(144, title="Long-term trend - Longs", step=1)
lttl= ema(close, long_term_trend_longs)
plot(lttl, "Long-term trend - Longs", linewidth=2, color=color.blue)
//SHORT 89
long_term_trend_shorts= input(89, title="Long-term trend - Shorts", step=1)
ltts = ema(close, long_term_trend_shorts)
plot(ltts, "Long-term trend - Shorts", linewidth=2, color=color.blue)


//STRATEGY//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//LONG
if (inDateRange and openlong and (close > lttl))
    strategy.entry("OL", long=true, comment="##insert open long comment here##")
if (inDateRange and closelong)
    strategy.close("OL", comment="##insert close long comment here##")
if strategy.position_size > 0
    strategy.exit("L-SL", stop=long_stop_price, comment="##insert long stop-loss comment here##")
//SHORT  
if (inDateRange and openshort and (close < ltts))
    strategy.entry("OS", long=false, comment="##insert open short comment here##")
if (inDateRange and closeshort)
    strategy.close("OS", comment="##insert close short comment here##")
if strategy.position_size < 0
    strategy.exit("S-SL", stop=short_stop_price, comment="##inster short stop-loss comment here##")