संसाधन लोड हो रहा है... लोड करना...

चकाचौंध से चलने वाली रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-02 17:30:09
टैगः

img

अवलोकन

इस रणनीति को Dazzling Bolts कहा जाता है। यह तीन चलती औसत के आधार पर एक प्रवृत्ति के बाद की रणनीति है। यह कीमत की प्रवृत्ति निर्धारित करने के लिए तेज, मध्यम और धीमी रेखाओं के क्रॉसओवर का उपयोग करता है और एटीआर मूल्यों के आधार पर लक्ष्य और स्टॉप निर्धारित करता है।

रणनीति तर्क

इस रणनीति में निम्नलिखित तीन चलती औसत का प्रयोग किया गया हैः

  1. अल्पकालिक प्रवृत्ति को मापने के लिए 13 अवधि के भारित चलती औसत
  2. मध्यम अवधि के रुझान के लिए 55-अवधि के घातीय चलती औसत
  3. दीर्घकालिक रुझान के लिए 110-अवधि का सरल चलती औसत

जब तेज रेखा मध्यम रेखा के ऊपर और मध्यम रेखा धीमी रेखा के ऊपर पार करती है, तो यह एक अपट्रेंड का संकेत देती है। जब तेज रेखा मध्यम रेखा के नीचे पार करती है और मध्यम रेखा धीमी रेखा के नीचे पार करती है, तो यह एक डाउनट्रेंड का संकेत देती है।

कुछ शोर व्यवसायों को फ़िल्टर करने के लिए, कई सहायक शर्तें निर्धारित की जाती हैंः

  1. पिछले 5 मोमबत्तियों की कम कीमतें सभी मध्यम रेखा से ऊपर थीं
  2. पिछली 2 मोमबत्तियों का निम्न मूल्य मध्यम रेखा से नीचे गिर गया
  3. अंतिम मोमबत्ती का समापन मूल्य मध्यम रेखा से ऊपर था

जब इन मानदंडों को पूरा किया जाता है, तो लंबे या छोटे संकेत ट्रिगर किए जाएंगे। यह प्रत्येक बार केवल एक स्थिति रखता है और मौजूदा स्थिति बंद या बंद होने तक फिर से प्रवेश नहीं करेगा।

लक्ष्य और स्टॉप एटीआर मूल्यों के कुछ गुणकों के आधार पर रखे जाते हैं।

लाभ विश्लेषण

इस रणनीति के लाभों में निम्नलिखित शामिल हैंः

  1. तीन चलती औसत के संयोजन का प्रयोग करने से एक ही संकेतक से गलत आकलन की संभावना से बचा जा सकता है।
  2. कई सहायक स्थितियां शोर को फ़िल्टर करके सिग्नल की गुणवत्ता में सुधार करने में मदद करती हैं।
  3. गतिशील एटीआर स्टॉप लॉस एकल व्यापार हानि को नियंत्रित करने में मदद करता है।

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

इस रणनीति के जोखिमों में निम्नलिखित भी शामिल हैंः

  1. चलती औसत संयोजन गलत संकेत दे सकता है, जिसके लिए पर्याप्त बैकटेस्ट की आवश्यकता होती है।
  2. गलत एटीआर गुणक सेटिंग्स के कारण स्टॉप बहुत ढीले या तंग हो सकते हैं।
  3. अचानक घटनाओं से मूल्य उतार-चढ़ाव को प्रभावी ढंग से फ़िल्टर करने में असमर्थ

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

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

इस रणनीति के लिए संभावित अनुकूलनः

  1. विभिन्न लंबाई या प्रकार के चलती औसत का परीक्षण करें।
  2. सहायक स्थितियों के मापदंडों का अनुकूलन करें।
  3. प्रवृत्ति पूर्वानुमान के लिए अन्य संकेतकों का प्रयोग करें, जैसे एमएसीडी, डीएमआई आदि।
  4. संकेतों को फ़िल्टर करने के लिए वॉल्यूम संकेतक शामिल करें।

सारांश

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


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
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/
// © greenmask9

//@version=4
strategy("Dazzling Bolts", overlay=true)
//max_bars_back=3000

// 13 SMMA
len = input(10, minval=1, title="SMMA Period")
src = input(close, title="Source")
smma = 0.0
smma := na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len

// 55 EMA
emalength = input(55, title="EMA Period")
ema = ema(close, emalength)

// 100 SMA
smalength = input(110, title="SMA Period")
sma = sma(close, smalength)

emaforce = input(title="Force trend with medium EMA", type=input.bool, defval=true)
offsetemavalue = input(defval = 6)

bullbounce = smma>ema and ema>sma and low[5]>ema and low[2]<ema and close[1]>ema and (ema[offsetemavalue]>sma or (not emaforce))
bearbounce = smma<ema and ema<sma and high[5]<ema and high[2]>ema and close[1]<ema and (ema[offsetemavalue]<sma or (not emaforce))
plotshape(bullbounce,  title= "Purple", location=location.belowbar, color=#ff33cc, transp=0, style=shape.triangleup, size=size.tiny, text="Bolts")
plotshape(bearbounce,  title= "Purple", location=location.abovebar, color=#ff33cc, transp=0, style=shape.triangledown, size=size.tiny, text="Bolts")
strategy.initial_capital = 50000
ordersize=floor(strategy.initial_capital/close)
longs = input(title="Test longs", type=input.bool, defval=true)
shorts = input(title="Test shorts", type=input.bool, defval=true)
atrlength = input(title="ATR length", defval=12)
atrm = input(title="ATR muliplier",type=input.float, defval=2)
atr = atr(atrlength)

target = close + atr*atrm
antitarget = close - (atr*atrm)

//limits and stop do not move, no need to count bars from since

bullbuy = bullbounce and longs and strategy.opentrades==0
bb = barssince(bullbuy)
bearsell = bearbounce and shorts and strategy.opentrades==0
bs = barssince(bearsell)

if (bullbuy)
    strategy.entry("Boltsup", strategy.long, ordersize)
    strategy.exit ("Bolts.close", from_entry="Boltsup", limit=target, stop=antitarget)
if (crossover(smma, sma))
    strategy.close("Boltsup", qty_percent = 100, comment = "Bolts.crossover")

if (bearsell)
    strategy.entry("Boltsdown", strategy.short, ordersize)
    strategy.exit("Bolts.close", from_entry="Boltsdown", limit=antitarget, stop=target)
if (crossunder(smma, sma))
    strategy.close("Boltsdown", qty_percent = 100, comment = "Bolts.crossover")

// if (bb<5)
//     bulltarget = line.new(bar_index[bb], target[bb], bar_index[0], target[bb], color=color.blue, width=2)
//     bullclose = line.new(bar_index[bb], close[bb], bar_index[0], close[bb], color=color.blue, width=2)
//     bullstop = line.new(bar_index[bb], antitarget[bb], bar_index[0], antitarget[bb], color=color.blue, width=2)
// if (bs<5)
//     bulltarget = line.new(bar_index[bs], antitarget[bs], bar_index[0], antitarget[bs], color=color.purple, width=2)
//     bullclose = line.new(bar_index[bs], close[bs], bar_index[0], close[bs], color=color.purple, width=2)
//     bullstop = line.new(bar_index[bs], target[bs], bar_index[0], target[bs], color=color.purple, width=2)


अधिक