Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 646
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
Existem dois terminais MT5. Problema: posso escrever guiões para permitir apenas negócios longos num terminal e apenas negócios curtos no outro?
#define ORDER_TYPE_SELL ORDER_TYPE_SELL_STOP // поставить в самом начале советника, если нужно отказаться от SELL-сделок
Existem dois terminais MT5. Tarefa: É possível escrever guiões para permitir apenas negócios longos num terminal e apenas negócios curtos no outro?
Basta introduzir um parâmetro de entrada na sua EA e, dependendo do valor que lhe for atribuído quando começar, só comprará ou só venderá:
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
...
void OnTick()
{
if(!Long)
trade.Sell(0.01);
if(Long)
trade.Buy(0.01);
}
A fim de saber se é um novo topo ou fundo, é preciso lembrar o tempo do último topo/tampo que encontrou, e compará-lo com o que encontrou até agora.
Obrigado, é claro com o tampão.
A fim de recordar o tempo do último vértice encontrado, é preciso conhecê-lo de alguma forma.
Como fazê-lo, como saber a hora do último vértice encontrado?
Obrigado, o tampão é claro.
A fim de recordar o tempo do último vértice encontrado, é preciso conhecê-lo de alguma forma.
Como fazer isto, como saber a hora do último vértice encontrado?
Declara-se uma variável estática para armazenar o tempo do extremo anterior do ziguezague e inicializá-lo com zero.
2. Encontre um vértice e se o seu tempo não for igual ao tempo na variável estática, considere que encontrou o extremo necessário e memorize o novo tempo nesta variável.
3. GoTo(2);
Camaradas programadores!
Recomendar uma forma de descobrir se a propagação aumentou.
O problema é o seguinte: durante a transição para uma nova empresa de corretagem de um dia, a sua actividade de corretagem alarga-se, e por vezes é uma loucura para alguns pares - excede em 3-5 vezes o valor normal. Os spreads de poupança de luz diurna são diferentes nas empresas de corretagem com mudança de horário de 23 para 59 e de 20 para 59 e assim por diante.
Para alguns tipos, a propagação não muda muito, por isso não podemos cortar o robô "Trabalhar a tempo" porque se a propagação não mudar, não teremos de proibir o comércio.
A questão principal é como detectar que a propagação é demasiado grande e, portanto, proibir o robô de abrir uma posição. Vejo uma variante de armazenamento de tamanhos de spread num ficheiro para cada nova barra para as últimas 5-7 barras, depois adicionando tudo e dividindo pelo número, obtendo assim o spread médio e multiplicando por 1,2 - 1,4 (margem), mas não me parece interessante guardar e multiplicar ficheiros e não tenho a certeza de que seja a solução correcta para o cálculo do tamanho médio do spread. Se introduzir manualmente o spread máximo permitido nas definições, é muito trivial e desinteressante em termos de operação de bot.
Aconselha-se a solução óptima para a questão, que não tenha medo de reiniciar o terminal, e o encerramento de emergência em caso de corte de energia. Além disso, de preferência uma solução que minimize a carga no programa, para que não volte a calcular em cada carrapato.
Obrigado!
Camaradas programadores!
Recomendar uma forma de descobrir se a propagação aumentou.
O problema é o seguinte: durante a transição para uma nova empresa de corretagem de um dia, a sua actividade de corretagem alarga-se, e por vezes é uma loucura para alguns pares - excede em 3-5 vezes o valor normal. Os spreads de poupança de luz diurna são diferentes nas empresas de corretagem com mudança de horário de 23 para 59 e de 20 para 59 e assim por diante.
Para alguns tipos, a propagação não muda muito, por isso não podemos cortar o robô "Trabalhar a tempo" porque se a propagação não mudar, não teremos de proibir o comércio.
A questão principal é como detectar que a propagação é demasiado grande e, portanto, proibir o robô de abrir uma posição. Vejo uma variante de armazenamento de tamanhos de spread num ficheiro para cada nova barra para as últimas 5-7 barras, depois adicionando tudo e dividindo pelo número e obtendo assim o spread médio e multiplicando por 1,2 - 1,4 (margem), mas não é interessante guardar e multiplicar ficheiros. Se eu introduzir manualmente o spread máximo permitido em configurações, é muito trivial e desinteressante em termos de operação de bot.
Por favor, aconselhe qual seria a melhor solução para esta questão. Obrigado!
Que tipo de lógico TS é este que depende tanto da propagação!
OK, vamos pôr as coisas desta forma. Aqui, por exemplo, o spread alarga-se nem sequer três vezes, mas mais, e se entrar no mercado com um spread de 20pp, enquanto o spread normal é de 4-6pp, então não é normal, e precisamos de cortar estes momentos.
OK, vamos pôr as coisas desta forma. Por exemplo, o spread aqui nem sequer é três vezes maior, mas mais, e se entrar no mercado com um spread de 20pp, enquanto o spread normal é de 4-6pp, isto não é normal, e precisamos de cortar estes pontos.
OK, vamos pôr as coisas desta forma. Por exemplo, o spread aqui nem sequer é três vezes maior, mas mais, e se entrar no mercado com um spread de 20pp, enquanto o spread normal é de 4-6pp, isto não é normal, e precisamos de cortar estes pontos.