A estratégia combina o indicador de balanço inicial e o indicador MACD, e é considerada uma estratégia de negociação de reversão de tendência.
Calcule a linha de tendência do gráfico de equilíbrio de primeira vista, como um indicador para determinar a direção da tendência. Os preços acima da linha de tendência são de mercado a mais e abaixo são de mercado a menos.
O indicador MACD produz um sinal de venda quando o mercado de vários cabeças forma um forco morto; produz um sinal de compra quando o mercado de cabeças vazias forma um forco dourado.
Combinando o julgamento de tendência do gráfico de equilíbrio de primeira vista com o sinal de reversão do MACD, execute uma negociação inversa no ponto de reversão da tendência.
Pode-se configurar o controle do tempo de negociação, como fechar negociações à noite, não negociar no fim de semana, etc., para evitar riscos em determinados períodos de tempo.
Adotar estratégias adequadas de stop loss e stop loss para bloquear lucros e controlar riscos.
O indicador de equilíbrio de primeira vista mostra intuitivamente a tendência e o nível de pressão de suporte.
O indicador MACD é mais sensível a captar a reversão de tendência.
A combinação de tendências e sinais de reversão permite filtrar os sinais falsos.
Pode-se personalizar o período de negociação para evitar riscos em momentos importantes.
Estabelecer uma estratégia de stop-loss pode ajudar a gerenciar o risco do seu dinheiro.
O indicador MACD e a tabela de equilíbrio podem apresentar sinais de erro.
O que é que o governo está a fazer para evitar que a crise se repita?
O controle de tempo de negociação pode ter perdido algumas oportunidades de negociação.
O travão de parada está mal definido e pode ser prematuro ou parar.
A otimização de parâmetros pode ser excessiva e não ser eficaz.
Teste a tabela de equilíbrio e os parâmetros do MACD para encontrar a combinação ideal de parâmetros.
Adicionar outros indicadores para confirmar os sinais de transação.
Optimizar estratégias de stop loss e equilibrar riscos e ganhos.
Avaliação da necessidade de controle de tempo de negociação, com a devida flexibilidade.
Adicionar filtros de tendência para evitar perdas de inversão.
Estudar como determinar a intensidade da reversão e o nível de potencial de ressonância.
A estratégia integra o julgamento de tendências da tabela de equilíbrio de primeira vista e o sinal de negociação de reversão do MACD para tomar decisões de negociação após a confirmação de uma reversão de tendência. Ao otimizar ainda mais os parâmetros e as estratégias, pode-se reduzir o risco de erro de julgamento de sinais e construir um sistema de negociação de reversão de tendência estável e eficiente.
/*backtest
start: 2022-09-13 00:00:00
end: 2023-09-19 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/
// © Revazi
//@version=5
strategy("The Impeccable by zyberal", overlay = true)
// Inputs {
// Strategy variables
IchimokuTenkanPeriod = input(9)
IchimokuKijunPeriod = input(190)
IchimokuSenkouPeriod = input(52)
MACDMainFast = input(3)
MACDMainSlow = input(10)
MACDMainSmooth = input(9)
ExitAfterBars = input(2)
ProfitTarget = input(135)
StopLoss = input(70)
// Trading Options
DontTradeOnWeekends = input(true)
ExitAtEndOfDay = input(true)
DayExitTimeHour = input(23)
DayExitTimeMinute = input(04)
ExitOnFriday = input(true)
FridayExitTimeHour = input(20)
FridayExitTimeMinute = input(40)
// }
// TRADING OPTIONS LOGIC {
OpenOrdersAllowed = true
// Dont trade on weekends {
if DontTradeOnWeekends
if dayofweek == dayofweek.saturday or
dayofweek == dayofweek.sunday
OpenOrdersAllowed := false
// }
// Exit on close (end of day) {
if ExitAtEndOfDay
if timeframe.isintraday and
time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), DayExitTimeHour, DayExitTimeMinute)
OpenOrdersAllowed := false
// }
// Exit on Friday {
if ExitOnFriday
if timeframe.isintraday and
time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), FridayExitTimeHour, FridayExitTimeMinute)
OpenOrdersAllowed := false
// }
// Rule: Trading signals {
openW3 = request.security(syminfo.tickerid, "W", open)[3]
middleDonchian(Length) => math.avg(ta.highest(Length), ta.lowest(Length))
Tenkan = middleDonchian(IchimokuTenkanPeriod)[2]
[macdLine, signalLine, _] = ta.macd(close, MACDMainFast, MACDMainSlow, MACDMainSmooth)
LongEntrySignal = openW3 > Tenkan and ta.crossunder(macdLine, signalLine)[3] //macdLine[3] < signalLine[3]
ShortEntrySignal = openW3 < Tenkan and ta.crossover(macdLine, signalLine)[3] //macdLine[3] > signalLine[3]
// }
// Calculate conditions {
IsFlat() => strategy.position_size == 0
IsLong() => strategy.position_size > 0
IsShort() => strategy.position_size < 0
longCondition = OpenOrdersAllowed and not IsLong() and LongEntrySignal
shortCondition = OpenOrdersAllowed and not IsShort() and ShortEntrySignal
// }
// Open positions based on conditions {
strategy.order(id = "buy", direction = strategy.long, qty = 1, when = longCondition)
strategy.order(id = "sell", direction = strategy.short, qty = 1, when = shortCondition)
// }