[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 162
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
Ok, vou trazer um pouco de lógica
O ciclo é executado independentemente da condição se(NewBar())
Não preciso que dependa de NewBAR(). Esta função é necessária para evitar colocar pedidos em pilhas. Por favor, me diga porque meu código (em sua última variante) funciona melhor.
funciona, mas assim que eu fizer o mesmo para os negócios SELLSTOP parem de abrir?
Caros senhores, eu sou um novato!
Eu comecei a escrever minha primeira EA...... e não consigo terminá-la.
No momento, estou testando-o no testador de estratégia.
É muito simples.
Na abertura desta vela de 10 horas, eu coloco um pedido pendente a uma distância de, digamos, 60 pips do preço de abertura desta vela de 10 horas.
Tive algum sucesso com ela.
Mas tenho que apagar a ordem pendente, se ela não tiver se transformado em uma hora a partir do momento em que foi colocada
em uma ordem de mercado.
Aqui está meu código.
int start()
{
double Price=Ask+60*Point;
double SL=Price-30*Point;
double TP=Price + 15*Point;
if(OrdersTotal()==0 && Hour()==10 && Minute()== 00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP, "fjdu",123,TimeCurrent( ) + 3600);
}
Este código é compilado com sucesso; o testador não mostra nenhum erro.
Mas o parâmetro de expiração não funciona, ou seja, as ordens pendentes não convertidas em ordens de mercado dentro de 1 hora não são eliminadas.
Mudei o valor 3600 para 3600000...., mas nada acontece.
Eu ficaria muito grato se você pudesse me dizer qual é o meu erro.
o parâmetro de expiração não funciona
O mais provável é que o corretor não a apoie. Para ter certeza, você pode ir assim:
Caros senhores, eu sou um novato!
Eu comecei a escrever minha primeira EA...... e não consigo terminá-la.
No momento, estou testando-o no testador de estratégia.
É muito simples.
Na abertura da vela de 10 horas, eu coloco um pedido pendente a uma distância de, digamos, 60 pips do preço de abertura desta vela de 10 horas.
Tive algum sucesso com ela.
Mas tenho que apagar a ordem pendente, se ela não tiver se transformado em uma hora a partir do momento em que foi colocada
em uma ordem de mercado.
Aqui está meu código.
int start()
{
preço duplo=Ask+60*Point;
duplo SL=Price-30*Point;
duplo TP=Preço + 15*Ponto;
if(OrderTotal()==0 && Hour()==10 && Minute()== 00 )
OrderSend("EURUSD",OP_BUYSTOP,0.1,Price,0,SL,TP, "fjdu",123,TimeCurrent( ) + 3600);
}
Este código é compilado e testado com sucesso.
Mas o parâmetro de expiração não funciona, ou seja, as ordens pendentes não convertidas em ordens de mercado dentro de 1 hora não são eliminadas.
Mudei o valor 3600 para 3600000...., mas nada acontece.
Eu ficaria muito grato se você pudesse me dizer qual é o meu erro.
E o que o impede de fazer uma condição para apagar na mesma hora e minuto? DC pode não atingir seu prazo de validade.
O mais provável é que o corretor não a apoie. Para ter certeza, você pode fazer isso:
Eu tenho o terminal Alpari. Em conta demo, eu defino manualmente o tempo de espera e de expiração - 1 hora. Tudo estava bem.
Li que se o corretor não suportasse este parâmetro, haveria um erro...., mas não há erro.
Os testes estão em andamento ... mas a ordem não é apagada.
E o que impede que você faça a condição de apagar por hora e minuto? O CD pode não atingir seu prazo de validade.
E a cada hora e minuto?
Obrigado.
Que tal a cada hora e a cada minuto?
Obrigado.
O que deve ser substituído pelo parâmetro de expiração ?
E por uma hora e um minuto, como é isso?
Obrigado.
O mesmo que você abriu, apenas uma hora depois, às 11 horas. Estou fazendo isso de maneira diferente, mas isso não muda a questão.
Desculpe por ser burro, mas ainda não entendi se preciso ou não mudar alguma coisa neste parâmetro.
Se for o caso, gostaria que você pudesse inserir o parâmetro de expiração em meu código conforme necessário, e colar toda a linha no texto de sua resposta.
Obrigado.
Desculpe por ser burro, mas ainda não entendi se preciso ou não mudar alguma coisa neste parâmetro.
Se for o caso, eu agradeceria se você pudesse inserir o parâmetro de expiração em meu código conforme necessário, e colar a linha inteira no texto de sua resposta.
Obrigado.
Posso sugerir a seguinte variante:
if(Hour()==11 && OrderTotal()>0)
{
if(OrderSelect(0,SELECT_BY_POS)==verdadeiro)
{
if(OrderType()==OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
}
}
E você não usa o parâmetro de expiração. A desvantagem é que, ao negociar, o computador deve estar funcionando com a Internet conectada e o terminal ligado para que a posição possa ser fechada.