इचिमोकू और एमएसीडी ट्रेंड रिवर्सल ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-20 15:44:13
टैगः

अवलोकन

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

रणनीति तर्क

  1. प्रवृत्ति की दिशा को मापने के लिए इचिमोकू टेनकन रेखा की गणना करें। इसके ऊपर की कीमत ऊपर की प्रवृत्ति को दर्शाता है, और नीचे की प्रवृत्ति।

  2. एमएसीडी डेथ क्रॉस अपट्रेंड में बिक्री संकेत उत्पन्न करता है; गोल्डन क्रॉस डाउनट्रेंड में खरीद संकेत उत्पन्न करता है।

  3. ट्रेड ट्रेंड रिवर्स के लिए इचिमोकू ट्रेंड बायस और एमएसीडी रिवर्स सिग्नल को मिलाएं।

  4. कुछ समय के साथ जुड़े जोखिमों से बचने के लिए, रात या सप्ताहांत में कोई व्यापार नहीं करने की तरह, व्यापार के समय को नियंत्रित करने का विकल्प।

  5. मुनाफे को लॉक करने और जोखिम नियंत्रण के लिए उचित स्टॉप लॉस और ले लाभ का उपयोग करें।

लाभ

  1. इचिमोकू सहज रूप से रुझान और समर्थन/प्रतिरोध स्तर प्रदर्शित करता है।

  2. एमएसीडी संवेदनशील रूप से रुझान उलटने का पता लगाता है।

  3. ट्रेंड बायस और रिवर्स के संयोजन से सिग्नल की गुणवत्ता में सुधार होता है।

  4. अनुकूलन योग्य व्यापारिक घंटे प्रमुख समाचार घटनाओं के आसपास जोखिमों से बचते हैं।

  5. स्टॉप लॉस और टेक प्रॉफिट प्रभावी रूप से पूंजीगत जोखिमों का प्रबंधन करता है।

जोखिम

  1. इचिमोकू और एमएसीडी झूठे संकेत उत्पन्न कर सकते हैं।

  2. उल्टा बल अज्ञात है, ऊपर और नीचे का पीछा करने का जोखिम।

  3. व्यापारिक समय नियंत्रण कुछ अवसरों को खो सकता है।

  4. गलत स्टॉप लॉस और टेक प्रॉफिट सेटिंग्स से समय से पहले बाहर निकलने का कारण बनता है।

  5. पैरामीटर अनुकूलन ओवरफिटिंग का कारण बन सकता है।

सुधार

  1. इचिमोकू और एमएसीडी मापदंडों को इष्टतम संयोजनों के लिए परीक्षण करें।

  2. ट्रेडिंग संकेतों की पुष्टि के लिए अन्य संकेतक जोड़ें।

  3. जोखिम और लाभ को संतुलित करने के लिए स्टॉप और लाभ का अनुकूलन करें।

  4. व्यापारिक घंटों पर नियंत्रण की आवश्यकता का आकलन करें और यदि आवश्यक हो तो आराम करें।

  5. रिवर्स ट्रेडों से नुकसान से बचने के लिए ट्रेंड फिल्टर शामिल करें।

  6. उलटा बल और संभावित खींच ऊंचाई को मापने के तरीकों का शोध करें।

निष्कर्ष

यह रणनीति ट्रेंड रिवर्स के बाद ट्रेड करने के लिए इचिमोकू के ट्रेंड बायस और एमएसीडी के रिवर्स सिग्नल को जोड़ती है। आगे का अनुकूलन और सुधार सिग्नल त्रुटियों को कम कर सकते हैं और एक मजबूत ट्रेंड रिवर्स सिस्टम के रूप में स्थिरता और दक्षता में सुधार कर सकते हैं।


/*backtest
start: 2022-09-13 00:00:00
end: 2023-09-19 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/
// © Revazi

//@version=5
strategy("The Impeccable by zyberal", overlay = true)

// Inputs {
// Strategy variables
IchimokuTenkanPeriod = input(9)
IchimokuKijunPeriod = input(190)
IchimokuSenkouPeriod = input(52)
MACDMainFast = input(3)
MACDMainSlow = input(10)
MACDMainSmooth = input(9)
ExitAfterBars = input(2)
ProfitTarget = input(135)
StopLoss = input(70)

// Trading Options
DontTradeOnWeekends = input(true)
ExitAtEndOfDay = input(true)
DayExitTimeHour   = input(23)
DayExitTimeMinute = input(04)

ExitOnFriday = input(true)
FridayExitTimeHour   = input(20)
FridayExitTimeMinute = input(40)

// }



// TRADING OPTIONS LOGIC {
OpenOrdersAllowed = true

// Dont trade on weekends {
if DontTradeOnWeekends
    if dayofweek == dayofweek.saturday or
       dayofweek == dayofweek.sunday
        OpenOrdersAllowed := false
// }

// Exit on close (end of day) {
if ExitAtEndOfDay
    if timeframe.isintraday and
       time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), DayExitTimeHour, DayExitTimeMinute)
        OpenOrdersAllowed := false
// }

// Exit on Friday {
if ExitOnFriday
    if timeframe.isintraday and
       time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), FridayExitTimeHour, FridayExitTimeMinute)
        OpenOrdersAllowed := false
// }


// Rule: Trading signals {
openW3 = request.security(syminfo.tickerid, "W", open)[3]

middleDonchian(Length) => math.avg(ta.highest(Length), ta.lowest(Length))
Tenkan = middleDonchian(IchimokuTenkanPeriod)[2]

[macdLine, signalLine, _] = ta.macd(close, MACDMainFast, MACDMainSlow, MACDMainSmooth)

LongEntrySignal = openW3 > Tenkan and ta.crossunder(macdLine, signalLine)[3] //macdLine[3] < signalLine[3]
ShortEntrySignal = openW3 < Tenkan and ta.crossover(macdLine, signalLine)[3] //macdLine[3] > signalLine[3]
// }



// Calculate conditions {
IsFlat() => strategy.position_size == 0
IsLong() => strategy.position_size > 0
IsShort() => strategy.position_size < 0

longCondition  = OpenOrdersAllowed and not IsLong() and LongEntrySignal
shortCondition = OpenOrdersAllowed and not IsShort() and ShortEntrySignal

// }

// Open positions based on conditions {
strategy.order(id = "buy", direction = strategy.long, qty = 1, when = longCondition)
strategy.order(id = "sell", direction = strategy.short, qty = 1, when = shortCondition)
// }



अधिक