Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1166
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
Você pode, por favor, me dizer como definir a seleção de pedidos por símbolo para OrderTotal()?
Neste momento, se houver uma ordem em aberto em um par, ela não se abrirá em outros.
Você pode, por favor, me dizer como definir a seleção de pedidos por símbolo para OrderTotal()?
Agora, se há uma ordem em aberto em um par, ela não se abre em outros.
Veja o kodobase, há um exemplo em cada EA
Veja em kodobase, há um exemplo em cada assessor
Eu não sou um programador(
É um pouco complicado para mim.
Eu não sou um programador(
É um pouco complicado para mim.
não é complicado.
para escrever um EA básico, aqui está toda a funcionalidadehttps://www.mql5.com/ru/forum/131859
Para seus propósitos OrdensTotal() é o número total de ordens abertas (numeradas a partir de 0) no terminal e então você tem que selecioná-las uma a uma (passar pelo loop) usando OrderSelect() e manipular as ordens necessárias
Você pode, por favor, me dizer como definir a seleção de pedidos por símbolo para OrderTotal()?
Neste momento, se há uma ordem em aberto em um par, ela não se abre em outros.
Preciso verificar periodicamente (contar comigo mesmo) minhas ordens, conforme a necessidade.
Tenho em cada EA um loop (um método enorme) que é chamado antes de ações importantes:
for(int pos=OrdersTotal()-1; pos>=0;pos--) {
if (!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) {
selectFailed=true; /* не удалось "выбрать" ордер - статистика может быть неверной */
continue;
}
if (OrderCloseTime()!=0) { /* ордер закрыт но ещё не удалён из списка*/ continue; }
if (OrderMagicNumber()==0) { /* ордер выставлен юзером */ } continue;
else if (OrderMagicNumber()!=_Magic) { /* ордер выставлен другим советником */ continue; }
if (OrderSymbol()!=_Symbol) { /* ордер с правильным Magic но на другом символе */ continue; }
/// обработка рабочих ордеров, с правильным Magic на символе советника (то есть наш ордер)
/// проверяются несработки, считается кол-во, статистика, позиции и прочее
}
a verificação de uma ordem no símbolo é destacada
periodicamente, conforme necessário, para verificar (auto-verificar) seus pedidos.
Eu tenho um loop (um método enorme) em cada EA, que é chamado antes de ações importantes:
for(int pos=OrdersTotal()-1; pos>=0;pos--) {
if (!OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)) {
selectFailed=true; /* не удалось "выбрать" ордер - статистика может быть неверной */
continue;
}
if (OrderCloseTime()!=0) { /* ордер закрыт но ещё не удалён из списка*/ continue; }
if (OrderMagicNumber()==0) { /* ордер выставлен юзером */ } continue;
else if (OrderMagicNumber()!=_Magic) { /* ордер выставлен другим советником */ continue; }
if (OrderSymbol()!=_Symbol) { /* ордер с правильным Magic но на другом символе */ continue; }
/// обработка рабочих ордеров, с правильным Magic на символе советника (то есть наш ордер)
/// проверяются несработки, считается кол-во, статистика, позиции и прочее
}
verificar a ordem pelo símbolo é destacado
Em uma nota lateral, entendo que os carrapatos das ordens históricas podem se perder. A questão é se os tickers de ordem(SELECT_BY_TICKET) na MT4 e os tickers de acordos e posições na MT5 podem mudar.
E também, a ordem pode ser alterada após a OrderSelect no bilhete. Por exemplo, no dia seguinte. A EA não está desativada.
Se a ordem pendente se tornou uma ordem de mercado, você pode vê-la por seu tipo. Se a ordem de mercado foi fechada, então olhamos para o momento do fechamento da ordem, não igual a zero OrderCloseTime()!=0
Se a ordem pendente foi encerrada por sua vida útil, então como podemos rastreá-la pelo ticket da ordem.
E uma pergunta, a vida útil também está nas ordens de mercado (MT4), será que funciona?
Você pode, por favor, me dizer como definir a seleção de pedidos por símbolo para OrderTotal()?
Agora, se há uma ordem em aberto em um par, ela não se abre em outros.
A questão já está resolvida. Obrigado a todos vocês.
Olá queridos senhores! Não entendo o que está errado, porque escreve Alerta: tempo3tempo1 = data errada?
porque o número é negativo :-)
por este tempo lógico1 é __ sempre __ mais que o tempo3
porque o número é negativo :-)
pelo tempo lógico dado1 é __ sempre __ mais que o tempo3
Obrigado! Às vezes meu cérebro explode.