VIJAY JADAV MACD Flat Trend Indicator), isso é possível? Se for possível, o que devo alterar no código .mq5? Se me disser, farei isso, OBRIGADO, SENHOR
//--- Расчёт индикатора for(int i=limit; i>=0 && !IsStopped(); i--) { BufferNL[i]=BufferDN[i]=BufferUP[i]=EMPTY_VALUE; if(BufferMACD[i]>0 && BufferSignal[i]<BufferMACD[i]) { BufferUP[i]=0.5; BufferNL[i]=BufferDN[i]=EMPTY_VALUE; Alert("Buy ", _Symbol); } else { if(BufferMACD[i]<0 && BufferSignal[i]>BufferMACD[i]) { BufferDN[i]=0.5; BufferNL[i]=BufferUP[i]=EMPTY_VALUE; Alert("Sell ", _Symbol); } else { BufferNL[i]=0.5; BufferDN[i]=BufferUP[i]=EMPTY_VALUE; } } }
Ryan L Johnson #:
Obrigado, senhor, você fez isso para mim, mas há um pequeno problema
A modificação que você fez mantém o áudio sendo reproduzido continuamente,
Quero um alerta tal que, quando a linha verde começar, eu receba um alerta apenas em sua primeira vela, e não receba um alerta nas velas depois disso.
O alerta deve ser recebido somente quando a linha principal e a linha de sinal se cruzarem; caso contrário, o alerta não deve ser recebido,
Não deve haver alertas a partir do segundo candle da linha verde,
OBRIGADO SENHOR
VIJAY JADAV #:
Obrigado, senhor, você fez isso para mim, mas há um pequeno problema
A modificação que você fez mantém a reprodução contínua do áudio,
Quero um alerta tal que, quando a linha verde começar, eu receba um alerta apenas em sua primeira vela, e não receba um alerta nas velas posteriores
O alerta deve ser recebido somente quando a linha principal e a linha de sinal se cruzarem; caso contrário, o alerta não deve ser recebido,
Não deve haver alertas a partir do segundo candle da linha verde,
OBRIGADO SENHOR
//--- Расчёт индикатора int lastAlert = 0; // 0 é plano, 1 é compra, 2 é venda for(int i=limit; i>=0 && !IsStopped(); i--) { BufferNL[i]=BufferDN[i]=BufferUP[i]=EMPTY_VALUE; if(BufferMACD[i]>0 && BufferSignal[i]<BufferMACD[i]) { BufferUP[i]=0.5; BufferNL[i]=BufferDN[i]=EMPTY_VALUE; if(lastAlert != 1) { Alert("Buy ", _Symbol); lastAlert = 1; } } else { if(BufferMACD[i]<0 && BufferSignal[i]>BufferMACD[i]) { BufferDN[i]=0.5; BufferNL[i]=BufferUP[i]=EMPTY_VALUE; if(lastAlert != 2) { Alert("Sell ", _Symbol); lastAlert = 2; } } else { BufferNL[i]=0.5; BufferDN[i]=BufferUP[i]=EMPTY_VALUE; lastAlert = 0; } } }
Adicionei uma variável para limitar o alerta a um alerta por crossover.
Se você ainda estiver recebendo alertas intrabarras, o código abaixo limita adicionalmente os alertas por tempo de abertura da barra. Os valores históricos do buffer não podem ser usados porque têm valores vazios. Esteja ciente de que não compilei nem testei esse código, mas tenho certeza de que você o fará e postará novamente.
// coloque essas duas linhas no topo do escopo das variáveis globais datetime lastOpenTime; ulong uLastOpenTime; ////////////////////////////////////////////////// // coloque essas duas linhas na função OnInit() lastOpenTime = 0; uLastOpenTime = ulong(lastOpenTime); ////////////////////////////////////////////////// //--- Расчёт индикатора int lastAlert = 0; // 0 é plano, 1 é compra, 2 é venda for(int i=limit; i>=0 && !IsStopped(); i--) { BufferNL[i]=BufferDN[i]=BufferUP[i]=EMPTY_VALUE; if(BufferMACD[i]>0 && BufferSignal[i]<BufferMACD[i]) { BufferUP[i]=0.5; BufferNL[i]=BufferDN[i]=EMPTY_VALUE; if(lastAlert != 1 && uLastOpenTime < ulong(iTime(_Symbol, PERIOD_CURRENT, 1)) { Alert("Buy ", _Symbol); lastAlert = 1; uLastOpenTime = ulong(iTime(_Symbol, PERIOD_CURRENT, 1); } } else { if(BufferMACD[i]<0 && BufferSignal[i]>BufferMACD[i]) { BufferDN[i]=0.5; BufferNL[i]=BufferUP[i]=EMPTY_VALUE; if(lastAlert != 2 && uLastOpenTime < ulong(iTime(_Symbol, PERIOD_CURRENT, 1)) { Alert("Sell ", _Symbol); lastAlert = 2; lastOpenTime = ulong(iTime(_Symbol, PERIOD_CURRENT, 1); } } else { BufferNL[i]=0.5; BufferDN[i]=BufferUP[i]=EMPTY_VALUE; lastAlert = 0; } } }
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
MACD_Flat_Trend:
Indicador MACD Flat Trend (tendência lateral)
Autor: Scriptor