यह रणनीति ईएमए, आरएसआई, एमएसीडी, ऊर्जा ज्वार, ब्रीनिंग बैंड और अन्य तकनीकी संकेतकों का व्यापक उपयोग करती है, जो मूल्य आंदोलनों को कई कोणों से आंकती है और प्रवेश बिंदुओं को बेहतर ढंग से पहचानती है। साथ ही साथ कई पैरामीटर सेटिंग्स का एक पोर्टफोलियो प्रदान करती है ताकि उपयोगकर्ता अनुकूलन कर सके और व्यक्तिगत रणनीति को लागू कर सके।
3 ईएमए का उपयोग करें ((5 चक्र, 9 चक्र, 21 चक्र) कीमतों की प्रवृत्ति का आकलन करने के लिए; ईएमए औसत रेखा फलक प्रवृत्ति में बदलाव दिखाता है।
आरएसआई सूचकांक ओवरबॉट ओवरसोल्ड को निर्धारित करता है, आरएसआई निम्न से कम है जो ओवरसोल्ड संकेत है, उच्च से अधिक है जो ओवरबॉट संकेत है।
एमएसीडी सूचक औसत अंतर को देखता है, डीआईएफएफ ऊपर की ओर डीईए को एक आशावादी संकेत के रूप में तोड़ता है, और नीचे की ओर गिरावट के संकेत के रूप में तोड़ता है।
ऊर्जा ज्वार सूचक SAR वर्तमान प्रवृत्ति की दिशा को दर्शाता है, जो निर्णय लेने में सहायक है।
ब्रिन पट्टी के ऊपर और नीचे का ट्रैक समर्थन और दबाव की स्थिति को दर्शाता है, और ट्रेंड में बदलाव को इंगित करने के लिए ट्रैक को तोड़ना आवश्यक है।
उपयोगकर्ता की पसंद के अनुसार, जब सूचक एक ही दिशा में संकेत देता है, तो एक संबंधित खरीद और बिक्री कार्रवाई की जाती है।
कई सूचकांकों के संयोजन से एक भी सूचक के गलत होने से बचा जा सकता है
संयोजन पैरामीटर समायोजन प्रदान करता है, उपयोगकर्ता को आवश्यकतानुसार सर्वोत्तम सूचक संयोजन चुनने की अनुमति देता है
ईएमए, एमएसीडी और अन्य सूचकांक प्रवृत्ति परिवर्तन के बारे में सटीक हैं।
आरएसआई सूचकांक ओवरबॉय और ओवरसोल के अवसरों की पहचान करने में मदद करता है।
SAR और ब्रिन समय पर ट्रेंड रिवर्स पॉइंट्स दिखा सकते हैं।
बहु-सूचक संयोजन में निर्णय लेने के लिए कम समय है, बेहतर अवसरों को याद किया जा सकता है।
जब एक ही सूचक गलत संकेत देता है तो फ़िल्टर करने का कोई तरीका नहीं है
उपयोगकर्ता गलत पैरामीटर संयोजन चुन सकते हैं, जिससे लेनदेन अधिक या कम हो सकता है।
STOP LOSS जैसे जोखिम प्रबंधन उपायों का अभाव।
इस तरह के आंकड़ों से रणनीति की प्रभावशीलता को सत्यापित करने में असमर्थता है।
समाधान के लिएः
पैरामीटर को समायोजित करें, THRESHHOLD को बढ़ाएं और अधिक ट्रेडिंग समय प्रदान करें।
गलत संकेतों से बचने के लिए संयोजन सत्यापन के लिए अन्य संकेतक जोड़ें।
अधिक विकल्पों के साथ, उपयोगकर्ताओं को सर्वोत्तम संयोजन का परीक्षण करने में मदद करें।
स्टॉप लॉस रणनीति जैसे उपायों को शामिल करना जो जोखिम को सीमित करते हैं।
अधिक से अधिक बाजारों में इतिहास की समीक्षा करें और सर्वश्रेष्ठ पैरामीटर का निर्धारण करें।
अधिक सूचकांक संयोजनों का परीक्षण करें और सबसे अच्छा मिलान खोजें।
इस प्रकार, हम अपने डेटा का उपयोग करके रणनीतियों को बेहतर बनाने के लिए मशीन लर्निंग मॉड्यूल जोड़ सकते हैं।
प्रवृत्ति फ़िल्टर जोड़ें और प्रवृत्ति की दिशा के आधार पर व्यापार करने का निर्णय लें।
अधिक बाजार स्थितियों के अनुकूल धन प्रबंधन रणनीतियों का अनुकूलन करना।
स्वचालित पैरामीटर अनुकूलन कार्यक्रम विकसित करें और रणनीति को समझदार बनाएं।
इस रणनीति को कई तकनीकी संकेतकों के संयोजन के माध्यम से लागू किया जाता है, जिससे कीमतों के रुझानों का समग्र निर्णय लिया जा सके और एकल संकेतक निर्भरता की कमी से बचा जा सके। रणनीति को मजबूत बनाए रखने की शर्त पर, संकेतक मापदंडों को समायोजित करके, सत्यापन मॉड्यूल को जोड़कर, एआई को पेश करके और अधिक व्यापार के अवसर प्राप्त करने के लिए आगे अनुकूलित किया जा सकता है।
/*backtest
start: 2022-09-17 00:00:00
end: 2023-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("f.society", title="f.society", overlay=true)
//@Author: rick#1414
// -----------------------------------------------------
// f.society : Pone 3EMA: 5, 9, 21, 50, 100, 200, SAR,
// velas azules en sobreventa y velas moradas sobre compra
// SAR 0.02, 0.02, 0.2 , Bandas de Bollinger
// estrategia de compra y venta con rsi, macd o psr
// color de fondo: ema, rsi (color azul sobreventa 35, 25 (mas intenso))
// -----------------------------------------------------
// Como agregar a Trading view:
// 1 Cerrar todos los otros indicadores antes de añadirlo
// 2. Ir a la página de inicio TradingView.com
// 3. En la parte inferior, haga clic en Editor Pine // ver imagen: // https://cdn.discordapp.com/attachments/407267549047422976/407393815112974336/unknown.png
// 4. borrar todo el texo y reemplazar con todo el contenido de este archivo
// 5. Pulse el botón "Añadir a trazar" (Add to graph)
// -----------------------------------------------------
// revisar opciones de on y off segun indicadores deseados
// https://cdn.discordapp.com/attachments/405885820114042883/412115277883506700/unknown.png
// se puede cambiar la estrategia desde este menu desplegable para señales buy/sell
// Options
estrategia = input(defval="rsi", title = "Strategy", options=["ema","rsi","macd","psr","off","BB","ema5"])
in_bkcolor = input(defval="rsi", title = "background color", options=["ema","rsi","macd","psr","off","exchange","BB","ema5"])
e5 = input(title="Show ema5?", type=bool, defval=false)
e9 = input(title="Show ema9?", type=bool, defval=true)
e21 = input(title="Show ema21?", type=bool, defval=true)
e50 = input(title="Show ema50?", type=bool, defval=false)
e100 = input(title="Show ema100?", type=bool, defval=false)
e200 = input(title="Show ema200", type=bool, defval=true)
in_rsi = input(title="Color oversold and overbought bars?", type=bool, defval=true)
in_sar = input(title="Show Parabolic Sar", type=bool, defval=true)
in_bb = input(title="Show Bollinger Bands?", type=bool, defval=true)
sd = input(false, title="Show Daily Pivots?")
linew = input(1, title="linewidth", minval=0)
sarw = input(1, title="sar points width", minval=0)
ovs = input(40, title="oversold rsi", minval=0)
ovb = input(65, title="overbought rsi", minval=0)
//pf = input(false,title="Show Filtered Pivots")
pf=false
// 3 ema
src = close // input(close, title="Source")
//len9 = input(9, minval=1, title="ema9 Length")
//len21 = input(21, minval=1, title="ema21 Length")
//len200 = input(200, minval=1, title="ema200 Length")
len5=5
len9=9
len21=21
len50=50
len100=100
len200=200
ema5 = ema(src, len5)
ema9 = ema(src, len9)
ema21 = ema(src, len21)
ema50= ema(src, len50)
ema100 = ema(src, len100)
ema200 = ema(src, len200)
plot(e5? ema5 : na, title="EMA5", linewidth=linew, color=purple)
plot(e9? ema9 : na, title="EMA9", linewidth=linew, color=blue)
plot(e21? ema21 : na, title="EMA21", linewidth=linew, color=red)
plot(e50? ema50 : na, title="EMA50", linewidth=linew, color=green)
plot(e100? ema100 : na, title="EMA100", linewidth=linew, color=lime)
plot(e200? ema200 : na, title="EMA200", linewidth=linew, color=yellow)
// RSI Color
//lenR = input(14, minval=1, title="RSI Length")
lenR=14
//up = rma(max(change(src), 0), lenR)
//down = rma(-min(change(src), 0), lenR)
//vrsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
vrsi=rsi(close,lenR)
//plot(vrsi,title="vrsi")
oversold = vrsi < ovs
overbought = vrsi > ovb
barcolor(in_rsi? oversold? #0000FF : overbought? #ff00ff:na : na)
// SAR
plot(in_sar? sar(0.02, 0.02, 0.2): na, style=cross, linewidth=sarw, color=blue, title="sar")
// BB
//length = input(20, title="Bollinger length", minval=1)
length=20
//mult = input(2.0, title="Bollinger stdDev", minval=0.001, maxval=50)
mult=2.0
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(in_bb? basis :na, color=red, linewidth=linew, title="BB basis")
p1 = plot(in_bb? upper :na, color=blue, linewidth=linew, title="BB upper")
p2 = plot(in_bb? lower :na, color=blue, linewidth=linew, title="BB lower")
fill(p1, p2)
//background
bgcolor(in_bkcolor=="exchange"? #0000FF40 : in_bkcolor=="rsi"? vrsi < (ovs-15) ? #0000FF50 : vrsi < ovs ? #0000FF30 :( vrsi < ovb ? #ff00ff10 : #ff00ff20): in_bkcolor=="ema"?(ema9>ema21?#ff00ff10 : #0000FF20):in_bkcolor=="BB"?(lower>close?#ff00ff10 : close>upper?#0000FF20:#ff00ff10): in_bkcolor=="ema5"?(ema5>ema21?#ff00ff10 : #0000FF20):na)
// Strategy
if estrategia == "ema"
strategy.entry("buy", true, 1, when= crossover(ema9,ema21) ),
strategy.entry("sell", false, 1, when = crossover(ema21,ema9))
else
if estrategia =="rsi"
strategy.entry("buy", true, 1, when= vrsi <ovs),
strategy.entry("sell", false, 1, when = vrsi > ovb or crossover(close,upper))
else
if estrategia =="macd"
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9),
//bgcolor(macdLine > signalLine ? #98c8ff : #ff8b94),
strategy.entry("buy", true, 1, when= macdLine>=signalLine ),
strategy.entry("sell", false, 1, when = macdLine<signalLine)
else
if estrategia=="psr"
leftBars = 4 //input(4)
rightBars = 2 //input(2)
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])
if (le)
strategy.entry("buy", strategy.long, comment="buy", stop=hprice + syminfo.mintick)
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])
if (se)
strategy.entry("sell", strategy.short, comment="sell", stop=lprice - syminfo.mintick)
else
if estrategia=="BB"
strategy.entry("buy", true, 1, when= crossover(lower,close) ),
strategy.entry("sell", false, 1, when = crossover(close,upper))
else
if estrategia=="ema5"
strategy.entry("buy", true, 1, when= crossover(ema5,ema21) ),
strategy.entry("sell", false, 1, when = crossover(ema21,ema5))
// pivots
// Classic Pivot
pivot = (high + low + close ) / 3.0
// Filter Cr
bull= pivot > (pivot + pivot[1]) / 2 + .0025
bear= pivot < (pivot + pivot[1]) / 2 - .0025
// Classic Pivots
r1 = pf and bear ? pivot + (pivot - low) : pf and bull ? pivot + (high - low) : pivot + (pivot - low)
s1 = pf and bull ? pivot - (high - pivot) : pf and bear ? pivot - (high - low) : pivot - (high - pivot)
r2 = pf ? na : pivot + (high - low)
s2 = pf ? na : pivot - (high - low)
//Pivot Average Calculation
smaP = sma(pivot, 3)
//Daily Pivots
dtime_pivot = security(syminfo.tickerid, 'D', pivot[1])
dtime_pivotAvg = security(syminfo.tickerid, 'D', smaP[1])
dtime_r1 = security(syminfo.tickerid, 'D', r1[1])
dtime_s1 = security(syminfo.tickerid, 'D', s1[1])
dtime_r2 = security(syminfo.tickerid, 'D', r2[1])
dtime_s2 = security(syminfo.tickerid, 'D', s2[1])
offs_daily = 0
plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",style=line, color=fuchsia,linewidth=linew)
plot(sd and dtime_r1 ? dtime_r1 : na, title="Daily R1",style=line, color=#DC143C,linewidth=linew)
plot(sd and dtime_s1 ? dtime_s1 : na, title="Daily S1",style=line, color=lime,linewidth=linew)
plot(sd and dtime_r2 ? dtime_r2 : na, title="Daily R2",style=line, color=maroon,linewidth=linew)
plot(sd and dtime_s2 ? dtime_s2 : na, title="Daily S2",style=line, color=#228B22,linewidth=linew)
// References:
// get number of bars since last green bar
//plot(barssince(close >= open), linewidth=3, color=blue)
//bgcolor(close < open ? #ff8b94 : #98c8ff , transp=10)
//http://www.color-hex.com/
// #98c8ff light blue
// #ff8b94 red #b21c0e
// #7d1d90 purple
// #0029ff blue
// #fffa86 yellow