ट्रेडिंग सिग्नल. जब इस्टेब्लिशमेंट बढ़ रहा है, तो छोटी यांग लाइनें और रिलीज़ लंबे सिग्नल हैं; जब इस्टेब्लिशमेंट गिर रहा है, तो छोटी यिन लाइनें और निचोड़ छोटे सिग्नल हैं.
जोखिमों को नियंत्रित करने के लिए स्वचालित स्टॉप लॉस। जब कीमत स्टॉप लॉस लाइन को छूती है, तो स्टॉप लॉस के लिए स्वचालित रूप से स्थिति बंद कर देती है।
बोलिंगर बैंड और केसी चैनलों के लिए अनुचित पैरामीटर सेटिंग्स के परिणामस्वरूप निचोड़ और रिलीज़ के गलत निर्णय हो सकते हैं।
अचानक होने वाली घटनाओं के कारण भारी-भरकम आंदोलन होते हैं, जिन्हें रोका नहीं जा सकता, जिससे काफी नुकसान का खतरा होता है।
अनुकूलन विधियाँ: बोलिंगर बैंड और केसी चैनल मापदंडों को समायोजित करें, ADX और अन्य संकेतकों का उपयोग करने में सहायता करने के लिए; देरी को कम करने के लिए समय में स्थापना चलती औसत चक्र को अपडेट करें; स्टॉप लॉस लाइन सेट करते समय एक बफर क्षेत्र जोड़ें।
नए रुझानों को बेहतर ढंग से पकड़ने के लिए प्रतिष्ठान चलती औसत के चक्र मापदंडों को अनुकूलित करना।
झूठे ब्रेकआउट से बचने के लिए ट्रेडिंग वॉल्यूम संकेतक जोड़ें। जैसे कि ऊर्जा ज्वार संकेतक, संचय/वितरण आदि।
एआई अनुकूलन मापदंडों, पूर्ण खोज और इष्टतम मापदंड संयोजन की खोज की. ओवरफिटिंग को कम करें.
/*backtest start: 2024-01-17 00:00:00 end: 2024-01-24 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2017 //@version=2 strategy(shorttitle = "Squeeze str 1.1", title="Noro's Squeeze Momentum Strategy v1.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") lev = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage") length = input(20, title="BB Length") mult = input(2.0,title="BB MultFactor") lengthKC=input(20, title="KC Length") multKC = input(1.5, title="KC MultFactor") useTrueRange = true mode2 = input(true, defval = true, title = "Mode 2") usecolor = input(true, defval = true, title = "Use color of candle") usebody = input(true, defval = true, title = "Use EMA Body") needbg = input(false, defval = false, title = "Show trend background") fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") // Calculate BB source = close basis = sma(source, length) dev = multKC * stdev(source, length) upperBB = basis + dev lowerBB = basis - dev // Calculate KC ma = sma(source, lengthKC) range = useTrueRange ? tr : (high - low) rangema = sma(range, lengthKC) upperKC = ma + rangema * multKC lowerKC = ma - rangema * multKC sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC) sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC) noSqz = (sqzOn == false) and (sqzOff == false) val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)), lengthKC,0) bcolor = iff( val > 0, iff( val > nz(val[1]), lime, green), iff( val < nz(val[1]), red, maroon)) scolor = noSqz ? blue : sqzOn ? black : gray trend = val > 0 ? 1 : val < 0 ? -1 : 0 //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Body body = abs(close - open) abody = sma(body, 10) / 3 //Indicator bcol = iff( val > 0, iff( val > nz(val[1]), lime, green), iff( val < nz(val[1]), red, maroon)) scol = noSqz ? blue : sqzOn ? black : gray plot(val, color=bcol, style=histogram, linewidth=4) plot(0, color=scol, style=cross, linewidth=2) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up1 = trend == 1 and (bar == -1 or usecolor == false) and (body > abody or usebody == false) and mode2 == false dn1 = trend == -1 and (bar == 1 or usecolor == false) and (body > abody or usebody == false) and mode2 == false up2 = trend == 1 and val < val[1] and mode2 dn2 = trend == -1 and val > val[1] and mode2 exit = (strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price) and mode2 //Trading lot = strategy.position_size == 0 ? strategy.equity / close * lev : lot[1] if up1 or up2 strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if dn1 or dn2 strategy.entry("Short", strategy.short, needshort == false ? 0 : lot) if exit strategy.close_all()