![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Companheiros programadores! Precisamos da vossa ajuda.
Preciso de fazer uma edição no código MT4. O consultor especializado Martin põe em ordem uma série de ordens através do delta especificado e, partindo de algum número de comércio (por exemplo, o 4º comércio), começa a aumentar o delta por um coeficiente.Preciso que este delta não se prolongue infinitamente até que toda a série tenha terminado. Mas apenas a um determinado nível, que definimos em configurações (por exemplo Max_delta = 50 pontos). E quando o delta se torna >= Max_delta, tomaria este valor continuamente até a série terminar. E depois começaria desde o início.
Aqui está o código do programa, onde o delta é esticado:
int Delta(int OrdNum){\i1}if(Start_order_delta>1){
if(OrdNum>Start_order_delta){
int p=OrdNum-Start_order_delta;
return(Take_profit*MathPow(Delta_exp,p))
}
}
return(Take_profit);
}
Por favor, ajude-me a introduzir uma restrição delta neste código.
CHART_BRING_TO_TOP propriedade
Pode ser definido, mas o valor actual não pode ser determinado.
ChartSetInteger(0,CHART_BRING_TO_TOP,true) - funciona.
ChartGetInteger(0,CHART_BRING_TO_TOP,0) - não funciona.
CHART_BRING_TO_TOP propriedade
Pode ser definido, mas o valor actual não pode ser determinado.
ChartSetInteger(0,CHART_BRING_TO_TOP,true) - funciona.
ChartGetInteger(0,CHART_BRING_TO_TOP,0) - não funciona.
Bem, tudo faz sentido. A chamada tem três parâmetros, ou estou enganado?
Usando a segunda opção, apenas obtemos o valor definido como falso, não o valor actual.
Quanto a obter o valor - precisamos de quatro parâmetros (o último conterá o valor actual).
Bem, isso faz sentido. A chamada tem três parâmetros, ou estarei eu errado?
Usando a segunda opção apenas obtemos o valor SET de falso, não definimos o valor actual.
Quanto a obter o valor - precisamos de quatro parâmetros (o último conterá o valor actual).
Sim, está enganado. São permitidos formulários de entrada múltiplos ChartGetInteger.
Mas independentemente da forma de registo ChartGetInteger,é impossível obter o valor actual da propriedadeCHART_BRING_TO_TOP.
Vários formulários de entrada ChartGetInteger são possíveis.
Mas independentemente do formulário de entrada ChartGetInteger,não é possível obter o valor actual da propriedadeCHART_BRING_TO_TOP.
E qual é o valor retornado pela segunda variante da função ChartGetInteger (4-parâmetros)? E o código de erro?
E que valor retorna a segunda variante da função ChartGetInteger (4-parâmetros)? E o código de erro?
Valor 0; erro 4109 - ou seja, não existe tal propriedade.
De acordo com o Manual, esta propriedade simplesmente não é suportada:
Para a segunda chamada, retorna verdadeiro se esta propriedade for suportada e o valor tiver sido colocado na variável long_var, caso contrário retorna falso.
O código de erro diz a mesma coisa. A questão de saber por que razão a propriedade do gráfico CHART_BRING_TO_TOP não é suportada está ao nível do promotor. E se a propriedade é realmente suportada, então a questão está novamente ao seu nível: porque é que, nesse caso, a função ChartGetInteger retorna falsa?
Porque é que o evento OnTick não está a acontecer no testador de estratégias. Construir 586. No início pensei que houvesse um erro no meu programa. Começou o Moving Average.mq5 para depuração. Estabelecer um ponto de parada no primeiro operador do evento OnTick. Não vi qualquer reacção no espaço de uma hora.