[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 1126
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
O código está errado. Primeiro, se a função start() for do tipo int, ela deve retornar um valor inteiro. Você tem um retorno devolvido somente por condição. E se a condição não for cumprida, o que a função start() deve retornar ao terminal?
Além disso, você é muito complicado para verificar - melhor fazer o seguinte: criamos um contador de pedidos, aberto e fechado hoje. Se o número de pedidos fechados hoje é maior que zero, então você não negocia. Caso contrário, estamos autorizados a negociar.
mudou de int para void... não ajudou
Para ser honesto, eu realmente não entendo como fazer um contador de pedidos e ainda ser capaz de habilitar/desabilitar a opção one-time daily trade....
....think-think-think-think-think it'll try it like this
if(CalculateCurrentOrders(Symbol())==0 && Order==0)
{
CheckForOpen();
if(WaitForNewDay) {Ordens++;}
retornar;
}
Contador de reinicialização:
if(WaitForNewDay)CheckForNewDay();
cheque nulo para NewDay()
{
tm=iTime(Símbolo(),PERÍODO_D1,0);
se (bt!=tm) {bt=tm; Ordens=0;}
}
De qualquer forma, voltei ao que eu estava fugindo de ))))
mudou de int para void... não ajudou
Sinceramente, não entendo como fazer um contador de ordens e ainda ser capaz de habilitar/desabilitar a opção de um dia de negociação....
-------------
De qualquer forma, de volta ao que eu estava fugindo de ))))
Por favor, ajude-me com o código. Eu desenho e movo manualmente uma linha horizontal e quando o preço a toca, ela aciona um sinal.
O preço toca a linha - há um sinal. Eu entendo isso. O que há de errado com o código?
Desculpe, eu defini a tarefa de forma incorreta)). O que você precisa é de um código que faça isso.
A primeira coisa que você precisa entender é que uma linha é um objeto. O código de programação distingue os objetos por seus nomes. Você precisa escrever o nome da linha no código, e então quando você deixar cair a linha em um gráfico, você precisa entrar em suas propriedades e mudar o nome para aquele que você escreveu no código. Somente então o código entenderá que você precisa processar as leituras extraídas deste objeto.
A seguir, no código você precisa consultar o preço onde se encontra a linha. A solicitação é feita através da função ObjectGet(string name, int prop_id) dupla. Em vez de nome, você precisa especificar o nome de sua linha, e em vez de prop_id especificar OBJPROP_PRICE1. Desta forma, você pode programar o preço ao qual esta linha é definida. Então, no código, você precisa verificar se o preço toca esta linha. Por exemplo: Se o preço no tick anterior estiver abaixo do nível onde a linha está definida e for mais ou igual a este nível no tick atual, então este tick já ocorreu.
Alexander, se você não consegue fazer algo com o código, eles podem ajudá-lo. Se você precisa que o código seja implementado para você, por favor, acesse https://www.mql5.com/ru/job.
Já o fiz, mas o sinal não funciona quando Close[0]==n. Como consertá-lo?
Bem, a julgar pelo código, você fez um indicador. Portanto, para verificar se esta parte do código funciona, você terá que sentar-se e esperar que o próximo tique toque a linha. É melhor criar um roteiro para testar esta parte do código, pois ele lhe dará resultados imediatos.
A primeira coisa que você precisa ter certeza é que o código realmente vê sua linha. Como você faz isso? Você precisa pedir seu preço e exibi-lo como um alerta. Fazendo isso.
Agora que o roteiro foi recompilado, abrimos qualquer gráfico e desenhamos uma linha horizontal sobre ele. Em seguida, inserimos suas propriedades e, como demos "1" nome à linha no código, definimos este nome também nas propriedades da linha:
Clique OK. Deixamos cair o roteiro no gráfico e nos certificamos de que o alerta tenha devolvido o preço correto. Movemos a linha no gráfico para outro lugar e novamente jogamos o script de volta no gráfico e nos certificamos de que se mudarmos a posição da linha manualmente, o código ainda a vê e reconhece.
Procedemos da mesma forma.
O indicador é testado através do testador com a visualização ligada. Eu corrigi um pouco o código, porque para que o alerta seja acionado, os valores devem ser normalizados. Mas se você mover a linha na barra atual, digamos uma hora, então o alerta será acionado apenas 1 vez com o movimento subseqüente da linha na barra atual de alerta por algum motivo que não funciona. Tenho que esperar por outro bar.