दैनिक पिवोट पॉइंट्स पर आधारित स्वचालित लंबी/लघु ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-23 14:24:22
टैगः

img

अवलोकन

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

रणनीति तर्क

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

विशेष रूप से, मुख्य तर्क इस प्रकार हैः

  1. उच्चतम मूल्य रेखाः कल के उच्चतम मूल्य स्तर का ग्राफ। एक ब्रेक-थ्रू लंबी प्रवृत्ति का संकेत देता है।
  2. सबसे कम मूल्य रेखाः कल की सबसे कम कीमत का ग्राफ। एक ब्रेक-थ्रू शॉर्ट ट्रेंड का संकेत देता है।
  3. लॉन्ग एंट्रीः जब बंद होने की कीमत उच्चतम मूल्य रेखा से पार हो जाती है तो लॉन्ग पोजीशन खोलें।
  4. शॉर्ट एंट्रीः बंद होने की कीमत सबसे निचली मूल्य रेखा से टूटने पर शॉर्ट पोजीशन खोलें।
  5. स्टॉप लॉस: सबसे कम मूल्य रेखा के निकट लंबा स्टॉप लॉस, उच्चतम मूल्य रेखा के निकट छोटा स्टॉप लॉस।

उच्चतम/निम्नतम कीमतों के ब्रेकथ्रू के माध्यम से रुझानों को पकड़कर, यह लंबे और छोटे के बीच स्वचालित स्विचिंग का एहसास करता है।

लाभ विश्लेषण

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

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

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

कुछ जोखिमः

  1. दैनिक बार कम आवृत्ति है, समय पर नुकसान को रोकने में असमर्थ
  2. नकली सफलताओं से अनावश्यक नुकसान हो सकता है
  3. लंबी अवधि के लिए होल्डिंग से बढ़े हुए घाटे हो सकते हैं

सुधार:

  1. पुष्टि के लिए अन्य उच्च आवृत्ति संकेतक जोड़ें
  2. नकली सफलताओं को फ़िल्टर करने के लिए मापदंडों का अनुकूलन करें
  3. समय पर स्टॉप लॉस के लिए प्रगतिशील स्टॉप लॉस विधियों को अपनाएं

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

कुछ दिशाएँ:

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

सारांश

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=3
strategy(title = "Noro's DEX Strategy", shorttitle = "DEX str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
showlines = input(true, title = "Show lines")
showbg = input(false, title = "Show background")
showday = input(false, title = "Show new day")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//New day trand
bar = close > open ? 1 : close < open ? -1 : 0
newday = request.security(syminfo.tickerid, 'D', time)

//Lines
uplevel = request.security(syminfo.tickerid, 'D', high)
dnlevel = request.security(syminfo.tickerid, 'D', low)
upcolor = uplevel == uplevel[1] and showlines ? lime : na
dncolor = dnlevel == dnlevel[1] and showlines? red : na
plot(uplevel, offset = 1, linewidth = 2, color = upcolor)
plot(dnlevel, offset = 1, linewidth = 2, color = dncolor)

//Background
size = strategy.position_size
col = time == newday + 86400000 and showday ? blue : showbg and size > 0 ? lime : showbg and size < 0 ? red : na
bgcolor(col)

//Orders
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
truetime = true
if uplevel > 0 and dnlevel > 0
    strategy.entry("Long", strategy.long, needlong ? lot : 0, stop = uplevel, when = truetime)
    strategy.entry("Close", strategy.short, needshort ? lot : 0, stop = dnlevel, when = truetime)

अधिक