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
isto não é carregamento no build 765.
Provavelmente está protegido
. Isso não está carregando na compilação 765 [/ QUOTE]
Pode-se colocar este indicador (suporte e resistência) dentro da EMA, como imagem?
Comprar ou vender em aberto, quando ele cruza as linhas de suporte ou resistência.
Venda aberta com média móvel ao cruzar as linhas de suporte ou resistência.
apoio e resistência
estes são os indicadores
https://www.mql5.com/en/forum/general
Bandas
//+------------------------------------------------------------------+
//| Bandas.mq4 |
//| Copyright 2005-2014, MetaQuotes Software Corp. |
//| MQL4: negociação forex automatizada, testador de estratégia e indicadores personalizados com MetaTrader |
//+------------------------------------------------------------------+
#property copyright "2005-2014, MetaQuotes Software Corp."
#link da propriedade "http://www.mql4.com"
#Descrição da propriedade "Bandas de Bollinger".
#propriedade rigorosa
#incluir
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 3
#indicador de propriedade_color1 LightSeaGreen
#indicador de propriedade_color2 LightSeaGreen
#Indicador de propriedade_color3 LightSeaGreen
//--- parâmetros indicadores
input int InpBandsPeriod=20; // Período de Bandas
input int InpBandsShift=0; // Mudança de banda
inputBandDeviations=2.0; // Desvios de Bandas de Entrada Dupla
//--- amortecedores
duplo ExtMovingBuffer[];
Duplo ExtUpperBuffer[];
duplo ExtLowerBuffer[];
duplo ExtStdDevBuffer[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int OnInit(nulo)
{
//--- 1 amortecedor adicional utilizado para a contagem.
IndicatorBuffers(4);
IndicatorDigits(Dígitos);
//--- linha do meio
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMovingBuffer);
SetIndexShift(0,InpBandsShift);
SetIndexLabel(0, "Bandas SMA");
//--- banda superior
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtUpperBuffer);
SetIndexShift(1,InpBandsShift);
SetIndexLabel(1, "Bands Upper");
//--- banda inferior
SetIndexStyle(2,DRAW_LINE);
SetIndexBuffer(2,ExtLowerBuffer);
SetIndexShift(2,InpBandsShift);
SetIndexLabel(2, "Bandas mais baixas");
//--- buffer de trabalho
SetIndexBuffer(3,ExtStdDevBuffer);
//--- verificar o parâmetro de entrada
if(InpBandsPeriodoPeriodo<=0)
{
Print("Wrong input parameter Bands Period=",InpBandsPeriod);
return(INIT_FAILED);
}
//---
SetIndexDrawBegin(0,InpBandsPeriod+InpBandsShift);
SetIndexDrawBegin(1,InpBandsPeriod+InpBandsShift);
SetIndexDrawBegin(2,InpBandsPeriod+InpBandsShift);
//--- inicialização feita
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Bandas de Bollinger |
//+------------------------------------------------------------------+
int OnCalculate(const int taxas_total,
const int prev_calculado,
constant datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int i,pos;
//---
if(rates_total<==InpBandsPeriod || InpBandsPeriod<=0)
retorno(0);
//--- contando de 0 a taxas_total
ArraySetAsSeries(ExtMovingBuffer,false);
ArraySetAsSeries(ExtUpperBuffer,false);
ArraySetAsSeries(ExtLowerBuffer,false);
ArraySetAsSeries(ExtStdDevBuffer,false);
ArraySetAsSeries(close,false);
//--- zero inicial
if(prev_calculated<1)
{
for(i=0; i<InpBandsPeriod; i++)
{
ExtMovingBuffer=EMPTY_VALUE;
ExtUpperBuffer=EMPTY_VALUE;
ExtLowerBuffer=EMPTY_VALUE;
}
}
//--- iniciar o cálculo
if(prev_calculated>1)
pos=prev_calculated-1;
senão
pos=0;
//--- ciclo principal
for(i=pos; i<rates_total && !IsStopped(); i++)
{
//--- linha do meio
ExtMovingBuffer=SimpleMA(i,InpBandsPeriod,close);
//--- calcular e anotar StdDev
ExtStdDevBuffer=StdDev_Func(i,close,ExtMovingBuffer,InpBandsPeriod);
//--- linha superior
ExtUpperBuffer=ExtMovingBuffer+InpBandsDeviations*ExtStdDevBuffer;
//--- linha inferior
ExtLowerBuffer=ExtMovingBuffer-InpBandDeviations*ExtStdDevBuffer;
//---
}
//---- OnCalculate done. Retornar novo pré_calculado.
return(rates_total);
}
//+------------------------------------------------------------------+
//| Calcular Desvio Padrão |
//+------------------------------------------------------------------+
duplo StdDev_Func(posição int,const duplo & preço[],const duplo & preçoMA[],período int)
{
//--- variáveis
duplo StdDev_dTmp=0,0;
//--- verificar a posição
if(posição>=período)
{
//--- calcualte StdDev
para(int i=0; i<período; i++)
StdDev_dTmp+=MathPow(price[position-i]-MAprice[position],2);
StdDev_dTmp=MathSqrt(StdDev_dTmp/período);
}
//--- retorno valor calculado
return(StdDev_dTmp);
}
//+------------------------------------------------------------------+
MovingAverages.mqh não é de confiança
Sinal_sinal_de_ponto_verdadeiro.mq4
Renomeado indicador de super sinais (pinta o mesmo) symphonie_market_emotion_indikator.mq4
Eu tenho usado este há algum tempo e gosto dele
Olá MrTools/Mladen, você poderia por favor adicionar alertas com setas na linha do indicador/sinal de cruz?
Obrigado
Hi,
Aqui está outra versão dos indicadores - uma fusão dos alertas v3 e indicadores de canal. Os alertas também podem enviar notificações.
Talvez você o considere útil
Melhor, V.