Por favor, explique quais são seus erros. Você pode resumir brevemente o que deve ser considerado? E, se o código funcionar, quais seriam seus "bugs"?
//+------------------------------------------------------------------+//| Функция IsMainPendingOrder (установлен отложенный ордер): |//| возвращает истину, если в советнике не установлен отложенный |//| ордер, в противном случае возвращает ложь. |//| Применим для функции тип данных bool, чтобы хранить |//| логические значения true (истина) или false (ложь). |//+------------------------------------------------------------------+bool IsMainPendingOrder()
{
int orders_total=OrdersTotal(); // количество установленных отложенных ордеров//--- перебираем все установленные отложенные ордераfor(int i=orders_total-1; i>=0; i--)
{
ulong order_ticket=OrderGetTicket(i); // тикет ордера/* если отложенного ордера нет, значит и у нашего советника отложенного ордера нет */if(OrderSelect(i)==false)
returntrue; // поэтому возвращаем значение истинаelse// в противном случаеreturnfalse; // возвращаем значение ложь
}
/* если отложенный ордер уже есть и его мэджик совпадает с мэджиком нашего советника */if(OrderGetInteger(ORDER_MAGIC)==Magic_Number)returntrue; // то возвращаем истину/* в противном случае, если отложенный ордер уже есть, но его мэджик не совпадает с мэджиком нашего советника */elsereturnfalse; // значит это чужой ордер, поэтому возвращаем значение ложь
Da documentação... a caixa de entrada deve ter um bilhete, não um índice
boolOrderSelect(
ulong ticket // тикет ордера
);
Se tivermos vários pedidos de símbolos diferentes e o que estamos procurando for o segundo na lista, não o encontraremos. Ou existe apenas um magik, mas precisamos encontrá-lo por outro símbolo, obteremos uma resposta incorreta da função...
da documentação... a caixa de entrada deve ter um bilhete, não um índice
Obrigado Alexey pela dica! Muito má influência sobre mim por estar sentado ao computador à noite. Pensei ter começado ontem com o bilhete de pedido e já tinha escrito uma linha no código:
Alexey, esta variante de código pode ser aceitável?
//+------------------------------------------------------------------+//| Функция IsMainPendingOrder (установлен отложенный ордер): |//| возвращает истину, если установлен отложенный ордер, |//| в противном случае возвращает ложь. |//| Применим для функции тип данных bool, чтобы хранить |//| логические значения true (истина) или false (ложь). |//+------------------------------------------------------------------+bool IsMainPendingOrder()
{
int orders_total=OrdersTotal(); // количество установленных отложенных ордеров//--- перебираем все установленные отложенные ордераfor(int i=orders_total-1; i>=0; i--)
{
ulong order_ticket=OrderGetTicket(i); // тикет ордера/* если отложенного ордера нет, значит и у нашего советника отложенного ордера нет */if(order_ticket==0)
returnfalse; // поэтому возвращаем значение ложьelse// в противном случаеreturntrue; // возвращаем значение истина
}
/* если отложенный ордер уже есть и его мэджик совпадает с мэджиком нашего советника */if(OrderGetInteger(ORDER_MAGIC)==Magic_Number)
returntrue; // то возвращаем истину/* в противном случае, если отложенный ордер уже есть, но его мэджик не совпадает с мэджиком нашего советника */elsereturnfalse; // значит это чужой ордер, поэтому возвращаем значение ложь
}
Ainda não toquei em Magic porque o código é destinado a um EA de um caractere.
Obrigado, Alexei, pela dica! Muito má influência sobre mim por estar sentado em frente ao computador à noite. Pensei ter começado ontem com o bilhete de pedido e já tinha escrito uma linha no código:
e depois "mudou-se".
Alexey, esta variante de código pode ser aceitável?
Ainda não toquei em Magic porque o código é destinado a um EA de um caractere.
Atenciosamente, Vladimir.
Esta abordagem não é aceitável para mim. Adicione um cheque para Magik e um símbolo, duas linhas de código e você terá uma abordagem normal para resolver uma tarefa em troca. E se você ignorar meus princípios, o código não é bem assim.
Isto é mais lógico.
//+------------------------------------------------------------------+//| Функция IsMainPendingOrder (установлен отложенный ордер): |//| возвращает истину, если установлен отложенный ордер, |//| в противном случае возвращает ложь. |//| Применим для функции тип данных bool, чтобы хранить |//| логические значения true (истина) или false (ложь). |//+------------------------------------------------------------------+bool IsMainPendingOrder()
{
int orders_total=OrdersTotal(); // количество установленных отложенных ордеров//--- перебираем все установленные отложенные ордераfor(int i=orders_total-1; i>=0; i--)
{
ulong order_ticket=OrderGetTicket(i); // тикет ордера/* если отложенный ордер есть */if(order_ticket > 0)
returntrue;// поэтому возвращаем истину
}
returnfalse;// если нет открытого отложенного ордера…
}
E neste código, tudo o que você tem que fazer é substituir o cheque em branco
da documentação... a caixa de entrada deve ter um bilhete, não um índice
Se tivermos vários pedidos de símbolos diferentes e o que estamos procurando for o segundo na lista, não o encontraremos. Ou existe apenas um magik, mas precisamos encontrá-lo por outro símbolo, a resposta estará errada novamente...
Esta abordagem é inaceitável para mim. Adicione um mágico e uma verificação de símbolos, duas linhas de código e, em troca, uma abordagem normal para resolver o problema. E se você ignorar meus princípios, o código não é bem assim.
Isto é mais lógico.
E neste código, tudo o que você tem que fazer é substituir o cheque em branco
para verificar se há um mágico e um personagem
e já é uma função mais versátil...
Bom dia a todos e bom humor!
MUITO OBRIGADO, Alexey, pela sua abordagem paciente e explicação clara dos meus erros.
Eu só queria saber se a pessoa queria aprender alguma coisa, então eu poderia ajudar.
Às vezes faço a mesma coisa, porque às vezes acontece que você faz um discurso, você perde tempo, mas não ouve do TC, ou ele não está interessado nele.
Se ele responder, significa que ele está pronto para uma discussão, e então você inicia uma discussão.
Por favor, explique quais são seus erros. Você pode resumir brevemente o que deve ser considerado? E, se o código funcionar, quais seriam seus "bugs"?
Da documentação... a caixa de entrada deve ter um bilhete, não um índice
Se tivermos vários pedidos de símbolos diferentes e o que estamos procurando for o segundo na lista, não o encontraremos. Ou existe apenas um magik, mas precisamos encontrá-lo por outro símbolo, obteremos uma resposta incorreta da função...
da documentação... a caixa de entrada deve ter um bilhete, não um índice
Obrigado Alexey pela dica! Muito má influência sobre mim por estar sentado ao computador à noite. Pensei ter começado ontem com o bilhete de pedido e já tinha escrito uma linha no código:
e depois "mudou-se".
Alexey, esta variante de código pode ser aceitável?
Ainda não toquei em Magic porque o código é destinado a um EA de um caractere.
Cumprimentos, Vladimir.
Obrigado, Alexei, pela dica! Muito má influência sobre mim por estar sentado em frente ao computador à noite. Pensei ter começado ontem com o bilhete de pedido e já tinha escrito uma linha no código:
e depois "mudou-se".
Alexey, esta variante de código pode ser aceitável?
Ainda não toquei em Magic porque o código é destinado a um EA de um caractere.
Atenciosamente, Vladimir.
Esta abordagem não é aceitável para mim. Adicione um cheque para Magik e um símbolo, duas linhas de código e você terá uma abordagem normal para resolver uma tarefa em troca. E se você ignorar meus princípios, o código não é bem assim.
Isto é mais lógico.
E neste código, tudo o que você tem que fazer é substituir o cheque em branco
para verificar se há um mágico e um personagem
e já é uma função mais universal...
da documentação... a caixa de entrada deve ter um bilhete, não um índice
Se tivermos vários pedidos de símbolos diferentes e o que estamos procurando for o segundo na lista, não o encontraremos. Ou existe apenas um magik, mas precisamos encontrá-lo por outro símbolo, a resposta estará errada novamente...
Obrigado
Esta abordagem é inaceitável para mim. Adicione um mágico e uma verificação de símbolos, duas linhas de código e, em troca, uma abordagem normal para resolver o problema. E se você ignorar meus princípios, o código não é bem assim.
Isto é mais lógico.
E neste código, tudo o que você tem que fazer é substituir o cheque em branco
para verificar se há um mágico e um personagem
e já é uma função mais versátil...
Bom dia a todos e bom humor!
MUITO OBRIGADO, Alexey, pela sua abordagem paciente e explicação clara dos meus erros.
Cumprimentos, Vladimir.
Por favor, explique quais são seus erros. Você pode resumir brevemente o que deve ser considerado? E, se o código funcionar, quais são seus "erros"?
Os erros estão em erros de compreensão de coisas elementares.
Se você mesmo não os vê, você também: Aprenda, aprenda e aprenda!
Erros em não entender as coisas elementares.
Se você mesmo não os vê, você também: Aprenda, aprenda e aprenda!
Pare. Este é um tópico com perguntas de novatos. Assim, ou você responde às perguntas colocadas no fio ou passa sem sua moralização.
Para que você se mostrou? As pessoas querem ver respostas às perguntas, não um rosto bonito em uma foto.
Pare. Este é um tópico com perguntas dos recém-chegados. Assim, ou você responde às perguntas colocadas no fio ou passa sem sua moralização.
Para que você se mostrou? As pessoas querem ver respostas às perguntas, não o homem bonito da foto.
Eu só queria saber se a pessoa queria aprender alguma coisa, então eu poderia ajudar.
Eu só queria saber se a pessoa queria aprender alguma coisa, então eu poderia ajudar.
Bom. A própria maneira de descobrir o que você quer parecia estranha: "você não pode fazer nada, você precisa aprender e aprender".
Mas, assim seja...
Eu só queria saber se a pessoa queria aprender alguma coisa, então eu poderia ajudar.
Às vezes faço a mesma coisa, porque às vezes acontece que você faz um discurso, você perde tempo, mas não ouve do TC, ou ele não está interessado nele.
Se ele responder, significa que ele está pronto para uma discussão, e então você inicia uma discussão.