Como implementar o fechamento das posições um de cada vez após N minutos ? - página 3

 
Ihor Herasko:

Desculpe-me. A linha:

precisa ser reescrita desta forma:


(OrderCloseTime()> 0) funciona, vou deixá-lo assim então

Obrigado mais uma vez))

Renat Akhtyamov:

закрытие по тикету, переделайте под свой

Também fecha multa, mas depois de fechar escreve erro 4108"Número de bilhete inválido".


 
Natalya Dzerzhinskaya:

(OrderCloseTime()> 0) funciona, vou deixá-lo assim então

Obrigado novamente))))


Também fecha bem, mas depois de fechado diz erro 4108"Número de bilhete errado".


Portanto, é realmente errado, não mente.

Veja a lógica de seu código.

E você faz um comando para fechar ou dois?

Se você a fechou uma vez, não há nada a fazer para a segunda, e o bilhete anterior já será inválido.

 
Renat Akhtyamov:

Portanto, é realmente errado, não vai mentir.

Veja a lógica de seu código.

Você executa um ou dois comandos próximos?

Se você fechar uma vez, não há nada a fazer para a segunda, e o bilhete anterior já estará incorreto.


A variável"fechar" de seu código nunca será menor que zero, leia a ajuda.

 
Ihor Herasko:

Pontos justos acima. Por que passar por todos os pedidos novamente se o bilhete já é conhecido?

É possível fechar os pedidos imediatamente, quando há um excesso de pedidos.
Por que procurar por tempo? Comparar - fechar - próximo.
 
Taras Slobodyanik:

a variável "fechar" de seu código nunca será menor que zero, leia a ajuda

leia-o você mesmo...

-----------

Valor de retorno

Retorna verdadeiro se a função foi concluída com sucesso ou falso se houve um erro. Para obter as informações de erro que você precisa chamar GetLastError().

Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
GetLastError() - функция, возвращающая коды ошибок. Кодовые константы ошибок определены в файле stderror.mqh. Для вывода текстовых сообщений следует использовать функцию ErrorDescription(), определенную в файле stdlib.mqh.
 
Renat Akhtyamov:

Leia por si mesmo...

-----------

Valor retornado

Retorna verdadeiro se a função for concluída com sucesso ou falsa em caso de erro. Para obter informações sobre o erro, ligue para GetLastError().


você nem sabe a diferença entre os tipos de variáveis)

você precisa aprender.

 
Taras Slobodyanik:

para que você não saiba sequer os tipos de variáveis)

Você precisa aprender.


Fórum sobre comércio, sistemas automatizados de comércio e testador de estratégias

Como implementar o fechamento de posições uma a uma após N-minutos ?

Natalya Dzerzhinskaya, 2017.11.22 19:17


(OrderCloseTime()> 0) funciona, vou deixá-lo assim então

Obrigado novamente))))


Também fecha multa, mas depois de fechar escreve erro 4108"Número de bilhete inválido".


É do céu ou algo assim?

)

Boa sorte com seus estudos!
 
Renat Akhtyamov:

Sai do céu ou algo assim?

)

Boa sorte com seus estudos!

Sob que condições poderia funcionar, mesmo uma vez a cada 100 anos?

                  if(OrderSelect(MyTicketBuy, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketBuy,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
                  if(OrderSelect(MyTicketSell, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketSell,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,clrBlue);
                     if(close<0){if(Fu n_Error(GetLastError())==1)return;}
                  }
 
Vitaly Muzichenko:

Sob que condições poderia funcionar, mesmo uma vez a cada 100 anos?

Bem Vitaly, eu não sei...............

Você tem isso em seu posto funcionando......

Cuidado, a função está na página anterior.
 
Renat Akhtyamov:

Bem Vitaly, eu não sei...............

Você o tem em seu post......

Cuidado, a função está na página anterior.

Meu ponto de vista é que ofechamento só pode ser 0(falso) ou 1(verdadeiro), não há outro.

Da mesma forma, para a confiabilidade é melhor escrever:

close=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
Razão: