Ele negocia depois que a contição desaparece... MAS, ele não fecha as negociações logo após a abertura (como deveria - Lance>0). Agora meu pograma fecha todas as negociações somente se aparecer a condição de compra.
ohir: Eu fiz um loop estranho em meu programa de testes:
int A=1
for(A=0, A=1; A===(condição de compra); A++)
Comprar se(A=1)
Fechar se(Proposta>0)
Ele negocia depois que a contição desaparece... MAS, ele não fecha as negociações logo após a abertura (como deveria - Lance>0). Agora meu pograma fecha todas as negociações somente se aparecer a condição de compra.
O que este laço realmente faz?
Hey ohir,
Eu nunca realmente investiguei a escrita das EA, eu apenas fiz indicadores, portanto não sou a melhor pessoa para perguntar.
Entretanto, com um para loop você indica o ponto de partida (número de barra), depois sua condição para manter o loop funcionando, depois incrementa seu ponto de partida para o próximo loop.
para (x=bars-1;x>0;x--) isto fará o loop através de todas as barras no gráfico do primeiro ao último.
para (x=0;x<bars-1;x++) loop back the other way
x é apenas o contador do laço
O seu começa na barra 0 ou 1 (não tenho certeza de como funciona com a vírgula ali), depois, enquanto seu contador é igual à condição de compra (o impossível me parece) continua o laço, depois incrementar o contador.
Tente algo como
para (x=0;x<=bars-1;x++)
{
se (A[x]==1) OrderSend(blah,blah,blah,blah)
se (Bid[x]>0) OrderClose(blah,.....)
}
Não sei se alguma dessas coisas ajuda, mas é o melhor que posso fazer. Talvez alguém com mais conhecimento possa ser capaz de ajudar mais.
Qualquer pessoa conhece uma maneira melhor de codificar esta???? Não se pode fazer metatrader para ler os números exatos, alguns são positivos e outros são números negativos.
if (Use_Entry_Delay == true) {
//if (trendis == 0 || trendis == -0) {
//EntryAllowed= Verdadeiro;
// Imprimir ("Entrada Permitida");
//}
if (trendis == 0,0010){ EntryAllowed= true; Print ("Entry Allowed"); }
if (trendis == 0,0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0010){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0.0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
}else{
EntryAllowed= falso;
Imprimir ("Entrada Não Permitida");
}
}
-----------------------------------------
então basicamente se seu -0,0010 ou inferior não o faz
se seu valor acima de 0,0026 ou acima de -0,0026 não o faz.
niteuser: Qualquer pessoa conhece uma maneira melhor de codificar esta???? Não é possível conseguir que o metatrader leia os números exatos, alguns são positivos e outros são números negativos.
se (Use_Entry_Delay == verdadeiro) {
//if (trendis == 0 || trendis == -0) {
//EntryAllowed= Verdadeiro;
// Imprimir ("Entrada Permitida");
//}
if (trendis == 0,0010){ EntryAllowed= true; Print ("Entry Allowed"); }
if (trendis == 0,0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0010){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0.0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
}else{
EntryAllowed= falso;
Imprimir ("Entrada Não Permitida");
}
}
-----------------------------------------
então basicamente se seu -0,0010 ou inferior não o faz
se seu valor acima de 0,0026 ou acima de -0,0026 não o faz.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Necessidade de ajuda para um alerta
Olá,
primeiro: desculpe pelo meu inglês. sou muito mau em inglês.
Então, mas minha pergunta é: como posso programar um sinal de alerta se tenkan e senkou cruzarem um ao outro? longo e curto.
Alguém pode me ajudar, por favor!!!
muito obrigado,
tchau benjamin
Pequeno problema...
Alguém pode me ajudar a fazer funcionar para agir em pousio...
Eu tenho: A=0
Quando o indicador atinge determinado ponto nº1: A=1.
E quando o indicador sair deste determinado ponto: A=1 (A ainda mantém seu valor).
Quando o indicador atinge determinado ponto nr2: A=0.
Qualquer idéia é muito bem-vinda!
Obrigado.
Alguém pode me ajudar a fazer funcionar para agir em pousio...
Eu tenho: A=0
Quando o indicador atinge determinado ponto nº1: A=1.
E quando o indicador sair deste determinado ponto: A=1 (A ainda mantém seu valor).
Quando o indicador atinge determinado ponto nr2: A=0.
Qualquer idéia é muito bem-vinda!
Obrigado.É difícil saber exatamente o que você quer com tão pouco para continuar.
Que tal
A=0;
se (Licitação >= nr1 && Licitação < nr2) A=1;
if (Licitação >= nr2) A=0;
Substitua Bid por O,H,L,C ou qualquer outra variável que você queira.
Mas você também tem que pensar no que acontece se o preço atingir o nr1 e depois cair ao invés de ir para o nr2.
Basta lembrar que eu estou apenas adivinhando o que você quer.
Espero que tenha sido uma ajuda.
Como posso acessar um arquivo em meu disco rígido que não está na pasta /experts/files?
btw, é possível executar comandos do windows (por exemplo, copiar) em mql4? talvez com um arquivo dll?
Agradecemos antecipadamente :-)
Re swgman1
Obrigado, Swgman1!
... mas ainda é um problema para mim.
O que eu estou tentando dizer...
Início
O valor do Indicador1 é 0
O valor do Indicador2 é 0
A=0
Passo 1
O valor do Indicador1 é 1
O valor do Indicador2 é 0
A=1
Passo2
O valor do Indicador1 é 0
O valor do Indicador2 é 0
A=1
Passo3
O valor do Indicador1 é 0
O valor do Indicador2 é 1
A=0
Espero que seja mais claro
Obrigado.
Circuito esquisito...
Fiz um loop esquisito em meu programa de testes:
int A=1
for(A=0, A=1; A===(condição de compra); A++)
Comprar se(A=1)
Fechar se(Proposta>0)
Ele negocia depois que a contição desaparece... MAS, ele não fecha as negociações logo após a abertura (como deveria - Lance>0). Agora meu pograma fecha todas as negociações somente se aparecer a condição de compra.
O que este laço realmente faz?
Eu fiz um loop estranho em meu programa de testes:
int A=1
for(A=0, A=1; A===(condição de compra); A++)
Comprar se(A=1)
Fechar se(Proposta>0)
Ele negocia depois que a contição desaparece... MAS, ele não fecha as negociações logo após a abertura (como deveria - Lance>0). Agora meu pograma fecha todas as negociações somente se aparecer a condição de compra.
O que este laço realmente faz?Hey ohir,
Eu nunca realmente investiguei a escrita das EA, eu apenas fiz indicadores, portanto não sou a melhor pessoa para perguntar.
Entretanto, com um para loop você indica o ponto de partida (número de barra), depois sua condição para manter o loop funcionando, depois incrementa seu ponto de partida para o próximo loop.
para (x=bars-1;x>0;x--) isto fará o loop através de todas as barras no gráfico do primeiro ao último.
para (x=0;x<bars-1;x++) loop back the other way
x é apenas o contador do laço
O seu começa na barra 0 ou 1 (não tenho certeza de como funciona com a vírgula ali), depois, enquanto seu contador é igual à condição de compra (o impossível me parece) continua o laço, depois incrementar o contador.
Tente algo como
para (x=0;x<=bars-1;x++)
{
se (A[x]==1) OrderSend(blah,blah,blah,blah)
se (Bid[x]>0) OrderClose(blah,.....)
}
Não sei se alguma dessas coisas ajuda, mas é o melhor que posso fazer. Talvez alguém com mais conhecimento possa ser capaz de ajudar mais.
Boa Sorte
Swagman
Ajuda Por favor
Ok, entendi - descarte este post
Metatrader e números neg
Qualquer pessoa conhece uma maneira melhor de codificar esta???? Não se pode fazer metatrader para ler os números exatos, alguns são positivos e outros são números negativos.
if (Use_Entry_Delay == true) {
//if (trendis == 0 || trendis == -0) {
//EntryAllowed= Verdadeiro;
// Imprimir ("Entrada Permitida");
//}
if (trendis == 0,0010){ EntryAllowed= true; Print ("Entry Allowed"); }
if (trendis == 0,0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0010){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0.0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
}else{
EntryAllowed= falso;
Imprimir ("Entrada Não Permitida");
}
}
-----------------------------------------
então basicamente se seu -0,0010 ou inferior não o faz
se seu valor acima de 0,0026 ou acima de -0,0026 não o faz.
Muitas coisas não conseguem fazer isso.
Qualquer AJUDA por favor, por favor, por favor.
Qualquer pessoa conhece uma maneira melhor de codificar esta???? Não é possível conseguir que o metatrader leia os números exatos, alguns são positivos e outros são números negativos.
se (Use_Entry_Delay == verdadeiro) {
//if (trendis == 0 || trendis == -0) {
//EntryAllowed= Verdadeiro;
// Imprimir ("Entrada Permitida");
//}
if (trendis == 0,0010){ EntryAllowed= true; Print ("Entry Allowed"); }
if (trendis == 0,0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == 0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0010){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0.0011){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0012){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0013){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0014){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0015){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0016){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0017){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0018){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0019){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0020){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0021){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0022){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0023){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0024){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0025){ EntryAllowed= true; Print ("Entrada Permitida"); }
if (trendis == -0,0026){ EntryAllowed= true; Print ("Entrada Permitida"); }
}else{
EntryAllowed= falso;
Imprimir ("Entrada Não Permitida");
}
}
-----------------------------------------
então basicamente se seu -0,0010 ou inferior não o faz
se seu valor acima de 0,0026 ou acima de -0,0026 não o faz.
Muitas coisas não conseguem fazer isso.
Qualquer AJUDA, por favor, por favor.