De qualquer forma, a questão é a seguinte: estou procurando opções de código para procurar por pedidos.
Você quer monitorar as ordens ativas?
MQL4 ou MQL5?
Você quer monitorar as ordens ativas?
Basicamente, a essência é a seguinte, estou procurando opções de código para procurar por pedidos.
A tarefa é a seguinte:
1 :
Obter informações sobre o pedido máximo por preço e por tipo de pedido ( Compra/Venda ) topmost
Para obter informações sobre o pedido mínimo por preço e por tipo de pedido ( compra/venda ) mais baixo
Obtenha informações sobre o último pedido por tempo e por tipo de pedido ( Compra/Venda )
Obter informações sobre o primeiro pedido por tempo e por tipo de pedido ( Compra/Venda )
2 :
Obter informações sobre o último mas um preço máximo e tipo de pedido ( Compra/Venda )
Obter informações sobre o último mas um pedido mínimo (Compra/Venda) por preço e por tipo de pedido ( Compra/Venda )
Obter informações sobre o último mas um pedido por tempo e por tipo de pedido (Compra/Venda)
Obter informações sobre a segunda encomenda em tempo e tipo de pedido (Compra/Venda)
Estas informações incluem todas as informações sobre o pedido (símbolo, lote, preço ......)
O estilo de programação processual o resolveu há muito tempo, agora quero simplificá-lo e fazer uma aula, mas não consigo pensar em nada útil...
Sim Vladimir - é uma tarefa GRANDE! :-)
Você pode me dizer para onde ir?
Apenas não todos, mas máximo/mínimo por preço e primeiro e último por tempo, 2 de cada, ou seja, último e penúltimo...
Não é difícil, porque você está estabelecendo ordens.
Então, você se lembrará das duas últimas COMPRAS e das duas últimas VENDAS
E você não terá que procurar por nada.
struct MEM_ORDER { ulong ticket; long ord_type; double price; }; struct MEM_ORDERS { bool is_first_buy; bool is_first_sell; MEM_ORDER buy_oders[2]; MEM_ORDER sell_oders[2]; };
Não é difícil, porque você está estabelecendo ordens.
Então, você se lembrará das duas últimas COMPRAS e das duas últimas VENDAS
E você não terá que procurar por nada.
Pensei em tal solução, mas não fiquei satisfeito com o fato de que quando o EA/terminal for recarregado, ele será reinicializado e todos os dados do trabalho passado serão perdidos.
Penso que a maneira mais confiável de trabalhar é coletar dados sobre o ambiente quando a EA está trabalhando.
Pensei em tal solução, mas não fiquei satisfeito com o fato de que quando o EA/terminal é recarregado, ele é reposto e todos os dados do trabalho anterior serão perdidos.
Acredito que o método confiável de operação é coletar dados sobre o ambiente no momento da operação da EA.
E o que o impede de salvar dados em um arquivo quando você sai do EA, e quando você o carrega, carrega-o a partir de um arquivo?
//| Expert Load setings function | //+------------------------------------------------------------------+ void LoadSettings() { string file_name = _Symbol + ".dat"; int file_handle; //--- if ( FileIsExist( file_name, 0 ) ) { file_handle = FileOpen( file_name, FILE_READ|FILE_BIN ); if ( file_handle != INVALID_HANDLE ) { e_high = FileReadLong( file_handle ); a_profit = FileReadLong( file_handle ); e_low = FileReadLong( file_handle ); ord_delta_high = FileReadLong( file_handle ); ord_delta_low = FileReadLong( file_handle ); order_delta = FileReadLong( file_handle ); exit_delta = FileReadLong( file_handle ); FileClose( file_handle ); } } } //+------------------------------------------------------------------+ //| Expert Save settings function | //+------------------------------------------------------------------+ void SaveSettings() { string file_name = _Symbol + ".dat"; int file_handle; bool file_found = true; //--- if ( FileIsExist( file_name, 0 ) ) { if ( FileDelete( file_name, 0 ) ) file_found = false; } else { file_found = false; } //--- if ( ! file_found ) { file_handle = FileOpen( file_name, FILE_WRITE|FILE_BIN ); if ( file_handle != INVALID_HANDLE ) { FileWriteLong( file_handle, e_high ); FileWriteLong( file_handle, a_profit ); FileWriteLong( file_handle, e_low ); FileWriteLong( file_handle, ord_delta_high ); FileWriteLong( file_handle, ord_delta_low ); FileWriteLong( file_handle, order_delta ); FileWriteLong( file_handle, exit_delta ); FileClose( file_handle ); } } }
O que o impede de salvar os dados em um arquivo quando você deixa a EA e carrega-los de um arquivo quando você os carrega?
É claro que isto é bom, mas não confiável, pois o ambiente pode mudar durante a reinicialização.
Feche todos os pedidos antes de sair.
Você ainda precisa fazer isso.
Feche todos os pedidos antes de sair.
É uma coisa tediosa de se fazer de qualquer maneira.
Reinícios imprevistos levarão a problemas...
Eu escrevi uma aula...
Reinícios imprevistos levarão a problemas.
Eu escrevi uma aula...
Não faça as pessoas rir....
Se algo imprevisto acontecer, nenhuma aula irá salvá-lo!
Se o enrolamento ou o terminal "cair", então a EA reinicializará,
Eu apenas "olho" para as ordens ativas e as fecho, porque não há controle sobre elas.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Basicamente, a essência é a seguinte, estou procurando opções de código para procurar por pedidos.
A tarefa é a seguinte:
1 :
Obter informações sobre o pedido máximo por preço e por tipo de pedido ( Compra/Venda ) topmost
Para obter informações sobre o pedido mínimo por preço e por tipo de pedido ( compra/venda ) mais baixo
Obtenha informações sobre o último pedido por tempo e por tipo de pedido ( Compra/Venda )
Obter informações sobre o primeiro pedido por tempo e por tipo de pedido ( Compra/Venda )
2 :
Obter informações sobre o último mas um preço máximo e tipo de pedido ( Compra/Venda )
Obter informações sobre o último mas um pedido mínimo (Compra/Venda) por preço e por tipo de pedido ( Compra/Venda )
Obter informações sobre o último mas um pedido por tempo e por tipo de pedido (Compra/Venda)
Obter informações sobre a segunda encomenda em tempo e tipo de pedido (Compra/Venda)
Estas informações incluem todas as informações sobre o pedido (símbolo, lote, preço ......)
O estilo de programação processual o resolveu há muito tempo, agora quero simplificá-lo e fazer uma aula, mas não consigo pensar em nada útil...