Em particular, agora é possível monitorar o destino de um pedido com base em seu tíquete quando ele é aberto.
É difícil montar um exemplo e explicar os detalhes do que foi feito. Experimente diferentes situações (e execução parcial) de SELECT_BY_TICKET em OrderTicket, OrderTicketOpen, OrderTicketID e quaisquer tickets do MT5.
Algo que não entendo: em seu exemplo, não há nenhuma nova chamada de função. Na biblioteca mais recente, o histórico funcionará como no MT4 por padrão? Ou ainda é necessário fazer algo com o tíquete recebido?
Algo que não entendo: em seu exemplo, não há nenhuma nova chamada de função. Na biblioteca mais recente, o histórico funcionará como no MT4 por padrão? Ou você ainda precisa fazer alguma coisa com o tíquete recebido?
Você não precisa fazer nada com o tíquete recebido. O escopo das tarefas que podem ser resolvidas facilmente agora foi ampliado. Por exemplo.
Esse script
#property script_show_inputs#include <MT4Orders.mqh>
input TICKET_TYPE inTicket = 0;
// Saída convenientetemplate <typename T>
T MyPrint( const T Value, conststring Str ) { Print(Str + " = " + (string)Value); return(Value); }
#define _P(A) MyPrint(A, __FUNCSIG__", Line = " + (string)__LINE__ + ": " + #A)
// Emite todos os dados do tíquetevoid Test( const TICKET_TYPE Ticket )
{
_P(Ticket);
if (_P(OrderSelect(Ticket, SELECT_BY_TICKET)))
{
OrderPrint();
_P(OrderTicket());
_P(OrderTicketOpen());
_P(OrderTicketID());
}
Print("");
}
voidOnStart()
{
Test(inTicket);
if (OrderSelect(OrdersHistoryTotal() - 1, SELECT_BY_POS, MODE_HISTORY))
Test(OrderTicket());
}
produzirá algo parecido com isto
void Test(constlong), Line = 15: Ticket = 0void Test(constlong), Line = 17: OrderSelect(Ticket,1) = falsevoid Test(constlong), Line = 15: Ticket = 1753321void Test(constlong), Line = 17: OrderSelect(Ticket,1) = true#17533212019.03.1316:15:07 buy 1.00 EURUSD 1.131190.000000.000002019.03.1316:15:081.13118 -4.520.00 -1.000void Test(constlong), Line = 21: OrderTicket() = 1753321void Test(constlong), Line = 22: OrderTicketOpen() = 1753320void Test(constlong), Line = 23: OrderTicketID() = 2532884
A seleção em qualquer um dos tíquetes selecionados produzirá o mesmo resultado.
Se você precisar manter o uso do MT4Orders em seu produto sem falar, poderá cortar as partes relevantes do código-fonte da biblioteca ou colocar um stub universal nele
// Por meio de macros, eliminamos todas as dicas sobre a presença do MT4Orders.#define Alert PrintTmp
#define Print PrintTmp
void PrintTmp( string ) {}
#include <MT4Orders.mqh> // https://www.mql5.com/pt/code/16006#undef Print
#undef Alert
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Excelente! Pelo que entendi, isso resolve o problema da seleção SELECT_BY_TICKET no histórico (sem garantia de execução parcial)?
Este é um exemplo do uso mais primitivo.
Obrigado, @Andrey Khatimlianskii e @Igor Makanu, por "terminarem". As tarefas que foram expressas não vieram à mente.
Em particular, agora é possível monitorar o destino de um pedido com base em seu tíquete quando ele é aberto.
É difícil montar um exemplo e explicar os detalhes do que foi feito. Experimente diferentes situações (e execução parcial) de SELECT_BY_TICKET em OrderTicket, OrderTicketOpen, OrderTicketID e quaisquer tickets do MT5.
Esse é um exemplo do uso mais primitivo.
Algo que não entendo: em seu exemplo, não há nenhuma nova chamada de função. Na biblioteca mais recente, o histórico funcionará como no MT4 por padrão? Ou ainda é necessário fazer algo com o tíquete recebido?
Sou grato a você, @Andrey Khatimlianskii e @Igor Makanu por "terminar". As tarefas que foram expressas não vieram à mente.
Obrigado por seu trabalho árduo e apoio
Algo que não entendo: em seu exemplo, não há nenhuma nova chamada de função. Na biblioteca mais recente, o histórico funcionará como no MT4 por padrão? Ou você ainda precisa fazer alguma coisa com o tíquete recebido?
Você não precisa fazer nada com o tíquete recebido. O escopo das tarefas que podem ser resolvidas facilmente agora foi ampliado. Por exemplo.
Esse script
produzirá algo parecido com isto
A seleção em qualquer um dos tíquetes selecionados produzirá o mesmo resultado.
A seleção por qualquer um dos tickets selecionados produzirá o mesmo resultado.
Portanto, é completamente normal quando a seleção por Ticket é bem-sucedida e OrderTicket() != Ticket.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Especialistas: TradePanel
fxsaber, 2019.04.10 22:28
Converter para MT5:Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Indicadores: Gráfico de ações
fxsaber, 2019.04.25 11:25 AM.
Parece que funcionou
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Conversor de código de MT4 para MT5
fxsaber, 2019.04.29 10:27 AM
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Conversor de código de MT4 para MT5
fxsaber, 2019.04.29 10:47 AM
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Especialistas: Daily Chart Trader
fxsaber, 2019.04.30 12:08 AM
Versão MT5