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
Mntiwana, no Bar to Use se você colocar zero estará recebendo sinais na barra ainda aberta (perigoso para um EA, IMHO) se maior que zero o EA estará recebendo sinais das barras fechadas de volta da barra aberta, então se você tiver BarToUse = 2, então seu EA estará verificando 2 barras de volta.
oi mladen....please me ajude....ı foi postado, mas ı acho que você não pode ver...ok...ı tem um indicador de obtenção ...ı precisa da versão histo.muito obrigado
oi mladen....please me ajude....ı foi postado, mas ı acho que você não pode ver...ok...ı tem um indicador de obtenção ...ı precisa da versão histo.muito obrigado
aress
Você tem o código fonte original (não descompilado) do indicador? Em caso afirmativo, favor postar o arquivo mq4 original para que ele possa ser trabalhado em
_________________
PS: você também pode verificar isto https://www.mql5.com/en/forum/174961/page4 Até onde eu vejo que é isso
Pessoal do HI,
Por favor, dê uma olhada em meu código.
Este indicador chama outro indicador com a função icustom.
O problema que estou tendo é que, às vezes, mesmo quando as condições para os sinais não são cumpridas,
este indicador ainda produz falsos alertas sonoros e estes falsos alertas não exibem setas.
Eu não sei onde está o problema. Eu tentei (com meu conhecimento limitado), mas sem sucesso.
Como fazer para que o falso alerta pare? Como garantir que o alerta sonoro só venha se houver uma flecha?
Por favor, ajude-me.
Obrigado.
int start()
{
int counted_bars=IndicatorCounted();
//----
if(counted_bars>0) counted_bars--;
int limit=barras_contadas_combars;
int j;
for(int i=limite; i>=0; i--)
{
arr_up = EMPTY_VALUE; arr_dn = EMPTY_VALUE;
j=i;
duplo var1 = 0;
duplo var2 = 0;
para (j = i; j <= i + 9; j++) var2 += MathAbs(Alto[j] - Baixo[j]);
var1 = var2 / 10,0;
double sellprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,sinal,preço,0,i);
double buyprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,sinal,preço,1,i);
data estática hora LastAlert;
datatime curbar = Tempo[0];
se (buyprevious !=EMPTY_VALUE )
{
arr_up=iLow(Symbol(),0,i) - (var1/2);
DrawLine("EntryLine11",iHigh(Símbolo(),0,i+1),EntryLineColor);
if ("LastAlert != curbar && !upalert){
Alerta (Símbolo()," ",Período(), "COMPRAR");
upalert=verdadeiro;
downalert=false;
LastAlert =curbar;
}
}
caso contrário, se (anterior !=EMPTY_VALUE )
{
arr_dn=iHigh(Symbol(),0,i) + (var1/2);
DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);
if ("LastAlert != curbar && !downalert){
Alerta (Símbolo()," ",Período(), "VENDA");
downalert=verdadeiro;
upalert=false;
LastAlert = barra;
}
}
}
HI caras,
Por favor, dê uma olhada em meu código.
Este indicador chama outro indicador com a função icustom.
O problema que estou tendo é que, às vezes, mesmo quando as condições para os sinais não são cumpridas,
este indicador ainda produz falsos alertas sonoros e estes falsos alertas não exibem setas.
Eu não sei onde está o problema. Eu tentei (com meu conhecimento limitado), mas sem sucesso.
Como fazer para que o falso alerta pare? Como garantir que o alerta sonoro só venha se houver uma flecha?
Por favor, ajude-me.
Obrigado.
int start()
{
int counted_bars=IndicatorCounted();
//----
if(counted_bars>0) counted_bars--;
int limit=barras_contadas_combars;
int j;
for(int i=limite; i>=0; i--)
{
arr_up = EMPTY_VALUE; arr_dn = EMPTY_VALUE;
j=i;
duplo var1 = 0;
duplo var2 = 0;
para (j = i; j <= i + 9; j++) var2 += MathAbs(Alto[j] - Baixo[j]);
var1 = var2 / 10,0;
double sellprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,sinal,preço,0,i);
double buyprevious = iCustom(NULL,0, "MA-Repaint", FastEMA,SlowEMA,SlowEMA,sinal,preço,1,i);
data estática hora LastAlert;
datatime curbar = Tempo[0];
se (buyprevious !=EMPTY_VALUE )
{
arr_up=iLow(Symbol(),0,i) - (var1/2);
DrawLine("EntryLine11",iHigh(Símbolo(),0,i+1),EntryLineColor);
if ("LastAlert != curbar && !upalert){
Alerta (Símbolo()," ",Período(), "COMPRAR");
upalert=verdadeiro;
downalert=false;
LastAlert =curbar;
}
}
caso contrário, se (anterior !=EMPTY_VALUE )
{
arr_dn=iHigh(Symbol(),0,i) + (var1/2);
DrawLine("EntryLine11",iLow(Symbol(),0,i+1),EntryLineColor);
if ("LastAlert != curbar && !downalert){
Alerta (Símbolo()," ",Período(), "VENDA");
downalert=verdadeiro;
upalert=false;
LastAlert = barra;
}
}
}
luffy
Você também pode colocar o indicador chamado, para que ele possa ser testado?
Mntiwana, no Bar to Use se você colocar zero estará recebendo sinais na barra ainda aberta (perigoso para um EA, IMHO) se maior que zero o EA estará recebendo sinais das barras fechadas de volta da barra aberta, então se você tiver BarToUse = 2, então seu EA estará verificando 2 barras de volta.
Caríssimos MLADEN e MRTOOLS,
obrigado pelas gentis ajudas,desculpe por tomar muito do seu tempo,pedindo tanto .......so no caso deste EA,o que é melhor e mais adequado,qual barra deve ser adicionada.......i quer quando a linha MA lenta cruzada completamente pela linha MA rápida (de qualquer maneira) ....... na segunda próxima barra,a negociação deve ser executada,podemos codificar assim que depois de cruzar,quantas barras mais tarde a negociação pode ser executada,por exemplo depois de cruzar na primeira barra,depois de cruzar na segunda ou terceira barra ? fotos são anexadas para melhor explicar a pergunta,obrigado
cumprimentos
Aqui estão os indicadores.
Obrigado.
Mntiwana, no Bar to Use se você colocar zero estará recebendo sinais na barra ainda aberta (perigoso para um EA, IMHO) se maior que zero o EA estará recebendo sinais das barras fechadas de volta da barra aberta, então se você tiver BarToUse = 2, então seu EA estará verificando 2 barras de volta.
Caro MRTOOLS,
você quis dizer .... bar para usar = 2 ...... 2 bar depois de atravessar...não 2 N bar , quando você escreve Bars BACK, eu confuso, minha culpa....please me corrija . obrigado.
cumprimentos
Caro MRTOOLS,
você quis dizer .... bar para usar = 2 ...... 2 bar depois de atravessar...não 2 N bar , quando você escreve Bars BACK, eu confuso, minha culpa....please me corrija . obrigado.
cumprimentosmntiwana
Não, mas quando as barras a serem usadas == 2, então a travessia será verificada a 2 barras da barra atual - não será verificada a travessia na barra atual. Portanto, com um atraso de 2 barras
mntiwana Não, mas quando as barras a serem usadas == 2, então a travessia será verificada a 2 barras da barra atual - não verificará a travessia na barra atual. Portanto, com um atraso de 2 barras
Caríssimos MLADEN,
obrigado chefe, então, neste caso, o código pode ser assim ? por favor, me corrija,
cumprimentos
===================================================================
código original "simples MA cross EA".
//
#define _doNada 0
#define _doBuy 1
#define _doSell 2
int start()
{
int do What = _doNada;
diffc duplo = iMA(NULL,0,Ma1Periodo,0,Ma1Método,Ma1Preço,BarToUse) -iMA(NULL,0,Ma2Periodo,0,Ma2Método,Ma2Preço,BarToUse);
difp duplo = iMA(NULL,0,Ma1Período,0,Ma1Método,Ma1Preço,BarToUse+1)-iMA(NULL,0,Ma2Período,0,Ma2Método,Ma2Preço,BarToUse+1);
se ((difc*diffp)<0)
se (difc>0)
do What = _doBuy;
else do What = _doSell;
se (doWhat===_doNada) retorna(0);
//
================================================
alterado desta forma
#define _doNada 0
#define _doBuy 1
#define _doSell 2
int start()
{
int do What = _doNada;
diffc duplo = iCustom(NULL,0, "Hull parabolic 2.1",PERÍODO_CURRENTE,PeriodoMa1,Ma1Preço,2,0,0,0,BarToUse)
-iCustom(NULL,0, "Hull parabolic 2.1",PERÍODO_CURRENTE,Ma2Periodo,Ma2Preço,2,0,0,0,BarToUse);
difp duplo = iCustom(NULL,0, "Parabólico de casco 2.1",PERÍODO_CURSO,PeriodoMa1,Ma1Preço,2,0 ,0,BarToUse==2)
-iCustom(NULL,0, "Hull parabolic 2.1",PERÍODO_CURRENTE,Ma2Periodo,Ma2Preço,2,0 ,0,BarToUse===2);
se ((diffc*diffp)<0)
se (difc>0)
do What = _doBuy;
else do What = _doSell;
se (doWhat===_doNada) retorna(0);
//
=====================================