[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 188
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
Sim, e daí?
Há uma série de limitações quando se trabalha em modo de visualização
O que eu fiz de errado!!!!
Eu encontrei esta solução para meu problema
/* desculpe, eu mudei ligeiramente o posto - para que o Vinin seja legível */
O que eu fiz de errado!!!!
Eu encontrei esta solução para meu problema
/* desculpe, mudou um pouco o post - para tornar o Vinin legível */
meios: "se o tempo da última barra não for zero". Portanto, nem sempre é igual a zero.
Além disso, a variável
bool New_Bar;
é definido dentro da função start(), portanto não será visível dentro de outras funções. Além disso, a Fun_New_Bar() que você tentou definir dentro do corpo start(), você não pode fazê-lo em MQL, todas as funções devem ser declaradas no nível do módulo global. A declaração de New_Bar deve ser colocada lá também.
Além disso, durante uma execução da função start() (se não estiver em loop), não é possível definir a formação da barra e depois esperar pela formação da próxima barra: start() por definição é chamada e termina a cada tick (com nuances, mas em geral é assim).
Aconselho reler a ajuda e eliminar as lacunas na execução do programa MQL, e ver um exemplo de como escrever um programa em loop, não inclinado também.
Obrigado por sua atenção. Que botão devo apertar para obter o código neste formato?
SRC----------------------------\|/
--------------------------------------- V
Esta linha
meios: "se o tempo da última barra não for igual a zero". Portanto, nem sempre é igual a zero.
Obrigado. Mas não entendo onde está o "NÃO" nesta linha. Não igual é indicado pelo símbolo !==.
O que eu quis dizer foi que, assim que a hora de abertura de um novo bar aparece, ou seja, um novo bar aparece, o pedido é aberto.
E este é de fato o código que abre uma ordem na abertura de cada cinco barras
int start() { double Price=Open[0]+300*Point; double SL=Price-300*Point; double TP=Price+150*Point; if (Time[0]) int Ticket=OrderSend(Symbol(),OP_BUYSTOP,0.1,Price,3,SL,TP ); }
Decidi tomar o que pensava ser um caminho mais simples.
Não para apagar a ordem pendente - mas para colocar uma ordem pendente somente se uma vela de cinco minutos não tiver terminado
Ou seja, o pedido pendente deve ser feito somente quando duas condições forem cumpridas. Se a primeira condição for cumprida
if (Time[0])
- Eu verifiquei, o pedido está pronto.
Como devo estabelecer a segunda condição, ou seja, estabelecer uma ordem pendente somente se 5 minutos ainda não tiverem passado. se (---------- && ?????????)