[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 130
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
Mas há outro código na EA:
coloque por exemplo Print("close by CloseMarket", j); nesta função e algo semelhante na anterior você postou . execute-a e olhe através dos logs para ver qual destas impressões parece analisar qual delas aciona. depois, de forma semelhante, registre os valores das variáveis verificadas nas condições de execução close e encontre as razões para seu acionamento...
E o que o impede de colocar a EA na janela exata onde você quer desenhar?
Meu EA funciona melhor na M1, porque é melhor na M1 e abre 1 comércio na abertura de barras M5, também reabastece se as condições permitirem. Também utilizo indicadores no M5 e em outras TFs. E é melhor testar no M1 na abertura do bar, enquanto em outros TFs com todos os carrapatos ele testa mal.
Eu não desenho, apenas vejo os resultados dos cálculos feitos pela EA e exibidos em alguns itens para ter certeza de que tudo está bem. Obrigado por sua atenção e ajuda!
Meu EA funciona melhor na M1, pois arrasta melhor na M1 e abre 1 comércio na abertura de barras M5, também recarrega se as condições permitirem. E utilizo indicadores no M5 e em outras TFs. E é melhor testar no M1 na abertura do bar, enquanto em outros TFs com todos os carrapatos ele testa mal.
Eu não desenho, apenas vejo os resultados dos cálculos feitos pela EA e exibidos em alguns itens para ter certeza de que tudo está bem. Obrigado por sua atenção e ajuda!
Tanto na M1 como na M5 os carrapatos são retirados da mesma fonte, e você pode usar qualquer período de tempo de qualquer gráfico, basta substituir Close[] por iClose, etc. Para testá-lo melhor, é preciso fazer melhores fxt-files a partir de carrapatos, aqui está um exemplo, mas em geral no google, há muitas informações sobre este assunto.
A prática tem mostrado, que é melhor abrir em Op e testar também melhor, do que em carrapatos. Não estou nada interessado em carrapatos. Quando o depoimento permite, posso mudar para uma TF mais alta, que mostrará melhores resultados em um dia. Não deixo acordos para que a noite durma bem. Mais uma vez, obrigado!
Imprimir("Close by CloseMarket", j); nesta função e algo semelhante na anterior que você postou. Execute-o e procure no log os resultados destas impressoras para analisar qual delas aciona. Em seguida, de forma semelhante, registre os valores das variáveis verificadas nas condições de fechamento e encontre as razões para seu acionamento...
A prática tem mostrado que é melhor abrir em Orep e testar melhor, também, do que em carrapatos. E eu não gosto nada de carrapatos. Quando o depoimento permite, posso mudar para um TF superior, que mostrará melhores resultados dentro de um dia. Não deixo acordos para que a noite durma bem. Mais uma vez, obrigado!
Caro Sr. Programador! Não consigo traçar uma linha horizontal pelo valor numérico máximo da janela indicadora MACD.
Código
#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 3
#indicador de propriedade_color1 Lime
#indicador de propriedade_color2 Vermelho
//--- amortecedores
duplo ExtMapBuffer1[];
duplo ExtMapBuffer2[];
double topBuffer[];
bool initFinished=false; // adicionar uma variável que lembrará o estado de inicialização.
// falso - a inicialização ainda não aconteceu.
// verdadeiro - foi inicializada
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_NONE);
SetIndexBuffer(2,topBuffer);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted(),
limite;
if(counted_bars>0)
barrinhas_contadas..;
limite=barras_contadas_combarras;
//----
for(int i=0;i<limit;i++)
{
ExtMapBuffer1[i]=iMACD(0,0,12,26,9,PRICE_CLOSE,MODE_MAIN,i);
ExtMapBuffer2[i]=iMACD(0,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,i);
if(initFinished==false)
{
IndicatorShortName("MACD_max-min");
int win_idx=WindowFind("MACD_max-min");
// encontrar o número de nossa subjanela de indicadores
if(win_idx<0)
{
// se o número da subjanela for -1, há um erro
Imprimir("Janela não encontrada");
retorno(0);
}
double top=WindowPriceMax(win_idx);
//f encontrar o valor máximo da escala vertical da subjanela especificada do gráfico atual
ObjectCreate("max",OBJ_HLINE,win_idx,0,top);
// desenhar uma linha horizontal em uma subjanela de nosso indicador
ObjectSet("max",OBJPROP_COLOR,Yellow);
ObjectSet("max",OBJPROP_WIDTH,0);
WindowRedraw();
// redesenhar a janela para ver a linha
initFinished=verdadeiro;
// o desenho está terminado
}
topBuffer[i]=top;
}
//----
retorno(0);
}
//+------------------------------------------------------------------+
Parece que na linha
double top=WindowPriceMax(win_idx);
variável superior não recebe qualquer valor e no
ObjectCreate("max",OBJ_HLINE,win_idx,0,top);
em vez disso (ou seja, em vez da variável superior) eu recebo automaticamente 0 (zero). Assim, recebo uma linha zero na janela necessária e na cor desejada. topBuffer[] também está vazio. Se nesta linha, em vez da parte superior variável, colocar um valor numérico, a linha leva este valor fixo, em algum lugar eu tenho um erro clínico, ajude a entender!
IndicatorShortName deve ser movido para init()