आरएसआई और चलती औसत संयोजन MT5 मार्टिंगेल स्केलिंग रणनीति

लेखक:चाओझांग, दिनांकः 2023-12-01 17:56:56
टैगः

img

अवलोकन

इस रणनीति का नाम RSI और Moving Average Combination MT5 Martingale Scalping Strategy है। यह उच्च आवृत्ति वाले स्केलिंग ट्रेडिंग को लागू करने के लिए डबल मूविंग एवरेज इंडिकेटर और रिलेटिव स्ट्रेंथ इंडेक्स (RSI) इंडिकेटर को जोड़ती है, जबकि रणनीति के समग्र जोखिम स्तर को नियंत्रित करने के लिए मार्टिंगेल स्थिति औसतकरण सिद्धांत को शामिल करती है।

रणनीति तर्क

  1. रणनीति पहले स्टॉक संकेतक का उपयोग पैरामीटर ऑसिलेटरPeriod को 5 पर सेट करके कस्टम ऑसिलेटर खींचने के लिए करती है, और समेकन क्षेत्र बनाने के लिए ऊपरी और निचली सीमाओं k1 और k2 को सेट करती है। जब स्टोकैस्टिक संकेतक मूल्य समेकन क्षेत्र में प्रवेश करता है, तो यह इंगित करता है कि उलट अवसर हो सकते हैं।

  2. इसके बाद आरएसआई संकेतक को ओवरबॉट और ओवरसोल्ड घटनाओं की पहचान करने के लिए शामिल किया जाता है। आरएसआई संकेतक प्रभावी रूप से ऊपरी और निचली सीमाओं के बाजार में प्रवेश के समय की पहचान कर सकता है। यह रणनीति आरएसआई की ओवरबॉट लाइन को 70 और ओवरसोल्ड लाइन को 30 पर सेट करती है।

  3. इसके अतिरिक्त, रणनीति में मुख्य ट्रेंड फिल्टर के रूप में ट्रेंड एक्टिविटी फैक्टर को भी पेश किया गया है। जब स्टोकैस्टिक इंडिकेटर और आरएसआई एक ही समय में उलट परिस्थितियों को पूरा करते हैं, तो यह भी जांचता है कि क्या मुख्य ट्रेंड अभी भी बाजार में झूठे ब्रेकआउट के कारण नुकसान से बचने के लिए पर्याप्त सक्रिय है।

  4. अंत में, रणनीति समग्र जोखिम को नियंत्रित करने के लिए क्लासिक मार्टिंगेल स्थिति औसतकरण सिद्धांत का उपयोग करती है। गतिशील रूप से ट्रेडिंग वॉल्यूम को समायोजित करके, ब्रेक बीन प्राप्त करने और इस प्रकार अधिकतम ड्रॉडाउन को नियंत्रित करने के लिए प्रारंभिक स्थिति घाटे में होने पर अतिरिक्त पद रखे जाते हैं।

लाभ विश्लेषण

  1. आरएसआई संकेतक को शामिल करने से ओवरबॉट और ओवरसोल्ड घटनाओं की प्रभावी ढंग से पहचान की जा सकती है ताकि रिवर्सल टाइमिंग का आकलन करने में मदद मिल सके।

  2. समेकन क्षेत्र को निर्धारित करने के लिए दोलनकर्ता को सेट करने से कुछ झूठे ब्रेकआउट संकेतों को फ़िल्टर किया जा सकता है।

  3. मुख्य रुझान फ़िल्टर सेट करने से अस्थिर बाजारों में घाटे से बचा जा सकता है।

  4. मार्टिंगेल पोजीशन एवरेजिंग प्रभावी रूप से रणनीति के अधिकतम ड्रॉडाउन को नियंत्रित करती है और स्थायी लाभप्रदता की कुंजी है।

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

  1. असामान्य बाजार स्थितियों में, आरएसआई संकेतक विफल हो सकता है और ओवरबॉट और ओवरसोल्ड स्थितियों के गलत आकलन का कारण बन सकता है। इस जोखिम पर विशेष ध्यान दिया जाना चाहिए।

  2. ऑसिलेटर की अनुचित पैरामीटर सेटिंग्स से सिग्नल की अत्यधिक फ़िल्टरिंग या झूठे ब्रेकआउट की पहचान भी हो सकती है। इसके लिए ऐतिहासिक बाजार डेटा के आधार पर पैरामीटर अनुकूलन की आवश्यकता होती है।

  3. मार्टिंगेल स्थिति औसतकरण से कुछ परिस्थितियों में नुकसान का क्रम बढ़ेगा। यदि अतिरिक्त लॉट की संख्या बहुत अधिक है, तो यह खाते की समाप्ति का एक बड़ा जोखिम पैदा करेगा।

  4. इस रणनीति को केवल 15 मिनट के GBPUSD मुद्रा जोड़े के आंकड़ों पर सत्यापित किया गया है। अन्य बाजारों और अन्य अवधियों में डेटा फिट होने के जोखिम हो सकते हैं।

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

  1. आरएसआई के मापदंडों को अनुकूलित करें ताकि वर्तमान बाजार वातावरण के लिए अधिक उपयुक्त मापदंडों को पाया जा सके।

  2. ऑसिलेटर के मापदंडों का परीक्षण और अनुकूलन करें ताकि यह समेकन क्षेत्र का अधिक सटीक रूप से न्याय कर सके।

  3. स्टॉप लॉस लॉजिक जोड़ें. एकल नुकसान को प्रभावी ढंग से नियंत्रित करने के लिए हानि एक निश्चित स्तर तक पहुंचने पर सक्रिय रूप से हानि रोकें.

  4. मुख्य रुझान फिल्टर के सेटिंग नियमों को अनुकूलित करें ताकि रिवर्स के अवसरों को खोने से रोका जा सके।

  5. विभिन्न अतिरिक्त स्थिति आकार सेटिंग्स का परीक्षण करें। यह सुनिश्चित करने की आवश्यकता है कि अतिरिक्त राशि तेजी से नुकसान का कारण बनने के लिए बहुत बड़ी नहीं है।

सारांश

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


/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
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/
// © cloudofw

//@version=5
strategy("F2.2 Martingale Scalping Strategy", overlay=true)

// Input parameters
rsiOverbought = input.int(70, "RSI Overbought Threshold")
rsiOversold = input.int(30, "RSI Oversold Threshold")
oscillatorPeriod = input.int(5, "Period for oscillator")
k1 = input.float(0.2, "K1 for oscillator's zone")
k2 = input.float(0.5, "K2 for oscillator's zone")
trendActivity = input.float(1.0, "Main Trend filter", minval=0.1)
decreasePerOrder = input.float(0.1, "Trend filter decrease per order", minval=0.01)

// Calculate custom oscillator and RSI
oscillator = ta.stoch(close, high, low, oscillatorPeriod)
rsiValue = ta.rsi(close, 14)

zoneHigh = 100 - k1 * 100
zoneLow = k2 * 100

// Entry conditions
longCondition = oscillator < zoneLow and trendActivity > 0 and rsiValue < rsiOversold
shortCondition = oscillator > zoneHigh and trendActivity > 0 and rsiValue > rsiOverbought

// Martingale logic
var lot_multiplier = 1.0
var last_lot_size = strategy.equity * 0.01
var trade_1_profit = 0.0
if (strategy.position_size != 0)
    lot_multiplier := last_lot_size / strategy.position_size < 1.5 ? lot_multiplier * 1.5 : 1.0
    trade_1_profit := strategy.grossprofit
else
    lot_multiplier := 1.0
    trade_1_profit := 0.0
lot_size = strategy.equity * 0.01 * lot_multiplier + trade_1_profit
last_lot_size := lot_size

// Trading logic
if longCondition and strategy.position_size == 0
    strategy.entry("Long", strategy.long)
    
if shortCondition and strategy.position_size == 0
    strategy.entry("Short", strategy.short)

// Exit conditions
if longCondition == false and strategy.position_size > 0
    strategy.close("Long")

if shortCondition == false and strategy.position_size < 0
    strategy.close("Short")

// Indicators on chart
plotshape(series=longCondition, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")

plot(oscillator, color=color.blue, title="Oscillator")
hline(zoneHigh, "Upper Zone", color=color.red)
hline(zoneLow, "Lower Zone", color=color.green)


अधिक

चांग लिओरक्या यह संभव है कि एक कोड सिमुलेशन को सीधे कॉपी करने के बाद, यह पता चला कि क्या वे एक हाइपरबॉक्सिंग ऑपरेशन नहीं करते हैं जब वे एक हाइपरबॉक्सिंग बिंदु पर पहुंचते हैं?