Está claramente escrito ali que uma variável sem valor pode ser usada na linha 553. Tente escrever bool pr=false; isto enganará o compilador, mas é melhor verificar corretamente. Afinal, se o tipo de pedido for um pedido pendente, você ainda terá pr sem valor...
A questão foi abordada no artigo sobre a linguagem mql4, então notei imediatamente o tempo[0].
Após um olhar mais atento, torna-se claro que se trata de um conjunto definido pelo usuário.
E aqui está um comentário da documentação:
Nota
A função usa chamada síncrona - significa que a função aguarda a execução de todos os comandos que foram colocados na fila do gráfico antes de ser chamada, portanto, esta função pode consumir muito tempo. Você deve ter isto em mente se trabalhar com um grande número de objetos na tabela.
Como um objeto em uma coordenada de preço pode ter vários valores, é necessário especificar o número da linha. Esta função pode ser aplicada apenas aos seguintes objetos:
Linha de tendência (OBJ_TREND)
Linha de tendência por ângulo (OBJ_TRENDBYANGLE)
Linha Gann (OBJ_GANNLINE)
Canal equidistante (OBJ_CHANNEL) - 2 linhas
Canal de regressão linear (OBJ_REGRESSION) - 3 linhas
Canal de desvio padrão (OBJ_STDDEVCHANNEL) - 3 linhas
Ela diz claramente que na linha 553 é possível utilizar uma variável que não tem valor. Tente escrever bool pr=false; isto enganará o compilador, mas é melhor verificar tudo corretamente. Afinal, se o tipo de pedido for um pedido pendente, você ainda terá pr sem valor...
obrigado por me lembrar sobre as ordens pendentes)
Esta é a maneira correta de fazer isso?
void zakritj_vse_sdelki()
{
bool pr;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS)==true)
{
pr=false;
if (OrderType()==OP_BUY) pr=OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),MODE_BID), 30 );
if (OrderType()==OP_SELL) pr=OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(),MODE_ASK), 30 );
if (pr==false) Print("закрытие ордера ", OrderSymbol() ," завершилось с ошибкой #",GetLastError());
if (pr==true) Print("ордер ", OrderSymbol() , " ЗАКРЫТ");
}
}
}
igrok333: É possível escrever OrderClosePrice() desta forma?
Recebemos OrderClosePrice() após o fechamento do comércio.
Você pode. Mas tenha cuidado. Para uma posição aberta, ele retorna o preço de fechamento. Correspondentemente: para Compra - Oferta, para Venda - Pergunte
escreveu este código.
o meta-editor murmura.
Por que ele acasala?
#propriedade rigorosa
Seu pr é inicializado?
escreveu este código.
o meta-editor murmura.
Por que ele acasala?
#propriedade rigorosa
Está claramente escrito ali que uma variável sem valor pode ser usada na linha 553. Tente escrever bool pr=false; isto enganará o compilador, mas é melhor verificar corretamente. Afinal, se o tipo de pedido for um pedido pendente, você ainda terá pr sem valor...
sobre o anterior, e o que há aqui do mql4? a função OnTick()?
A questão foi abordada no artigo sobre a linguagem mql4, então notei imediatamente o tempo[0].
Após um olhar mais atento, torna-se claro que se trata de um conjunto definido pelo usuário.
E aqui está um comentário da documentação:
Nota
A função usa chamada síncrona - significa que a função aguarda a execução de todos os comandos que foram colocados na fila do gráfico antes de ser chamada, portanto, esta função pode consumir muito tempo. Você deve ter isto em mente se trabalhar com um grande número de objetos na tabela.
Como um objeto em uma coordenada de preço pode ter vários valores, é necessário especificar o número da linha. Esta função pode ser aplicada apenas aos seguintes objetos:
O seu pr está rubricado?
Pensei que tinha sido inicializada por zero quando declarada.
Ela diz claramente que na linha 553 é possível utilizar uma variável que não tem valor. Tente escrever bool pr=false; isto enganará o compilador, mas é melhor verificar tudo corretamente. Afinal, se o tipo de pedido for um pedido pendente, você ainda terá pr sem valor...
obrigado por me lembrar sobre as ordens pendentes)
Esta é a maneira correta de fazer isso?
obrigado por me lembrar sobre as ordens pendentes)
é esta a maneira correta de fazer isso?
if (pr===falso) é equivalente a if (!pr)
if (pr===verdadeiro) é equivalente a if (pr)
Uso Alerta ao invés de Imprimir - deve aparecer imediatamente sem abrir a revista. E não há informações extras
se (pr===falso) é equivalente a se (!pr)
se (pr===verdadeiro) é equivalente a se (pr)
Eu uso Alerta ao invés de Imprimir - ele aparece instantaneamente na tela sem abrir a revista. E não há informações extras
Recebemos OrderClosePrice() depois que a transação é fechada.
É possível escrever OrderClosePrice() desta forma?
Recebemos OrderClosePrice() após o fechamento do comércio.
Você pode. Mas tenha cuidado. Para uma posição aberta, ele retorna o preço de fechamento. Correspondentemente: para Compra - Oferta, para Venda - Pergunte