
Esta estratégia permite uma estratégia de negociação de câmbio de alta taxa de ganho, através da otimização dos parâmetros do indicador MACD, em combinação com a média móvel, a ação de preços e o tempo de negociação específico.
Use 3 linhas K para determinar a tendência do preço. Se o preço de fechamento das últimas 3 linhas K for maior que o preço de abertura, a tendência será ascendente; Se o preço de fechamento das últimas 3 linhas K for menor que o preço de abertura, a tendência será baixa.
Calcule a diferença entre a linha rápida, a linha lenta e a MACD. O parâmetro da linha rápida é 12, o parâmetro da linha lenta é 26 e o parâmetro da linha de sinal é 9.
O horário de negociação é configurado para 09:00-09:15 todos os dias. Durante esse período, você pode entrar se cumprir os seguintes requisitos:
O Stop Loss está definido em 0,3 pontos e o Stop Loss em 100.
A partir das 21:00 às 21:15, as posições ficaram em branco.
A utilização de um conjunto de indicadores de quadros temporais múltiplos para avaliar de forma integrada a direção das tendências e melhorar a precisão da tomada de decisões.
Otimizar o período de negociação para evitar a volatilidade do mercado, reduzindo o risco de perda desnecessária.
Estabeleça um limite razoável de stop loss para maximizar o lucro e evitar a expansão dos prejuízos.
Em geral, a estratégia tem uma alta taxa de vitória, adequada para operações frequentes em linhas curtas.
O tempo de negociação da estratégia é relativamente fixo, e se você não entrar no campo a tempo, você pode perder a oportunidade de negociar.
Os indicadores MACD são suscetíveis a sinais enganosos e devem ser usados com cautela se não for possível determinar uma clara tendência de alta ou baixa.
A configuração do ponto de parada e perda não é razoável, podendo causar um desequilíbrio na proporção de ganhos e perdas, e os parâmetros precisam ser ajustados de acordo com as diferentes variedades.
No geral, o risco estratégico é menor. Mas, em situações de alta alavancagem, posições excessivas também podem causar grandes perdas.
Pode ser combinado com outros indicadores para determinar a tendência e evitar que o MACD produza sinais errados. Por exemplo, pode ser combinado com indicadores como a linha de Brin e o RSI.
Pode-se otimizar a proporção de perda de parada de parada, com base no cálculo do parâmetro ideal através de dados de retrospecção.
A estratégia pode ser ampliada para variedades de negociação, avaliando o efeito do ajuste de parâmetros de diferentes variedades.
Pode ser introduzido um algoritmo de aprendizagem de máquina para escolher o melhor parâmetro de acordo com as diferentes condições do mercado, permitindo um ajuste dinâmico.
Esta estratégia é, em geral, muito adequado para o comerciante iniciante, a estratégia de ideias claras, o espaço de otimização de parâmetros é grande, o risco é controlável. Através de personalizar o tempo de abertura da posição e razoavelmente definir a taxa de perda de lucro, pode-se obter uma maior taxa de lucro.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © exlux99
//@version=4
strategy("Very high win rate strategy", overlay=true)
//
fast_length =12
slow_length= 26
src = close
signal_length = 9
sma_source = false
sma_signal = false
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//ma
len=10
srca = input(close, title="Source")
out = hma(srca, len)
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
timeinrange(res, sess) => time(res, sess) != 0
// = input('0900-0915', type=input.session, title="My Defined Hours")
myspecifictradingtimes = '0900-0915'
exittime = '2100-2115'
optionmacd=true
entrytime = time(timeframe.period, myspecifictradingtimes) != 0
exit = time(timeframe.period, exittime) != 0
if(time_cond and optionmacd )
if(close > open and close[1] > open[1] and close[2] > open[2] and entrytime and crossover(hist,0))
strategy.entry("long",1)
if(close< open and close[1] < open[1] and close[2] < open[2] and entrytime and crossunder(hist,0))
strategy.entry("short",0)
tp = input(0.0003, title="tp")
//tp = 0.0003
sl = input(1.0 , title="sl")
//sl = 1.0
strategy.exit("closelong", "long" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closelong")
strategy.exit("closeshort", "short" , profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick, alert_message = "closeshort")