गति संकेतक लंबी लघु रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-02 16:34:48
टैगः

img

अवलोकन

यह रणनीति ट्रेंड की दिशा निर्धारित करने और रुझानों का अनुसरण करने के लिए औसत दिशात्मक सूचकांक (एडीएक्स), दिशात्मक आंदोलन सूचकांक (डीएमआई) और कमोडिटी चैनल सूचकांक (सीसीआई) सहित गति संकेतक का उपयोग करती है। यह पदों में प्रवेश करता है जब एडीएक्स और प्रवृत्ति संकेतक एक प्रवृत्ति की पुष्टि करते हैं, और सीसीआई ओवरस्ट्रेक्टेड है।

रणनीति तर्क

  1. ADX, DMI और CCI संकेतकों की गणना करें।

    • ADX प्रवृत्ति की ताकत को मापता है। एक उच्च ADX एक मजबूत प्रवृत्ति को दर्शाता है।
    • डीएमआई में डीआई+ और डीआई- शामिल हैं। डीआई+ अपट्रेंड की ताकत दर्शाता है जबकि डीआई- डाउनट्रेंड की ताकत दर्शाता है। यदि डीआई+ डीआई- से अधिक है, तो यह एक अपट्रेंड है, और इसके विपरीत।
    • सीसीआई ओवरबॉट/ओवरसोल्ड स्तरों का आकलन करता है। -100 से नीचे ओवरसोल्ड होता है जबकि 100 से ऊपर ओवरबोल्ड होता है।
  2. रुझान की दिशा निर्धारित करें।

    • जब DI+ DI- से ऊपर जाता है, तो ऊपर की ओर रुझान की पहचान होती है।
    • जब DI- DI+ से नीचे जाता है, तो एक डाउनट्रेंड की पहचान की जाती है।
  3. पदों में प्रवेश करें.

    • जब ऊपर की ओर रुझान बनता है, तो ADX उच्च होता है और CCI < -100, लंबा होता है।
    • जब डाउनट्रेंड बनता है, ADX उच्च होता है, और CCI > 100, शॉर्ट हो जाता है।
  4. स्टॉप लॉस के साथ एक्जिट पोजीशन।

    • जब लंबा हो जाए, जब डीआई- डीआई+ से नीचे हो जाए, तब बाहर निकलें।
    • जब संक्षिप्त हो, जब DI+ DI- के ऊपर से पार हो जाए, तब बाहर निकलें।

लाभ विश्लेषण

  1. ADX कमजोर रुझानों के दौरान ट्रेडिंग को फ़िल्टर करता है।

  2. डीएमआई प्रवृत्ति पहचान में त्रुटियों को कम करता है।

  3. सीसीआई के अति विस्तार पर प्रवेश समयबद्धता में सुधार करता है और जोखिम को कम करता है।

  4. गति संकेतकों का संयोजन सटीकता में सुधार करता है।

  5. स्टॉप लॉस सीमाएं प्रति व्यापार

जोखिम और हेजिंग

  1. जब ADX गिरता है तो Whipsaws। पर्याप्त मजबूत प्रवृत्ति सुनिश्चित करने के लिए ADX सीमा बढ़ाएं।

  2. डीएमआई शुरुआती चरण में रुझान से पीछे है। अवसरों की पहचान करने के लिए अन्य विश्लेषण जोड़ें।

  3. उच्च सीसीआई ट्रेडिंग आवृत्ति। शोर को फ़िल्टर करने के लिए सीसीआई रेंज को चौड़ा करें।

  4. समग्र स्थिति जोखिम को कवर करने के लिए बाजार तटस्थ रणनीति पर विचार करें।

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

  1. शोर फ़िल्टरिंग और पकड़ने की प्रवृत्ति को संतुलित करने के लिए ADX मापदंडों को अनुकूलित करें।

  2. देरी और संवेदनशीलता को संतुलित करने के लिए डीएमआई मापदंडों को अनुकूलित करें।

  3. व्यापारिक आवृत्ति और उलटापन को पकड़ने के लिए सीसीआई मापदंडों को अनुकूलित करना।

  4. बेहतर संयोजनों के लिए संकेतकों को जोड़ने या संशोधित करने का परीक्षण करें। उदाहरण के लिए एमएसीडी, केडीजे।

  5. सर्वोत्तम फिट खोजने के लिए विभिन्न उत्पादों पर परीक्षण करें।

  6. रुझान की निगरानी बनाए रखते हुए जोखिम को नियंत्रित करने के लिए स्थिति आकार को अनुकूलित करें।

निष्कर्ष

रणनीति तर्कसंगत रूप से प्रवृत्ति के लिए ADX, दिशा के लिए DMI और उलट के लिए CCI का उपयोग करती है। लेकिन जोखिम नियंत्रण के लिए मापदंडों को अनुकूलन और स्थिति आकार की आवश्यकता होती है। ठीक से ट्यून और ट्रेंडिंग उत्पादों पर लागू किया जाता है, यह स्थिर रिटर्न प्रदान कर सकता है। व्यापारियों को गतिशील रूप से बदलते बाजारों के लिए समायोजित करना चाहिए।


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("ADX Strategy", currency = "USD", initial_capital = 1000, overlay=true)
adxlen = input(9, title="ADX Smoothing")
dilen = input(14, title="DI Length")
ADX_Entry = input(25, title="ADX Entry")
dirmov(len) =>
	up = change(high)
	down = -change(low)
	truerange = rma(tr, len)
	plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
	minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
	[plus, minus]

adx(dilen, adxlen) => 
	[plus, minus] = dirmov(dilen)
	sum = plus + minus
	adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
	[adx, plus, minus]

[sig, up, down] = adx(dilen, adxlen)
cci_length = input(20, minval=1, title="CCI Length")
cci_ma = sma(close, cci_length)
cci = (close - cci_ma) / (0.015 * dev(close, cci_length))

stop_loss = syminfo.mintick * 100


open_longs = strategy.position_size > 0
open_shorts = strategy.position_size < 0

possible_bull = false
possible_bull := not open_longs ? (possible_bull[1] and not crossunder(up,down) ? true : false) : false
possible_bear = false
possible_bear := not open_shorts ? (possible_bear[1] and not crossunder(down,up) ? true : false) : false



bool bull_entry = crossover(up,down)

if(bull_entry and up < ADX_Entry and cci < 0)
	possible_bull := true
	bull_entry := false

if(possible_bull and up > ADX_Entry and cci > -100)
	bull_entry := true

bool bear_entry = crossover(down,up)

if(bear_entry and down < ADX_Entry and cci > 0)
	possible_bear := true
	bear_entry := false

if(possible_bear and down >= ADX_Entry and cci < 100)
	bear_entry := true

strategy.entry("Short", strategy.short, qty = 1,comment="Short", stop=high[1] - stop_loss, when = bear_entry)
strategy.entry("Long", strategy.long, qty = 1, comment="Long", stop=low[1] - stop_loss, when = bull_entry )	

strategy.close_all(when = (open_shorts and (crossover(up,down) or crossover(sig,down))) or (open_longs and ( crossover(down,up) or crossover(sig, up))))


अधिक