इचिमोकू क्लाउड क्वांट स्केलिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-12-21 11:13:15
टैगः

img

अवलोकन

इचिमोकू क्लाउड क्वांट स्केलिंग रणनीति इचिमोकू क्लाउड और औसत दिशात्मक सूचकांक (एडीएक्स) को एकीकृत करने वाली एक अल्पकालिक मात्रात्मक रणनीति है। यह प्रवृत्ति की दिशा निर्धारित करने के लिए इचिमोकू क्लाउड और प्रवृत्ति की स्थिति के दौरान स्केलिंग के लिए गैर-ट्रेंडिंग बाजारों को फ़िल्टर करने के लिए एडीएक्स का उपयोग करती है।

रणनीति तर्क

इस रणनीति में दो मुख्य घटक शामिल हैंः

  1. इचिमोकू क्लाउड प्रवृत्ति की दिशा का न्याय करने के लिए

    • रूपांतरण रेखाः पिछले सात अवधियों की मध्य मूल्य
    • आधार रेखाः पिछले 26 अवधियों की मध्य मूल्य
    • लीडिंग स्पैन A: रूपांतरण रेखा और आधार रेखा का मध्य बिंदु
    • लीडिंग स्पैन बी: पिछले 52 अवधियों की मध्य कीमत

    बादल के ऊपर की कीमत एक अपट्रेंड का संकेत देती है जबकि नीचे का अर्थ एक डाउनट्रेंड होता है। रणनीति प्रवृत्ति के उलट को निर्धारित करने के लिए रूपांतरण रेखा के ब्रेकआउट का उपयोग करती है।

  2. गैर-प्रवृत्ति बाजार को फ़िल्टर करने के लिए ADX

    केवल जब एडीएक्स 20 से अधिक हो, तो संकेत लेना, जो एक ट्रेंडिंग बाजार का सुझाव देता है। जब एडीएक्स सीमा-बाउंड बाजार के दौरान <20 हो, तो कोई व्यापार नहीं।

व्यापार नियम:

  • लंबी प्रविष्टिः मूल्य विराम रूपांतरण रेखा और ADX>20 से ऊपर
  • लघु प्रविष्टिः मूल्य रूपांतरण रेखा और ADX>20 से नीचे टूट जाता है
  • स्टॉप लॉस: 150 टिक
  • लाभ लें: 200 टिक

लाभ विश्लेषण

इस रणनीति के फायदे:

  1. प्रवृत्ति का पालन, सीमाओं से बचने. Ichimoku क्लाउड सटीक रूप से प्रवृत्ति दिशा और मोड़ बिंदुओं का निर्धारण कर सकता है. ADX झूठे ब्रेकआउट को रोकने के लिए सीमा-बाधित बाजार को फ़िल्टर करता है.

  2. ड्रॉडाउन नियंत्रण. 150 टिक स्टॉप हानि प्रभावी रूप से व्यापार हानि प्रति सीमा.

  3. उच्च लाभ कारक. 200 टिक ले लाभ बनाम 150 टिक स्टॉप हानि लाभ कारक 1.33, लाभ प्राप्त करने के लिए आसान देता है.

  4. उचित व्यापारिक आवृत्ति। केवल एक प्रवृत्ति के उभरने पर व्यापार अत्यधिक व्यापार को रोकता है।

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

जोखिम निम्नलिखित हैं:

  1. रुझान निर्धारण विफलता जोखिम. जब इचिमोकू क्लाउड रुझान उलट का पता लगाने में विफल रहता है तो गलत संकेत. सटीकता में सुधार के लिए मापदंडों को अनुकूलित कर सकता है.

  2. स्टॉप लॉस को प्रभावित करने का जोखिम। स्टॉप लॉस को तेजी से बाजार के दौरान छिपाया जा सकता है। ट्रेलिंग स्टॉप लॉस या व्यापक स्टॉप लॉस रेंज का उपयोग कर सकता है।

  3. ओवरनाइट और प्रीमार्केट ट्रेडिंग जोखिम। डिफ़ॉल्ट सेटिंग केवल दिन के व्यापार की अनुमति देती है। विस्तारित घंटों के दौरान निर्णय विफल हो सकता है। 24H ट्रेडिंग को सक्षम कर सकता है या विस्तारित सत्रों के लिए रणनीतियों को अनुकूलित कर सकता है।

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

संभावित अनुकूलन दिशाएं:

  1. इचिमोकू क्लाउड की पैरामीटर ट्यूनिंग इष्टतम सेटिंग खोजने के लिए।

  2. सर्वोत्तम मानों को निर्धारित करने के लिए ADX पैरामीटर और सीमा अनुकूलन।

  3. ऐतिहासिक आंकड़ों के आधार पर लाभ लक्ष्य और स्टॉप लॉस अनुकूलन।

  4. रुझान का बेहतर अनुपालन करने के लिए स्टॉप लॉस को पीछे छोड़ दें।

  5. प्रवृत्ति निर्धारण में सहायता के लिए एमएसीडी और केडी जैसे अतिरिक्त संकेतक।

  6. विभिन्न उत्पादों के लिए अनुकूलन अनुकूलन।

निष्कर्ष

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


/*backtest
start: 2023-12-13 00:00:00
end: 2023-12-20 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title='[STRATEGY][RS]Spot/Binary Scalper V0', shorttitle='IC', overlay=true, initial_capital=100000, currency=currency.USD)
//  ||  Adapted from:
//  ||      http://www.binaryoptionsedge.com/topic/1414-ta-spot-scalping-it-works-damn-good/?hl=singh

//  ||  Ichimoku cloud:
conversionPeriods = input(title='Conversion Periods:',  defval=7, minval=1),
basePeriods = 26//input(title='Base Periods',  defval=26, minval=1)
laggingSpan2Periods = 52//input(title='Lagging Span:',  defval=52, minval=1),
displacement = 26//input(title='Displacement:',  defval=26, minval=1)

f_donchian(_len) => avg(lowest(_len), highest(_len))

f_ichimoku_cloud(_conversion_periods, _base_periods, _lagging_span)=>
    _conversion_line = f_donchian(_conversion_periods)
    _base_line = f_donchian(_base_periods)
    _lead_line1 = avg(_conversion_line, _base_line)
    _lead_line2 = f_donchian(_lagging_span)
    [_conversion_line, _base_line, _lead_line1, _lead_line2]

[conversionLine, baseLine, leadLine1, leadLine2] = f_ichimoku_cloud(conversionPeriods, basePeriods, laggingSpan2Periods)

//ps0 = plot(title='A', series=leadLine1, color=green, linewidth=2)
//ps1 = plot(title='B', series=leadLine2, color=red, linewidth=2)
//fill(title='AB', plot1=ps0, plot2=ps1, color=blue, transp=80)
//plot(title='Base', series=baseLine, color=blue, linewidth=1, offset=displacement)
plot(title='Conversion', series=conversionLine, color=blue, linewidth=1)
//  ||----------------------------------------------------------------------------------------------------------------------------------------------||
//  ||  ADX
len = input(title="Length",  defval=14)
th = input(title="threshold",  defval=20)

TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0


SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus

DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)
//  ||----------------------------------------------------------------------------------------------------------------------------------------------||
//  ||  Trade session:
USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
trade_session = input(title='Trade Session:', defval='0400-1500', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)
//  ||----------------------------------------------------------------------------------------------------------------------------------------------||
//  ||  Strategy:
trade_size = input(title='Trade Size:',  defval=1)
stop_loss_in_ticks = input(title='Stop Loss in ticks:',  defval=150)
take_profit_in_ticks = input(title='Take Profit in ticks:',  defval=200)

buy_icloud_signal = open < conversionLine and close > conversionLine
buy_adx_signal = DIPlus > 20
buy_signal = istradingsession and buy_icloud_signal and buy_adx_signal

sel_icloud_signal = open > conversionLine and close < conversionLine
sel_adx_signal = DIMinus > 20
sel_signal = istradingsession and sel_icloud_signal and sel_adx_signal


strategy.order('buy', long=true, qty=trade_size, comment='buy', when=buy_signal)
strategy.order('sel', long=false, qty=trade_size, comment='sel', when=sel_signal)

strategy.exit('exit buy', from_entry='buy', profit=take_profit_in_ticks, loss=stop_loss_in_ticks)
strategy.exit('exit sel', from_entry='sel', profit=take_profit_in_ticks, loss=stop_loss_in_ticks)


अधिक