Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 815
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
E quando você acha que este ciclo deve fechar?
?
Corrigido:
if(R==0)
{
while(true)
{
Sleep(30000);
Alert("Ошибка!");
DeleteBuy=OrderDelete(OrderTicketBuy);
DeleteSell=OrderDelete(OrderTicketSell);
return(1);
}
}
O cálculo do lucro também.
Eu inseri uma mensagem e manipulação de erros no laço do while (verdadeiro). O laço funciona, a mensagem é escrita, sem erros. Mas não passa a condição, os dados não parecem estar atualizados.
Eu inseri uma mensagem e manipulação de erros no laço do while (verdadeiro). O laço funciona, a mensagem é escrita, sem erros. Mas não passa a condição, os dados não são atualizados.
Aqui estão mais algumas dicas.
Este ciclo não considera todos os pedidos; além disso, se houver mais de um pedido de um tipo (por exemplo, são feitos três pedidos bystop), então o que acontecerá?
Na verdade, deveria ser vice-versa: primeiro devemos escolher um pedido, e somente se um pedido for escolhido devemos verificar seu tipo e fazer todo tipo de bobagem sobre ele:
E no "sweep-switch-wich-type-traits-stoploss", por que exatamente???? E quando esta linha será executada, em um e no segundo interruptor?
Aqui o tipo de ordem é considerado primeiro, e então a ordem é selecionada. Na verdade deveria ser o contrário, primeiro selecione a ordem, e então se a ordem é selecionada olhe para seu tipo e faça todo tipo de zombaria dela:
portanto:
if(R==1)//238
{
Alert("yes");
R=0;
SelectBuy=OrderSelect(OrderTicketBuy,SELECT_BY_TICKET);
}
if(R==2)//245
{
Alert("yes");
R=0;
SelectSell=OrderSelect(OrderTicketSell,SELECT_BY_TICKET);
}
E no "scroll-type-tralit-stoploss"( =D. Do que você não gosta? Eu acho que é normal, é muito claro. ), por que exatamente em todos os lugares??? E quando esta linha será executada, em um e no segundo interruptor?
Dessa forma, ela se quebrará por condição:
Timen=OrderCloseTime();
if(Timen>0)
{
DeleteSell=OrderDelete(OrderTicketSell);
OldProfit=0;
WarBuy=true;
break;
}
Bem, sim, a quebra ficará melhor na seqüência OrderClose. Então, precisamos acrescentar OrderDelete.
Aqui estão mais algumas dicas.
Além disso, se houver mais pedidos de um tipo do que um (por exemplo, são feitos três pedidos bystop), então o que acontecerá?
OrderTotal a partir de 1 e OrderSelect a partir de 0.
Existe mais de uma ordem do mesmo tipo em 1 símbolo? Não. Mas vou dar outra olhada.
Precisamos de uma condição próxima a esta: "Se MA==preço, então".
Isto servirá:
if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))
P.S.: Feliz Ano Novo!
Feliz Ano Novo!
Comecei recentemente a estudar a MQL 4 e queria fazer uma pergunta:
Por exemplo, tenho uma condição para abrir um pedido:
se (Licitação>=SS+5*Ponto)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
A questão é: que condição deve ser especificada para abrir a segunda ordem caso a primeira ordem tenha um lucro de 10 pontos ou mais?
Feliz Ano Novo!
Comecei recentemente a estudar a MQL 4 e queria fazer uma pergunta:
Por exemplo, tenho uma condição para abrir um pedido:
se (Licitação>=SS+5*Ponto)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
A questão é: que condição é necessária para especificar para abrir a segunda ordem caso a primeira ordem tenha um lucro de 10 pontos ou mais?
Veja aqui, há muitas funções para quase todos os casos.
https://www.mql5.com/ru/forum/131859
Feliz Ano Novo!
Comecei recentemente a estudar a MQL 4 e queria fazer uma pergunta:
Por exemplo, tenho uma condição para abrir um pedido:
se (Licitação>=SS+5*Ponto)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Agora a questão, que condições devem ser especificadas para abrir a segunda ordem caso a primeira ordem tenha um lucro de 10 pontos ou mais?
Pré-selecionar o pedido OrderSelect (Ticket_first_order, SELECT_BY_TICKET);
if(OrderOpenPrice()+10*Point==Ask)
OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);
Нужно условие максимально приближенное к этому: "если MA==цене, то".
Такое пойдет:
if((MA>Open[0] && MA<Close[0]) || (MA<Open[0] && MA>Open[0]))
Hurra, parece estar funcionando. Eu inseri retorno e operador "O" em cada laço para evitar operações desnecessárias.
Um problema: as ordens são incômodas - não sei como formular a condição.
Tenho um trader chamado forexstart, se isso fizer diferença. o problema é que escrevi um robô comercial que funciona em gráficos de 1 minuto. ele analisa a história em muitos gráficos, a história é dada por cerca de um mês e meio e não mais.
tenho um robô comercial que funciona em um gráfico de um minuto. ele analisa a história. em muitos gráficos a história é dada por cerca de um mês e meio e não mais, embora o gráfico horário - diário - anual mostre a história.
Como posso lidar com isso?
Tenho um comerciante chamado forexstart, se isso fizer diferença. o problema é que escrevi um robô que funciona em gráficos de 1 minuto. ele analisa a história em muitos gráficos, a história não está presente por cerca de um mês e meio e não mais.
tenho um robô comercial que funciona no gráfico de um minuto. ele exibe a história. em muitos gráficos a história é dada por cerca de um mês e meio e não mais, embora o gráfico horário - diário - anual exiba a história. há também casos em que o robô retorna a uma determinada data e depois quebra e o jogo continua alguns meses atrás, embora os gráficos superiores o mostrem novamente.
Como posso lidar com isso?