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
megamixx,
Se você ainda estiver por aí, posso sugerir algumas mudanças de código que farão o que você está procurando. Avise-me se você ainda estiver interessado.
Em seguida, recompilar para ter certeza de que não há erros. Avise-me quando você tiver isto e eu colarei a próxima mudança.Consegui e compilei com sucesso graças ao Sn.
Consegui e compilei com sucesso graças ao Sn.
ok, ótimo.
A seguir, há um bloco de código como este
copiar o bloco inteiro, colá-lo logo após e renomeá-lo para OpenTradesOnThisCandle
Em seguida, recompilar para ter certeza de que não há erros.
Estou indo para o trabalho agora, para que você não tenha notícias minhas até mais tarde. Afixe as mudanças se você ficar preso.
Copiou este bloco e renomeou-o, agora ele se parece com isto:
int OpenTradesOnThisCandle( )
{ int op =0;
for(int i=OrdersTotal()-1;i>=0;i--) // escanear todos os pedidos e posições...
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() != MagicNumber) continue;
if ( OrderSymbol()==Symbol() )
{
if ( OrderType() == OP_BUY ) op++;
if ( OrderType() == OP_SELL ) op++;
}
}
return(op);
}
Espero ter feito tudo certo. Eu compilei e não recebi nenhum erro a não ser um aviso:
Afunção "OpenTradesOnThisCandle" não é referenciada e será removida do arquivo exp-file
0 erro(s), 1 aviso(s)
Bom. A mensagem é apenas um aviso, e irá embora em breve.
Agora mude a linha onde você vê MODE_TRADES para ser MODE_HISTORY na nova subrotina que você criou.
Agora, substitua ambos os dois se as declarações por OrderType() para este
Quando você tiver isso (e você receberá o mesmo aviso), compile-o para ter certeza de que está livre de erros.
Esta é a aparência do bloco agora:
int OpenTradesOnestaVela( )
{ int op =0;
for(int i=OrdensTotal()-1;i>=0;i--) // escanear todos os pedidos e posições...
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
se (OrderMagicNumber() != MagicNumber) continuar;
if ( OrderSymbol()==Symbol() )
{
se (OrderOpenTime() > Time[0]) op++;
if (OrderOpenTime() > Time[0]) op++;
}
}
retorno(op);
}
Compilado, 0 erros, 1 aviso
Oi megamix,
Não leio o fio desde o início, no entanto ...
1. Use o botão SRC ao postar o código
2. O retorno de OrderSelect() ou é verdadeiro ou falso, portanto esta é a forma correta de escrever OrderSelect(),
:D
Oi megamix,
Não leio o fio desde o início, no entanto ...
1. Use o botão SRC ao postar o código
2. O retorno de OrderSelect() ou é verdadeiro ou falso, portanto esta é a forma correta de escrever OrderSelect(),
:D
Obrigado pela dica sobre o código de lançamento. Faz sentido. Quanto ao ponto nº 2, vou adiar para sn enquanto ele me acompanha nas etapas e não quero atrapalhar seu processo. Muito apreciado!
Obrigado pela dica sobre o código de lançamento. Faz sentido. Quanto ao ponto nº 2, vou adiar para sn enquanto ele me acompanha nas etapas e não quero atrapalhar seu processo. Muito apreciado!
por enquanto, vamos manter isto simples. onewewithzacky está correto, que verificar os códigos de retorno é um bom hábito.
se (OrderOpenTime() > Time[0]) op++; <<=== isto só precisa estar lá uma vez. Portanto, tire um.
A próxima coisa a fazer é encontrar este código e duplicá-lo logo abaixo.
Depois mude
(TradesInThisSymbol > 0)
para
(OpenTradesOnThisCandle() > MaxTradesPerCandle)
Em seguida, compilar - o erro deve ir embora.
Por enquanto, vamos manter isto simples. onewewithzacky está correto, que a verificação dos códigos de retorno é um bom hábito.
se (OrderOpenTime() > Time[0]) op++; <<=== isto só precisa estar lá uma vez. Portanto, tire um para fora.
A próxima coisa a fazer é encontrar este código e duplicá-lo logo abaixo.
Então mude
(TradesInThisSymbol > 0)
para
(OpenTradesOnThisCandle() > MaxTradesPerCandle)
Em seguida, compilar - o erro deve ir embora.
Feito.
Eliminado duplicado se (OrderOpenTime() > Time[0]) op++;
e encontrou e mudou
(TradesInThisSymbol > 0)
para
(OpenTradesOnThisCandle() > MaxTradesPerCandle)
Muito obrigado por sua ajuda neste sentido.