कई समय फ़्रेमों पर आधारित मात्रात्मक स्विंग ट्रेडिंग रणनीति


निर्माण तिथि: 2023-12-01 13:50:02 अंत में संशोधित करें: 2023-12-01 13:50:02
कॉपी: 0 क्लिक्स: 771
1
ध्यान केंद्रित करना
1621
समर्थक

कई समय फ़्रेमों पर आधारित मात्रात्मक स्विंग ट्रेडिंग रणनीति

अवलोकन

इस रणनीति में बिटकॉइन की कीमतों के क्षेत्रों की पहचान करने के लिए विभिन्न समय-सीमाओं के बीच एक मात्रात्मक संकेतकों के संयोजन के माध्यम से ट्रेडों को ट्रैक करने की अनुमति दी गई है। यह रणनीति 5 मिनट की समय-सीमा के भीतर है और लंबी अवधि के लिए लाभप्रद है।

रणनीति सिद्धांत

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

श्रेष्ठता विश्लेषण

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

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

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

अनुकूलन दिशा

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy(title='Pyramiding BTC 5 min', overlay=true, pyramiding=5, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.075)
//the pyramide based on this script  https://www.tradingview.com/script/7NNJ0sXB-Pyramiding-Entries-On-Early-Trends-by-Coinrule/
//
fastLength = input(250, title="Fast filter length ", minval=1)
slowLength = input(500,title="Slow filter length",  minval=1)
source=close
v1=ema(source,fastLength)
v2=ema(source,slowLength)
//
//Backtest dates
fromMonth = input(defval=1, title="From Month")
fromDay = input(defval=10, title="From Day")
fromYear = input(defval=2020, title="From Year")
thruMonth = input(defval=1, title="Thru Month")
thruDay = input(defval=1, title="Thru Day")
thruYear = input(defval=2112, title="Thru Year")

showDate = input(defval=true, title="Show Date Range")

start = timestamp(fromYear, fromMonth, fromDay, 00, 00)  // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59)  // backtest finish window
window() =>  // create function "within window of time"
    time >= start and time <= finish ? true : false


leng=1
p1=close[1]

len55 = 10
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
HTF = input("1D", type=input.resolution)
ti = change( time(HTF) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
len100 = 10
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange

//

tf10 = input("1", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(50, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)

b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


filter=input(true)

buy=crossover(linear_reg, b)

longsignal = (v1 > v2 or filter == false ) and buy and window()

//set take profit

ProfitTarget_Percent = input(3)
Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick

//set take profit

LossTarget_Percent = input(10)
Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick


//Order Placing

strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal)

strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal)

strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal)

strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal)

strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal)





if strategy.position_size > 0
    strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks)
    strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks)