Restringir a abertura de uma negociação (com Take Profit e Stop Loss) por barra
1 resposta
gkouro
4 anos atrás #256168
Olá, gostaria de restringir meu bot (MT4) para abrir uma negociação por barra
Por meio do AlgoWizard, fiz o seguinte:
Comprar: Barras desde a abertura da ordem de compra para compra deve ser maior que 0 (portanto, pelo menos uma nova barra até a abertura da última ordem de compra)
e Bars since Order Open for Short (Barras desde a abertura da ordem para venda) devem ser maiores ou iguais a 0 (só uso isso por causa das condições simétricas). Ela sempre será verdadeira)
e
Venda: as barras desde a abertura da ordem para venda devem ser maiores que 0 (simétrico ao anterior)
e Barras desde a abertura da ordem para Longos deve ser maior ou igual a 0 (simétrico ao anterior)
Anexei a estratégia
Na MQL4, codifiquei isso da seguinte forma:
datetime prevtimeb;
datetime prevtimes;
...
void OnTick()
{
// COMPRAR
if(buy_condition1 && buy_condition2 && prevtimeb!=Time[0])
(
Open_Order(OP_BUY,sl,tp);
prevtimeb=Time[0];
}
// VENDER
if(sell_condition1 && sell_condition2 && prevtimes!=Time[0])
(
Open_Order(OP_SELL,sl,tp);
prevtimes=Time[0];
}
}
O backtesting de ambos os bots (com as mesmas condições etc.) não produz resultados semelhantes.
Alguma idéia?
tomas262
4 anos atrás #256616
Olá,
Por padrão, uma estratégia criada com o Wizard é definida para ser negociada uma vez por barra aberta - ela avalia as condições somente na barra aberta
Visualizando 1 resposta (de um total de 1)