Indicador de Super Sinais - página 37

 
sennal999:
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.

Arquivos anexados:
 

apoio e resistência

Arquivos anexados:
 

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

 
Arquivos anexados:
 

Renomeado indicador de super sinais (pinta o mesmo) symphonie_market_emotion_indikator.mq4

Arquivos anexados:
 
increase:
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.

Arquivos anexados:
Razão: