Parar abaixo do ponto mais baixo da vela anterior
24 respostas
slowbutsure
10 anos atrás #112031
Hi
Alguém pode ajudar na forma como eu digo ao EA Wizard para colocar um stop loss abaixo do mínimo da segunda vela de volta?
Obrigado
Marca Fric
10 anos atrás #124111
Olá,
o problema está, de fato, nos pips e nas funções ao redor deles.
O usuário definiu
PipDistance = (Open[1] - Close[1])
e, em seguida, você tem a condição (não exatamente da mesma forma, mas com o mesmo efeito):
IF (PipDistance > 15)
Isso nunca será verdade, porque a PipDistance está em pips "reais".
Open[1] é, por exemplo, 1,6234, Close[1] poderia ser 1,6111.
Portanto, PipDistance = 1,6234 - 1,6111 = 0,0123, e 0,0123 nunca será maior que 15.
Há duas possibilidades, ambas corretas:
1, use a função ConvertToPips() para PipDistance, por exemplo
IF ConvertToPips(PipDistance) > 15
Isso funcionará, pois a função converterá o valor "real" de pips 0,0123 em 123 pips, portanto, comparará 123 > 15
2. usar a função ConvertToRealPips() para o lado direito da comparação, por exemplo:
IF PipDistance > ConvertToRealPips(15)
isso também funcionará, pois, nesse caso, 15 pips serão convertidos para o valor "real" de pips, que é 0,0015. Portanto, ele comparará 0,0123 > 0,0015
Espero que esteja claro agora como funciona com pips e preços.
.
Marcar
EstratégiaQuant arquiteto
slowbutsure
10 anos atrás #124115
Estou um pouco confuso com isso. Você poderia corrigir o arquivo que carreguei e então verei o que você fez.
Obrigado
Marca Fric
10 anos atrás #124117
Olá,
Estou postando a estratégia corrigida, mas você deve tentar entender minha explicação no post anterior, caso contrário, não conseguirá usar o programa.
Marcar
EstratégiaQuant arquiteto
slowbutsure
10 anos atrás #124120
Obrigado, eu realmente quero entender isso. No entanto, a versão que você forneceu ainda não entra em nenhuma negociação.
slowbutsure
10 anos atrás #124121
Na primeira regra, você converteu em pips e, na segunda, converteu em pips reais. Esse poderia ser o problema?
slowbutsure
10 anos atrás #124144
Mark, vou viajar em breve e gostaria muito de fazer isso antes de viajar, se você tiver tempo para responder, obrigado.
Marca Fric
10 anos atrás #124174
Olá,
Na estratégia, não verifiquei a lógica, apenas a forma como você usa os valores de pips.
Encontrei vários problemas na estratégia:
1. problema com os tipos de variáveis - adicionei a função ConvertToPips à variável de atribuição PipDistance, porque ela era do tipo int, não podendo conter a diferença de preços, que é decimal.
2. você tinha uma condição lá High[0] > High[0] que nunca é verdadeira, eu a excluí
3. Você também tinha PipDistance = Open[1] - Close[1], mas na condição IF você a computa somente se Close[1] > Open[1], de modo que essa diferença é sempre um número negativo, que nunca seria maior que 15.
Portanto, alterei a ordem na subtração para PipDistance = Close[1] - Open[1]
Marcar
EstratégiaQuant arquiteto
mantadiver
9 anos atrás #124699
Estou tentando fazer algo semelhante, mas aplicando um buffer ao preço de entrada em vez de um stoploss.
O exemplo mostra como trabalhar com uma variável e posso ver como fazer isso com uma ordem de parada ou limite, mas quero codificá-la de modo que a estratégia entre na (digamos) última alta + 1 pip. Isso provavelmente estará muito próximo do spread para colocar uma ordem stop, portanto, preciso de uma maneira de dizer - entrar no mercado quando o preço atingir a última alta + 1 pip.
Não consigo ver como fazer isso na área THEN com uma ordem de mercado, portanto, presumo que precise ser uma instrução IF.
Tenho certeza de que é muito simples, mas gostaria que me indicassem a direção certa.
Muito obrigado.
Marca Fric
9 anos atrás #124732
Olá,
Veja o exemplo em anexo. Se você quiser entrar no mercado, deverá criar uma condição que verifique se o preço atingiu a última alta + 1 pip.
Marcar
EstratégiaQuant arquiteto