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
mladen
primeiro espero que você não esteja mais bravo comigo...
segundo eu tenho um erro ao tentar carregar o Eadasssi
Tente renomear a EA (devido à letra francesa no nome que pode estar lhe causando um problema - nenhum outro problema pode ser a causa disso, uma vez que é uma EA muito simples)
obrigado, funciona agora/
não parece bom para o testador de estratégia
graças funciona agora/não parece bom no testador de estratégia
É apenas um exemplo de como um indicador deve ser chamado de uma ea quando se trata de sinais. Longe de ser um EA completo (dê uma olhada nos novos EAs na seção elite e avançada e compare o código - você vai ver o que quero dizer). Portanto, foi apenas uma ajuda ao After-rage para resolver seu problema de codificação
Obrigado!! Funciona bem para entrar em posições. Não sei por que minha EA não funcionou, mas não importa. Por isso tento adicionar código para fechar pedidos, mas não funciona também. Estranho porque eu peguei como código de estrutura para entrar em posições e eu apenas dupliquei o volume do lote. Você pode dar uma olhada?
Obrigado!! Funciona bem para entrar em posições. Não sei por que minha EA não funcionou, mas não importa. Por isso tento adicionar código para fechar pedidos, mas não funciona também. Estranho porque eu peguei como código de estrutura para entrar em posições e eu apenas dupliquei o volume do lote. Você pode dar uma olhada?
Pós-raiva
Uma maneira de fazer isso (fechar uma ordem aberta quando o sinal muda) está no código agora
Muito obrigado! Funciona muito bem. Vou trabalhar nisto e ver por que estava errado.
Alguém sabe se é possível mudar um indicador de tempo de execução via código? por exemplo, eu gostaria de ter uma CCI em que o período fosse igual ao ATR para que, quando o ATR mudar o período da CCI também mude... como no init do indicador em cada nova barra... o problema é que eu não sei como reiniciar o indicativo via código... eu tentei chamar o init() quando a nova barra está aberta e o período muda corretamente, mas o indicador não atualiza... o último valor da barra está correto, mas eu quero que todo o indicativo repinte as novas configurações... espero ter sido claro... Obrigado
Alguém sabe se é possível mudar um indicador de tempo de execução via código? por exemplo, eu gostaria de ter uma CCI em que o período fosse igual ao ATR para que, quando o ATR mudar o período da CCI também mude... como no init do indicador em cada nova barra... o problema é que eu não sei como reiniciar o indicativo via código... eu tentei chamar o init() quando a nova barra está aberta e o período muda corretamente, mas o indicador não atualiza... o último valor da barra está correto, mas eu quero que todo o indicativo repinte as novas configurações... espero ter sido claro... Obrigado
Se você quiser repintar todos os valores indianos, basta definir a contagem do loop principal no início para Bars-1 e calcular os valores com novas configurações
do que o mlden para sua resposta rápida...
por favor, dê uma olhada neste exemplo:
extern int IndicatorPeriod = 10;
extern int AtrPeriod= 10;
extern bool DynamicPeriod = TRUE;
int init()
{
if (DynamicPeriod)
{
double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);
IndicatorPeriod = atr;
}
}
int start()
{
datetime lastBarOpenTime;
datetime thisBarOpenTime = Time[0];
if (DynamicPeriod)
{
if(thisBarOpenTime != lastBarOpenTime)
{
lastBarOpenTime = thisBarOpenTime;
init();
}
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
// is this what you are talking about?
int limit=MathMin(Bars-counted_bars,Bars-1);
for(i=limit; i>=0; i--) //MAIN LOOP
{
wherever calculation
}
}
do que o mlden para sua resposta rápida...
por favor, dê uma olhada neste exemplo:
extern int IndicatorPeriod = 10;
extern int AtrPeriod= 10;
extern bool DynamicPeriod = TRUE;
int init()
{
if (DynamicPeriod)
{
double atr = NormalizeDouble(100*iATR(0,0,AtrPeriod,0),0);
IndicatorPeriod = atr;
}
}
int start()
{
datetime lastBarOpenTime;
datetime thisBarOpenTime = Time[0];
if (DynamicPeriod)
{
if(thisBarOpenTime != lastBarOpenTime)
{
lastBarOpenTime = thisBarOpenTime;
init();
}
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
// is this what you are talking about?
int limit=MathMin(Bars-counted_bars,Bars-1);
for(i=limit; i>=0; i--) //MAIN LOOP
{
wherever calculation
}
}
AtApi
Se você quiser salvar valores para o buffer (um valor por hora exata para aquela barra) então sim, esta é a maneira correta. Mas se você quiser que todas as barras sejam "repintadas", então configure o linit para ser sempre igual a Barras-1