
O sistema de negociação binário EMA amarelo e verde é um sistema de negociação de acompanhamento de tendências baseado em médias móveis de dois índices. O sistema usa a média EMA de dois períodos diferentes para determinar a direção da tendência atual e tomar decisões de negociação com base na relação entre o preço e a média EMA.
A estratégia baseia-se principalmente em duas EMAs médias, uma EMA média de ciclo mais rápido e uma EMA média de ciclo mais lento. Quando a EMA rápida está acima da EMA lenta, é considerada bullish; Quando a EMA rápida está abaixo da EMA lenta, é considerada bearish.
De acordo com a relação entre o preço e as duas linhas médias da EMA, a linha K pode ser dividida em diferentes zonas de negociação:
Quando a EMA está acima da EMA lenta, e o preço está acima da EMA rápida (G1), pode-se comprar uma zona de compra forte.
Quando a EMA está abaixo da EMA lenta, e o preço está abaixo da EMA rápida (R1), pode-se vender uma área para a força.
Quando uma EMA rápida e lenta se cruza, pode-se dividir em áreas amarelo (alerta) e laranja (esperança) de acordo com a relação do preço com as duas EMAs. Estas duas áreas representam a possibilidade de uma reversão de tendência e precisam ser combinadas com outras áreas e outros indicadores para decidir sobre a negociação.
A estratégia emite sinais de compra e venda de acordo com a variação dos preços em diferentes áreas de negociação. Em áreas de força G1 e R1, a estratégia gera um sinal direto; em áreas de alerta e observação, outros indicadores são necessários.
Além disso, a estratégia também introduziu o StochRSI para auxiliar na hora de comprar e vender. O StochRSI pode ser usado como um sinal adicional de compra e venda.
A lógica da estratégia é simples, clara, fácil de entender e de implementar.
A função é baseada em tendências, captando de forma eficaz tendências médias e longas.
Distinguir as zonas de força e as zonas de alerta/observação contrárias à tendência, onde os sinais de negociação são mais confiáveis;
A combinação com o StochRSI permite determinar com mais precisão quando comprar ou vender.
Sistemas de tendência pura, que podem ser ineficazes em mercados sem uma clara tendência;
A configuração incorreta do ciclo EMA pode levar a falsos sinais;
As zonas de alerta e vigilância apresentam um elevado risco de transações e devem ser tratadas com prudência;
O risco de expansão dos prejuízos não foi levado em conta.
Os seguintes métodos podem ser usados para reduzir o risco:
A escolha de variedades com uma tendência visível e a suspensão das negociações quando a tendência é mais fraca;
Otimizar os parâmetros do ciclo EMA para reduzir a probabilidade de falsos sinais;
A introdução de outros indicadores nas áreas de alerta e observação para a confirmação e redução do risco de transação;
Estabeleça um ponto de parada para controlar perdas individuais.
A estratégia pode ser melhorada em vários aspectos:
A introdução de mais indicadores de confirmação, como MACD, KDJ e outros, para melhorar a qualidade do sinal;
A introdução de filtros na área de negociação, como o aumento do volume de negociação, aumenta a taxa de sucesso dos negócios;
Ajustar os parâmetros do EMA de acordo com a dinâmica do mercado e definir os parâmetros de otimização;
Aumentar as estratégias de stop loss, que são suspensas quando os prejuízos atingem uma certa proporção;
Otimizar a gestão de fundos e estabelecer uma gestão racional de posições;
Teste de otimização em diferentes variedades para encontrar a melhor combinação de parâmetros.
A introdução de mais indicadores de julgamento auxiliar, otimização de parâmetros dinâmicos, estratégias de parada de perdas, etc. para aumentar a estabilidade do sistema, reduzir o risco do ponto de vista da administração de fundos, etc., a estratégia pode obter melhores resultados de negociação.
O sistema de negociação binário de EMA amarelo e verde é um sistema de negociação de acompanhamento de tendências baseado na comparação de duas EMAs médias. Distingue diferentes áreas de negociação, determina a direção da tendência com base na relação entre o preço e a EMA e gera um sinal de negociação. É um sistema de acompanhamento de tendências lógico, claro e fácil de implementar.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-25 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/
// © Vvaz_
//base-on CDC ActionZone By Piriya a simple 2EMA and is most suitable for use with medium volatility market
//@version=4
strategy(title="Vin's Playzone" ,shorttitle="VPz", overlay=true, margin_long=4, margin_short=2)
//variable
srcf = input(title="Source",type=input.source,defval=close)
tffix = input(title="Fixed Timeframe",type=input.bool,defval=true)
tfn = input(title="Timeframe in",type=input.resolution,defval="D")
ema1 = input(title="Fast EMA",type=input.integer,defval=12)
ema2 = input(title="Slow EMA",type=input.integer,defval=26)
ema3 = input(title="EMA 100",type=input.bool,defval=true)
smooter =input(title="Smoothing period (1 = no smoothing)",type=input.integer,defval=2)
fillbar =input(title="Fill Bar Color",type=input.bool,defval=true)
emasw = input(title="Show EMA",type=input.bool,defval=true)
bssw = input(title="Show Buy-Sell signal",type=input.bool,defval=true)
plotmm = input(title="Show Buy-Sell Momentum",type=input.bool,defval=true)
plotmmsm = input(title="RSI Smoothing",type=input.integer,defval=0,minval=0,maxval=2)
//math
xcross =ema(srcf,smooter)
efast = tffix ? ema(security(syminfo.tickerid,tfn,ema(srcf,ema1), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema1)
eslow = tffix ? ema(security(syminfo.tickerid,tfn,ema(srcf,ema2), gaps = barmerge.gaps_off,lookahead = barmerge.lookahead_on),smooter) :ema(xcross,ema2)
ema3x = ema(xcross,100)
//Zone
Bull = efast > eslow
Bear = efast < eslow
G1 = Bull and xcross > efast //buy
G2 = Bear and xcross > efast and xcross > eslow //pre-buy1
G3 = Bear and xcross > efast and xcross < eslow //pre-buy2
R1 = Bear and xcross < efast //sell
R2 = Bull and xcross < efast and xcross < eslow //pre-sell1
R3 = Bull and xcross < efast and xcross > eslow //pre-sell2
//color
bcl = G1 ? color.green : G2 ? color.yellow : G3 ? color.orange :R1 ? color.red :R2 ? color.orange : R3 ? color.yellow : color.black
barcolor(color=fillbar ? bcl : na )
//plots
line1 = plot(ema3 ? ema3x : na ,"EMA100",color=color.white)
line2 = plot(emasw ? efast : na ,"Fast EMA",color=color.green)
line3 = plot(emasw ? eslow : na ,"Slow EMA",color=color.red)
fillcl = Bull ? color.green : Bear ? color.red : color.black
fill(line2,line3,fillcl)
//actions
buywhen = G1 and G1[1]==0
sellwhen = R1 and R1[1]==0
bullish = barssince(buywhen) < barssince(sellwhen)
bearish = barssince(sellwhen) < barssince(buywhen)
buy = bearish[1] and buywhen
sell = bullish[1] and sellwhen
bullbearcl = bullish ? color.green : bearish ? color.red : color.black
//plot trend
plotshape(bssw ? buy : na ,style=shape.arrowup,title="BUY",location=location.belowbar,color=color.green)
plotshape( bssw ? sell : na ,style=shape.arrowdown ,title="Sell",location=location.abovebar,color=color.red)
// Momentum Signal using StochRSI
smoothK = input(5,"StochRSI smooth K",type=input.integer,minval=1)
smoothD = input(4,"StochRSI smooth D",type=input.integer,minval=1)
RSIlen = input(14,"RSI length",type=input.integer,minval=1)
STOlen = input(14,"Stochastic length",type=input.integer,minval=1)
SRsrc = input(close,"Source for StochasticRSI",type=input.source)
OSlel = input(20,"Oversold Threshold",type=input.float,minval=0.00)
OBlel = input(80,"Oversold Threshold",type=input.float,minval=0.00)
rsil = rsi(SRsrc,RSIlen)
K = sma(stoch(rsil,rsil,rsil,STOlen),smoothK)
D = sma(K,smoothD)
buymore = iff( bullish ,iff(D < OSlel and crossover(K,D), 2, iff(D > OSlel and crossover(K,D), 1,0)),0)
sellmore = iff( bearish,iff(D > OBlel and crossunder(K,D), 2, iff(D < OBlel and crossunder(K,D), 1,0)),0)
//plot momentum
plotshape(plotmm ? buymore > plotmmsm ? buymore : na : na ,"Buy More!" ,style=shape.triangleup,location=location.belowbar,color=color.green)
plotshape(plotmm ? sellmore > plotmmsm ? sellmore : na : na ,"Sell More!" ,style=shape.triangledown,location=location.abovebar,color=color.red)
// === INPUT BACKTEST RANGE ===
FromYear = input(defval = 2009, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//stratgy excuter
strategy.entry("Long",true,when=window() and buy or buymore)
strategy.close("Long",when=window() and sell or sellmore,comment="TP Long")
strategy.entry("Short",false,when=window() and sell or sellmore)
strategy.close("Short",when=window() and buy or buymore,comment="TP Short")