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
Oi mladen, lamento dizer que acabei de testá-lo de novo e ainda não está funcionando.
Existe outra maneira de fechar meu negócio com base em um tempo específico?
Cumprimentos
RyanEu usei este código :
int init() { return(0); }
int deinit() { return(0); }
void start(void)
{
bool result;
if(OrdersTotal()>0)
{
if (TimeCurrent()>= StrToTime("07:00:00"))
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
double pBid=MarketInfo(OrderSymbol(),MODE_BID);
result = OrderClose(OrderTicket(),OrderLots(),pBid,3,Blue);
}
if (OrderType()==OP_SELL)
{
double pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
result = OrderClose(OrderTicket(),OrderLots(),pAsk,3,Red);
}
}
}
}
return;
}
Para testar, e fechou o pedido (veja o exemplo)
Eu usei este código :
int init() { return(0); }
int deinit() { return(0); }
void start(void)
{
bool result;
if(OrdersTotal()>0)
{
if (TimeCurrent()>= StrToTime("07:00:00"))
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
if (!UseCurrSymbol || OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
double pBid=MarketInfo(OrderSymbol(),MODE_BID);
result = OrderClose(OrderTicket(),OrderLots(),pBid,3,Blue);
}
if (OrderType()==OP_SELL)
{
double pAsk=MarketInfo(OrderSymbol(),MODE_ASK);
result = OrderClose(OrderTicket(),OrderLots(),pAsk,3,Red);
}
}
}
}
return;
}
Para testar, e fechou o pedido (veja o exemplo)
Oi mladen, obrigado. o problema foi resolvido na minha parte. apenas uma nota lateral, você pode me explicar qual é a finalidade deste pequeno revestimento em sua codificação?
bool externo UseCurrSymbol = falso; e
se (!UseCurrSymbol || OrderSymbol()==Symbol())
Cumprimentos
Ryan
Oi mladen, obrigado. o problema foi resolvido na minha parte. apenas uma nota lateral, você pode me explicar qual é a finalidade deste pequeno revestimento em sua codificação?
bool externo UseCurrSymbol = falso; e
se (!UseCurrSymbol || OrderSymbol()==Symbol())
Cumprimentos
RyanVocê usou a variável UseCurrSymbol e essa linha exata em seu código
Tive que fazer essa variável para que o código usasse as mesmas variáveis que seu código
Você usou a variável UseCurrSymbol e essa linha exata em seu códigoI teve que fazer essa variável para que o código usasse as mesmas variáveis que seu código
Oi mladen, desculpe-me por ter obtido aquela parte do código das fontes que você me forneceu antes.
o que eu quis dizer foi por que precisamos colocar um bool UseCurrSymbol para falso e qual é a finalidade do 2º liner para --> se (!UseCurrSymbol ||| OrderSymbol()==Symbol())
Oi mladen, desculpe-me porque recebi aquela parte do código das fontes que você me forneceu anteriormente. o que eu quis dizer foi por que precisamos colocar um bool UseCurrSymbol para falso e qual é o propósito do 2º liner para --> se (!UseCurrSymbol || OrderSymbol()==Symbol())
Não é necessário que seja falso
Se você definir isso como verdadeiro, então somente o símbolo atual será verificado para pedidos. Assim, permite que você escolha quais ordens você deseja processar
Olá, pessoal!
Eu tenho o seguinte problema.
Quero que um valor de um icustom indi, por exemplo, iCustom(NULL,0, "MACD",12,26,9,0,i) seja usado em uma subfunção como:
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
para obter o impulso do "iCustom(NULL,0, "MACD",12,26,9,0,i)"...
Quando eu o chamo de normal com a mãe(High,22,Bars,i)
isto está funcionando, mas quando eu uso o indi personalizado em vez do "Alto", é claro que não funciona.
Então minha pergunta é: como posso implementar isto para que o código funcione?
Obrigado por qualquer ajuda!
Adeus, AT
Olá, pessoal!
Eu tenho o seguinte problema.
Quero que um valor de um icustom indi, por exemplo, iCustom(NULL,0, "MACD",12,26,9,0,i) seja usado em uma subfunção como:
double Mom(const double& series[], int period, int totcount, int index)
{
if (totcount<1 || period<1) return (EMPTY_VALUE);
if (indextotcount-1) return (EMPTY_VALUE);
return (series-series);
}
para obter o impulso do "iCustom(NULL,0, "MACD",12,26,9,0,i)"...
Quando eu o chamo de normal com a mãe(High,22,Bars,i)
isto está funcionando, mas quando eu uso o indi personalizado em vez do "Alto", é claro que não funciona.
Então minha pergunta é: como posso implementar isto para que o código funcione?
Obrigado por qualquer ajuda!
Adeus, ATat120
Você tem um indicador chamado "macd" na pasta de indicadores (não me refiro ao macd embutido, mas algum macd personalizado)? Se sim, verifique se os parâmetros estão corretos.
Olá Mladen!
Obrigado pela rápida repetição!
Desculpe MACD foi um mau exemplo, pegue qualquer outro MACD personalizado ou algo parecido.
Eu verifiquei a saída via janela extra e testei o indi /output para definir as configurações corretas,
para ter certeza de que "iCustom(NULL,0, "myIndi",0,i)" tem parâmetros corretos. De cadáver ele é compilado, pasta direita, etc...
Eu sempre recebo o erro (quando uso uma variável) - por exemplo
double mom1 = iCustom(NULL,0, "myIndi",0,i); -> mom(mom1,Bars,20,i)
-> "mãe" - conversa de parâmetros não permitida ou quando a utilizo diretamente ->
mãe( iCustom(NULL,0, "myIndi",0,i),Barras,20,i)
Erro: iCustom - parâmetro passado como referência, variável esperada
Obrigado pela ajuda e informações!
Adeus, AT
Olá Mladen!
Obrigado pela rápida reapresentação!
Desculpe MACD foi um mau exemplo, pegue qualquer outro MACD personalizado ou algo parecido.
Eu verifiquei a saída via janela extra e testei o indi /output para definir as configurações corretas,
para ter certeza de que "iCustom(NULL,0, "myIndi",0,i)" tem parâmetros corretos. De cadáver ele é compilado, pasta direita, etc...
Eu sempre recebo o erro (quando uso uma variável) - por exemplo
double mom1 = iCustom(NULL,0, "myIndi",0,i);-> mom(mom1,Bars,20,i)
-> "mãe" - conversa de parâmetros não permitida ou quando a utilizo diretamente ->
mãe( iCustom(NULL,0, "myIndi",0,i),Barras,20,i)
Erro: iCustom - parâmetro passado como referência, variável esperada
Obrigado pela ajuda e informações!
Adeus, ATSe você usar a simples chamada iCustom() então o erro só pode acontecer nos parâmetros
Você não pode usar iCustom() como parâmetro para a função mom() (verifique o cabeçalho da função mom() e você verá quais parâmetros e que tipo de parâmetros a função mom() aceita). O resultado de iCustom() é definido como "duplo" - não pode tomar o ritmo de um array passado por referência. Verifique também esta linha : https://www.mql5.com/en/forum/173108 - talvez ajude
Olá Mladen!
Acho que a chamada do meu iCustom é correta, porque em teste e normal(exportar dados ou usar como indi)
funciona bem até o momento. Acho que o problema é que, como você mencionou, o valor é duplo/arranjo.
Quando eu agora uso um
mãe dupla1[];
mom1 = iCustom(NULL,0, "myIndi",0,i);
e que uma -> mãe(mom1,Bars,20,i);
-> "mom" - conversa de parâmetro não permitida
Como posso escrever isto corretamente?
Muito obrigado e adeus, AT