फिशर यूरिक ट्रेलिंग स्टॉप रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-02 14:57:33
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. बैकटेस्ट/लाइव ट्रेडिंग टाइमफ्रेम को परिभाषित करने के लिए इनपुट डेट रेंज
  2. फिशर यूरिक संकेतक के लिए इनपुट पैरामीटर, डिफ़ॉल्ट रूप से 2 अवधि के लिए
  3. इनपुट लाभ लेने और स्टॉप लॉस अनुपात, 5% लाभ और 2% हानि के लिए डिफ़ॉल्ट
  4. फिशर यूरिक संकेतक के मुख्य और संकेत लाइनों की गणना
  5. खरीद संकेत उत्पन्न जब मुख्य लाइन संकेत लाइन के ऊपर पार करता है
  6. ट्रेलिंग स्टॉप सेट करें, लॉन्ग पोजीशन से बाहर निकलें जब प्रवेश के बाद कीमत 2% गिर जाए
  7. जब कीमत 5% से अधिक बढ़ जाती है तो लाभ लें

लाभ विश्लेषण

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

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

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

स्टॉप/प्रॉफिट अनुपात, परीक्षण मापदंडों, सिग्नल फिल्टर, स्थिति आकार नियम का उपयोग करके जोखिमों को संबोधित किया जा सकता है।

बढ़ोतरी के अवसर

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

निष्कर्ष

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


/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fisher_Yurik Strategy with Trailing Stop", shorttitle="FY Strategy", overlay=true)

// Date Ranges 
from_month = input(defval = 1, title = "From Month")
from_day   = input(defval = 1, title = "From Day")
from_year  = input(defval = 2021, title = "From Year")
to_month   = input(defval = 1, title = "To Month")
to_day     = input(defval = 1, title = "To Day")
to_year    = input(defval = 9999, title = "To Year")
start  = timestamp(from_year, from_month, from_day, 00, 00)  // backtest start window
finish = timestamp(to_year, to_month, to_day, 23, 59)        // backtest finish window
window = true
period = input(2, title='Period')
cost = input.float(1.05, title='profit level ', step=0.01)
dusus = input.float(1.02, title='after the signal', step=0.01)

var float Value = na
var float Fish = na
var float ExtBuffer1 = na
var float ExtBuffer2 = na

price = (high + low) / 2
MaxH = ta.highest(high, period)
MinL = ta.lowest(low, period)

Value := 0.33 * 2 * ((price - MinL) / (MaxH - MinL) - 0.5) + 0.67 * nz(Value[1])
Value := math.max(math.min(Value, 0.999), -0.999)
Fish := 0.5 * math.log((1 + Value) / (1 - Value)) + 0.5 * nz(Fish[1])

up = Fish >= 0

ExtBuffer1 := up ? Fish : na
ExtBuffer2 := up ? na : Fish

var float entryPrice = na
var float stopPrice = na
 
if (ExtBuffer1 > ExtBuffer1[1])
    entryPrice := close*dusus
    stopPrice := close * cost 
 
if (ExtBuffer2 < ExtBuffer2[1])
    entryPrice := close
    stopPrice := close * cost

// Sadece seçilen test döneminde işlem yapma koşulu eklenmiştir
strategy.entry("Buy", strategy.long, when=ExtBuffer1 > ExtBuffer1[1] and window)
strategy.exit("Take Profit/Trailing Stop", from_entry="Buy", when=(close >= entryPrice * cost) or (close < stopPrice), trail_offset=0.08, trail_price=entryPrice * cost)


अधिक