Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Isto são 2 terminais em 1 computador. A todas as sugestões do terminal para actualizar - respondo "sim".
O ficheiro foi transferido para flash a partir de outro computador como .mql5, aberto e compilado por diferentes editores de dois terminais.
De qualquer forma, tal como entendi, preciso de actualizar o MT...
Se estiver a actualizar manualmente, também precisa de transferir a pasta /MQL5, porque esta contém um número enorme de bibliotecas padrão que está a utilizar.
Uma vez que apenas transferiu os executáveis e o seu código fonte como um ficheiro mq5, cometeu um erro.
Actualizado para bild 695. Um erro começou a aparecer ao compilar o Object.mqh.
Actualizado para bild 695. Um erro começou a aparecer ao compilar o Object.mqh.
Actualizou automaticamente ou apenas moveu os ficheiros?
Se o fez automaticamente, ao armazenar ficheiros em UserData, copie o directório /MQL5 da raiz do programa para o directório de dados (pode abri-lo a partir do menu File).
O que aconteceu ao calendário económico, será que existe?
Pergunta adicional: Em que dados se baseou e como pode ser "ligado" ao CD?
Esta é a condição
if( mn < STP || mn >= STP )
- A sua redacção está redigida desta forma por que razão? Tal como está, funcionará para qualquer mn e STP. Porque é que precisamos mesmo de o introduzir? E as duas opções seguintes - há um corte específico de certas situações.
Mas tudo parece ser lógico: um + dois == tri (sem entrar em detalhes dos cálculos um, dois e três) em todas as três variantes.
É disso que estou a falar. Quero dividir o espaço comum (caso 1) em dois grupos (casos 2 e 3). Logicamente, a expressão um + dois == tri deveria ser verdadeira, mas não é. Na primeira condição um=148, e na segunda 172. Também não é um jogo para dois e para três. Não sei qual é o problema.
Talvez o problema esteja numa condição comum? Este código depende de alguma outra coisa?
Apenas um exemplo trivial:
condição (a): aberto se o bar em H1 subir. TP=SL=100
condição (b): Aberto se a barra em H1 diminuir. TP=SL=100
Condição adicional: não verificamos as condições pela segunda vez, se já tivermos uma posição.
Depois, se activarmos (a) mais (b), abriremos sempre que TP/SL for activado.
se incluirmos (a) abrimos em todas as primeiras vezes mais (!!!!) mais algumas vezes quando não abrimos porque abrimos antes com condição (b)
e para incluir apenas a condição (b) de forma semelhante
Olhe mais de perto: esta é exactamente a comparação (um + dois == tri) que é feita, para cada uma das opções.
Bem, esta é uma questão diferente, nomeadamente, porque é que o valor de uma da primeira variante não é igual ao valor de uma da segunda e terceira variantes.
Está a introduzir uma condição restritiva na segunda e terceira variantes, em comparação com a primeira variante. Considerar, por exemplo, porque é que na segunda variante o valor de um aumenta em comparação com a primeira variante. A parte citada do código não é clara até agora.
Para o posto anterior.
No terceiro caso: um=0, dois=124, tri=124.
Os dados não coincidem, mas deveriam, porque o segundo e terceiro casos são partes separadas da primeira condição. Não consigo compreender qual é o problema.
PS: entrada em STP=200;
1. Escolho espaço2 (um) e espaço3 (dois); 230 = 148 + 82, ou seja, espaço2 (um) = 148 e espaço3 (dois)=82.
2. ... Deveria permanecer 148, e tornou-se 172.
3. ... Deve permanecer 82, e passa a 124.
É disso que estou a falar: a questão para si éporque é que o valor de uma da primeira opção não é igual ao valor de uma da segunda e terceira opções.
Para encontrar um erro nesta suposição lógica, sugiro fazer muito simplesmente: imprimir cada caso de "espaçosX" crescentes nas três variantes, comparar resultados e analisar por que razão "valores de espaços2 e espaços3" não são os mesmos.
Adenda. ilunga já deu a entender que algumas transacções podem ser perdidas quando se passa de uma variante para outra. Tem uma função/método killer OpenPosition() incorporada no corpo do operador if(). E funciona em tempos diferentes, dependendo da condição verificada pelo operador do if().