लंबी और छोटी दोनों के लिए व्यापक वायदा स्वचालित व्यापार रणनीति

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

img

यह रणनीति एक अभिनवलंबी और छोटी दोनों के लिए व्यापक वायदा स्वचालित व्यापार रणनीतियह सुपरट्रेंड, क्यूक्यूई और ट्रेंड इंडिकेटर ए-वी2 को स्वचालित रूप से ट्रेडिंग सिग्नल का पता लगाने और लॉन्ग/शॉर्ट ट्रेड करने के लिए एकीकृत करता है। इस रणनीति का उद्देश्य मुख्य बाजार रुझानों की पहचान करना और अच्छे जोखिम नियंत्रण के साथ स्थिर लाभ प्राप्त करना है।

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

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

  1. सुपरट्रेंड सूचक बाजार की मुख्य प्रवृत्ति को निर्धारित करता है। जब कीमत ऊपर की प्रवृत्ति रेखा से ऊपर टूट जाती है, तो यह एक अपट्रेंड का संकेत देता है। जब कीमत नीचे की प्रवृत्ति रेखा से नीचे टूट जाती है, तो यह एक डाउनट्रेंड का संकेत देता है।

  2. QQE संकेतक ओवरबॉट/ओवरसोल्ड स्थिति की पहचान करने के लिए RSI को जोड़ता है। गतिशील ओवरबॉट/ओवरसोल्ड स्तरों की गणना RSI औसत और मानक विचलन के आधार पर की जाती है। ऊपरी स्तर से ऊपर का RSI ओवरबॉट संकेत और निचले स्तर से नीचे का RSI ओवरसोल्ड संकेत दर्शाता है।

  3. ट्रेंड इंडिकेटर A-V2 तेजी से और धीमी EMA लाइनों की तुलना करके प्रवृत्ति का आकलन करता है। जब तेजी से EMA धीमी EMA से अधिक होता है, तो यह एक खरीद संकेत भेजता है।

बाजार की दिशा का आकलन करते समय, जब सुपरट्रेंड अपट्रेंड दिखाता है, QQE ओवरसोल्ड नहीं होता है और A-V2 खरीद संकेत होता है तो लंबे संकेत ट्रिगर किए जाते हैं। विपरीत स्थितियों के होने पर लघु संकेत ट्रिगर किए जाते हैं।

लाभ

  1. कई संकेतकों का प्रयोग विश्वसनीयता में सुधार करता है और झूठे संकेतों को कम करता है।

  2. मैन्युअल हस्तक्षेप के बिना स्वचालित सिग्नल डिटेक्शन मानव त्रुटियों को कम करता है।

  3. संकेतकों का जैविक संयोजन व्यापार के अवसरों की खोज करते हुए प्रभावी जोखिम नियंत्रण प्रदान करता है।

  4. उपयोगकर्ताओं की आवश्यकताओं को पूरा करने के लिए अनुकूलन योग्य पैरामीटर।

  5. लचीलेपन के लिए केवल लंबी और लंबी/छोटी ट्रेडिंग दोनों का समर्थन करें।

जोखिम और समाधान

  1. अत्यधिक बाजार स्थितियों में संकेतकों से झूठे संकेत उत्पन्न हो सकते हैं। ऐसे मामलों को कम करने के लिए परिमाणों को ठीक करें।

  2. लेन-देन की लागत और फिसलने से लाभ कम हो सकता है। स्टॉप लॉस/टेक प्रॉफिट के साथ अनुकूलित करें।

  3. अपर्याप्त पैरामीटर सेटअप खराब प्रदर्शन की ओर जाता है. इष्टतम विन्यास खोजने के लिए विभिन्न मानों का प्रयास करें.

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

  1. ऐतिहासिक आंकड़ों के आधार पर पैरामीटर को स्वचालित रूप से अनुकूलित करने के लिए मशीन लर्निंग को बढ़ाएं।

  2. बेहतर संकेतों की खोज करने के लिए वॉल्यूम जैसे अधिक बाजार सूक्ष्म संरचना कारकों को शामिल करें।

  3. ऑर्डर स्वचालित रूप से भेजने के लिए उच्च आवृत्ति व्यापार तकनीक लागू करें।

निष्कर्ष

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


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

//@version=4
//author:盧振興 芙蓉中華中學畢業 育達科技大學畢業碩士
//參考資料 : QQE MOD By:Mihkel00 ,SuperTrend By:KivancOzbilgic , TrendIndicator A-V2 By:Dziwne

strategy("綜合交易策略", shorttitle="Comprehensive Strategy", overlay=true)

// 添加單邊或多空參數
OnlyLong = input(true, title="單邊")

// SuperTrend 参数
PeriodsST = input(9, title="ST ATR Period")
MultiplierST = input(3.9, title="ST ATR Multiplier")
srcST = input(hl2, title="ST Source")

atrST = atr(PeriodsST)
upST = srcST - (MultiplierST * atrST)
upST := close[2] > upST[1] ? max(upST, upST[1]) : upST
dnST = srcST + (MultiplierST * atrST)
dnST := close[2] < dnST[1] ? min(dnST, dnST[1]) : dnST
trendST = 1
trendST := nz(trendST[1], trendST)
trendST := trendST == -1 and close[2] > dnST[1] ? 1 : trendST == 1 and close[2] < upST[1] ? -1 : trendST

// QQE 参数
RSI_PeriodQQE = input(6, title='QQE RSI Length')
SFQQE = input(5, title='QQE RSI Smoothing')
QQE = input(3, title='QQE Fast Factor')
ThreshHoldQQE = input(3, title="QQE Thresh-hold")
srcQQE = input(close, title="QQE RSI Source")

Wilders_PeriodQQE = RSI_PeriodQQE * 2 - 1

RsiQQE = rsi(srcQQE, RSI_PeriodQQE)
RsiMaQQE = ema(RsiQQE, SFQQE)
AtrRsiQQE = abs(RsiMaQQE[1] - RsiMaQQE)
MaAtrRsiQQE = ema(AtrRsiQQE, Wilders_PeriodQQE)
darQQE = ema(MaAtrRsiQQE, Wilders_PeriodQQE) * QQE

basisQQE = sma(RsiMaQQE - 50, 50)
devQQE = 0.35 * stdev(RsiMaQQE - 50, 50)
upperQQE = basisQQE + devQQE
lowerQQE = basisQQE - devQQE

qqeCondition = RsiMaQQE[1] - 50 > upperQQE[1] ? true : RsiMaQQE[1] - 50 < lowerQQE[1] ? false : na

// Trend Indicator A-V2 参数
ma_periodA_V2 = input(52, title="TIA-V2 EMA Period")
oA_V2 = ema(open, ma_periodA_V2)
cA_V2 = ema(close, ma_periodA_V2)
trendIndicatorAV2Condition = cA_V2[1] >= oA_V2[1] ? true : false

// 综合交易逻辑
longCondition = trendST == 1 and qqeCondition and trendIndicatorAV2Condition
shortCondition = trendST == -1 and not qqeCondition and not trendIndicatorAV2Condition

// 针对多单的开平仓逻辑
if (OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)        
    else
        strategy.close("Buy")

// 多空都做时的逻辑
if (not OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)
    else if (shortCondition)
        strategy.entry("Sell",strategy.short)

    // 添加多空平仓逻辑
    if (not longCondition)
        strategy.close("Buy")
    if (not shortCondition)
        strategy.close("Sell")

// 可视化信号
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition and not OnlyLong, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")


अधिक