संसाधन लोड हो रहा है... लोड करना...

क्रॉसओवर एसटीआई रणनीति

लेखक:चाओझांग, दिनांकः 2024-06-07 16:36:24
टैगःएसटीआईईएमएएटीआरविषय

img

अवलोकन

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

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

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

लाभ विश्लेषण

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

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

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

अनुकूलन दिशा

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

सारांश

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


/*backtest
start: 2024-05-30 00:00:00
end: 2024-06-06 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nikgavalas

//@version=5
strategy("TSI Entries", overlay=true, margin_long=100, margin_short=100)

//
// INPUTS
//

// Define the start and end hours for trading
string sessionInput = input("1000-1530", "Session")

// Day of the week.
string daysInput = input.string("23456", tooltip = "1 = Sunday, 7 = Saturday")

// Minimum number of bar's between entries
requiredBarsBetweenEntries = input.int(12, "Required Bars Between Entries")

// Show debug labels
bool showDebugLabels = input.bool(false, "Show Debug Labels")

//
// FUNCTIONS
//

//@function Define the triple exponential moving average function
tema(src, len) => tema = 3 * ta.ema(src, len) - 3 * ta.ema(ta.ema(src, len), len) + ta.ema(ta.ema(ta.ema(src, len), len), len)

//@function Atr with EMA
atr_ema(length) =>
    trueRange = na(high[1])? high-low : math.max(math.max(high - low, math.abs(high - close[1])), math.abs(low - close[1]))
    //true range can be also calculated with ta.tr(true)
    ta.ema(trueRange, length)

//@function Check if time is in range
timeinrange() => 
    sessionString = sessionInput + ":" + daysInput
    inSession = not na(time(timeframe.period, sessionString, "America/New_York"))

//@function Displays text passed to `txt` when called.
debugLabel(txt, color, y, style) =>
    if (showDebugLabels) 
        label.new(bar_index, y, text = txt, color = color, style = style, textcolor = color.black, size = size.small)


//
// INDICATOR CODE
//

long = input(title="TSI Long Length", defval=8)
short = input(title="TSI Short Length", defval=8)
signal = input(title="TSI Signal Length", defval=3)
lowerLine = input(title="TSI Lower Line", defval=-50)
upperLine = input(title="TSI Upper Line", defval=50)

price = close
double_smooth(src, long, short) =>
	fist_smooth = ta.ema(src, long)
	ta.ema(fist_smooth, short)

pc = ta.change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(math.abs(pc), long, short)
tsiValue = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
signalValue = ta.ema(tsiValue, signal)

//
// COMMON VARIABLES
//

var color trendColor = na
var int lastEntryBar = na

bool tradeAllowed = timeinrange() == true and (na(lastEntryBar) or bar_index - lastEntryBar > requiredBarsBetweenEntries)

// 
// CROSSOVER
//

bool crossOver = ta.crossover(tsiValue, signalValue)
bool crossUnder = ta.crossunder(tsiValue,signalValue)

if (tradeAllowed) 
	if (signalValue < lowerLine and crossOver == true)
		strategy.entry("Up", strategy.long)
		lastEntryBar := bar_index

	else if (signalValue > upperLine and crossUnder == true)

		strategy.entry("Down", strategy.short)
		lastEntryBar := bar_index

// 
// EXITS
// 

if (strategy.position_size > 0 and crossUnder == true)
	strategy.close("Up", qty_percent = 100)

else if (strategy.position_size < 0 and crossOver == true)
	strategy.close("Down", qty_percent = 100)


संबंधित

अधिक