प्रवृत्ति रणनीति पर लाभ उठाएं

लेखक:चाओझांग, दिनांकः 2023-09-26 11:22:04
टैगः

अवलोकन

ट्रेंड पर लाभ लेने की रणनीति का उद्देश्य दीर्घकालिक रुझानों और अल्पकालिक वापसी का पता लगाना है, समग्र उछाल के दौरान लंबी स्थिति लेना जबकि अल्पकालिक गिरावट को पकड़ना, उचित स्टॉप लॉस और लाभ लेने के स्तर के साथ ट्रेंड का पालन करने और समय पर लाभ लेने के लिए सेट किया गया है।

रणनीति तर्क

यह रणनीति मुख्य रूप से दीर्घकालिक और अल्पकालिक रुझानों को निर्धारित करने के लिए ईएमए और आरएसआई का उपयोग करती है। विशेष रूप से, यह दीर्घकालिक रुझानों का न्याय करने के लिए 50-दिवसीय ईएमए और 200-दिवसीय ईएमए का उपयोग करती है, और रुझान की ताकत को मापने के लिए आरएसआई। जब दीर्घकालिक एक अपट्रेंड में होता है (200-दिवसीय ईएमए बढ़ रहा है) और मजबूत (आरएसआई 50 से ऊपर), और अल्पकालिक एक पुलबैक देखता है (अंतिम 2 मोमबत्तियां कम बंद हो रही हैं), तो एक लंबी स्थिति ली जाती है।

एक स्थिति में प्रवेश करने के बाद, रणनीति स्टॉप लॉस और लाभ लेने की शर्तें निर्धारित करती है। जब कीमत प्रवेश मूल्य से 2x से अधिक BHD इकाइयों तक बढ़ जाती है, तो लाभ लिया जाता है। जब कीमत प्रवेश मूल्य से 3x से अधिक BHD इकाइयों तक गिर जाती है, तो स्थिति बंद हो जाती है। BHD इकाई की गणना अंतिम 200 मोमबत्तियों के आयाम के आधार पर की जाती है।

इस प्रकार, रणनीति में दीर्घकालिक और अल्पकालिक रुझान विशेषताओं को पूरी तरह से ध्यान में रखा गया है, जोखिमों को नियंत्रित करते हुए लाभ बढ़ाना, समय पर लाभ प्राप्त करते हुए रुझान का पालन करना।

लाभ विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैंः

  1. दीर्घकालिक और अल्पकालिक रुझानों को ध्यान में रखते हुए, शक्ति संकेतकों के साथ मिलकर, विभिन्न बाजारों में अंधे प्रवेश से बचा जाता है।

  2. प्रविष्टियां प्रवृत्ति की दिशा का पालन करती हैं, जीत की दर अधिक होती है।

  3. लाभ लेने और हानि रोकने के बिंदु समय पर लाभ लेने और जोखिम नियंत्रण की अनुमति देते हैं।

  4. टीपी और एसएल अस्थिरता के आधार पर गतिशील हैं, अपेक्षाकृत उचित हैं।

  5. बैकटेस्ट से संकेतों और समय सीमाओं में अच्छा रिटर्न और स्थिरता दिखाई देती है।

  6. सरल और स्पष्ट तर्क, सभी कौशल स्तरों के लिए समझने और लागू करने में आसान।

जोखिम विश्लेषण

इस रणनीति में कुछ जोखिम भी हैं:

  1. गलत प्रवेश दिशाओं के लिए अग्रणी दीर्घकालिक / अल्पकालिक गलत आकलन।

  2. चट्टान जैसी बाजार दुर्घटनाएं स्टॉप में प्रवेश कर सकती हैं।

  3. खराब पैरामीटर सेटिंग्स प्रदर्शन को नकारात्मक रूप से प्रभावित करती हैं।

  4. टीपी बहुत तंग सेट, समय से पहले बाहर निकल सकता है।

  5. बैकटेस्ट ≠ लाइव प्रदर्शन, निरंतर अनुकूलन की आवश्यकता है।

समाधान:

  1. मापदंडों को अनुकूलित करें, एमए अवधि को समायोजित करें, क्रॉस-वैलिडेशन संकेतक जोड़ें।

  2. व्यापक स्टॉप, स्थिति आकार, अन्य जोखिम नियंत्रण।

  3. मापदंडों का मूल्यांकन करने के लिए व्यापक बैकटेस्टिंग।

  4. बाजार की स्थितियों के आधार पर गतिशील टीपी अनुकूलन।

  5. चल रही बैकटेस्टिंग, अनुकूलन, लाइव समायोजन।

अनुकूलन दिशाएँ

इस रणनीति को निम्नलिखित तरीकों से और अधिक अनुकूलित किया जा सकता हैः

  1. पैरामीटर ट्यूनिंग, एमए अवधि, बीएचडी इकाई अवधि आदि।

  2. बेहतर अल्पकालिक सटीकता के लिए संकेतक, एमएसीडी, केडी आदि जोड़ना।

  3. टीपी/एसएल का अनुकूलन, अस्थिरता आदि के आधार पर गतिशील आकार

  4. रुझान की ताकत के आधार पर स्थिति आकार जोड़ना।

  5. अधिक प्रतीकों और समय सीमाओं में मजबूती का परीक्षण।

  6. जाल से बचने के लिए समापन मूल्य > खुला जैसे फ़िल्टर जोड़ना।

  7. अधिक स्वचालन और बुद्धि के लिए मशीन लर्निंग को शामिल करना।

ये जीत दर, रिटर्न, स्थिरता, अनुकूलन क्षमता आदि में सुधार कर सकते हैं।

निष्कर्ष

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


/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 1h
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/
// © BHD_Trade_Bot

// @version=5
strategy(
 shorttitle            = 'Take Profit On Trend',
 title                 = 'Take Profit On Trend (by BHD_Trade_Bot)',
 overlay               = true,
 calc_on_every_tick    = true,
 calc_on_order_fills   = true,
 use_bar_magnifier     = true,
 initial_capital       = 1000,
 default_qty_type      = strategy.percent_of_equity,
 default_qty_value     = 100,
 commission_type       = strategy.commission.percent,
 commission_value      = 0.1)



// Backtest Time Period
start_year   = input(title='Start year'   ,defval=2021)
start_month  = input(title='Start month'  ,defval=1)
start_day    = input(title='Start day'    ,defval=1)
start_time = timestamp(start_year, start_month, start_day, 00, 00)

end_year     = input(title='end year'     ,defval=2050)
end_month    = input(title='end month'    ,defval=1)
end_day      = input(title='end day'      ,defval=1)
end_time = timestamp(end_year, end_month, end_day, 23, 59)

is_back_test_time() => true



// EMA
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)

// RSI
rsi200 = ta.rsi(close, 200)

// EMA_CD
emacd = ema50 - ema200
emacd_signal = ta.ema(emacd, 50)
hist = emacd - emacd_signal

// BHD Unit
bhd_unit = ta.rma(high - low, 200) * 2
bhd_upper = ema200 + bhd_unit
bhd_lower = ema200 - bhd_unit



// All n candles is going down
all_body_decrease(n) =>
    isValid = true
    for i = 0 to (n - 1)
        if (close[i] > close[i + 1])
            isValid := false
            break
    isValid



// ENTRY CONDITIONS

// Long-term uptrend
entry_condition1 = rsi200 > 51 and hist > 0

// Short-term downtrend
entry_condition2 = all_body_decrease(2)

ENTRY_CONDITIONS = entry_condition1 and entry_condition2

if ENTRY_CONDITIONS and is_back_test_time()
    strategy.entry('entry', strategy.long)


// CLOSE CONDITIONS

// Price increase 2 BHD unit
take_profit = close > strategy.position_avg_price + bhd_unit * 2

// Price decrease 3 BHD unit
stop_loss = close < strategy.position_avg_price - bhd_unit * 3

CLOSE_CONDITIONS = take_profit or stop_loss

if CLOSE_CONDITIONS
    strategy.close('entry')



// Draw
plot(ema50, color=color.orange, linewidth=2)
plot(ema200, color=color.purple, linewidth=2)
bhd_upper_line = plot(bhd_upper, color=color.teal)
bhd_lower_line = plot(bhd_lower, color=color.teal)
fill(bhd_upper_line, bhd_lower_line, color=color.new(color.teal, 90))


अधिक