Indicatore di segnali super - pagina 37

 
sennal999:
questo non si carica nella build 765.

Probabilmente è protetto

 

. Isso não está carregando na compilação 765 [/ QUOTE]

Si potrebbe mettere questo indicatore (supporto e resistenza) all'interno dell'EMA, come immagine?

Aprire comprare o vendere quando attraversa le linee di supporto o resistenza.

Aprire la vendita con la media mobile quando attraversa la linea delle bande di bollinger.

File:
 

supporto e resistenza

File:
 

questi sono gli indicatori

https://www.mql5.com/en/forum/general

 

Bande

//+------------------------------------------------------------------+

//| Bande.mq4 |

//| Copyright 2005-2014, MetaQuotes Software Corp. |

//| MQL4: trading automatico sul forex, tester di strategie e indicatori personalizzati con MetaTrader ||

//+------------------------------------------------------------------+

#proprietà copyright "2005-2014, MetaQuotes Software Corp."

#property link "http://www.mql4.com"

#property description "Bande di Bollinger"

#proprietà strict

#include

#proprietà indicator_chart_window

#proprietà indicator_buffers 3

#proprietà indicator_color1 LightSeaGreen

#proprietà indicatore_colore2VerdeLuce

#proprietà indicator_color3 LightSeaGreen

//--- parametri dell'indicatore

input int InpBandsPeriod=20; // periodo delle bande

input int InpBandsShift=0; // Bands Shift

input double InpBandsDeviations=2.0; // Bands Deviations

//--- buffer

double ExtMovingBuffer[]

double ExtUpperBuffer[]

double ExtLowerBuffer[]

double ExtStdDevBuffer[];

//+------------------------------------------------------------------+

//|Funzione di inizializzazione dell'indicatore personalizzata

//+------------------------------------------------------------------+

int OnInit(void)

{

//--- 1 buffer aggiuntivo usato per il conteggio.

IndicatorBuffers(4);

IndicatorDigits(Digits);

//--- linea centrale

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMovingBuffer);

SetIndexShift(0,InpBandsShift);

SetIndexLabel(0, "Bande SMA");

//--- banda superiore

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtUpperBuffer);

SetIndexShift(1,InpBandsShift);

SetIndexLabel(1, "Bande superiori");

//--- banda inferiore

SetIndexStyle(2,DRAW_LINE);

SetIndexBuffer(2,ExtLowerBuffer);

SetIndexShift(2,InpBandsShift);

SetIndexLabel(2, "Bande inferiori");

//--- buffer di lavoro

SetIndexBuffer(3,ExtStdDevBuffer);

//--- controlla il parametro di ingresso

if(InpBandsPeriod<=0)

{

Print("Parametro di ingresso errato Bands Period=",InpBandsPeriod);

return(INIT_FAILED);

}

//---

SetIndexDrawBegin(0,InpBandsPeriod+InpBandsShift);

SetIndexDrawBegin(1,InpBandsPeriod+InpBandsShift);

SetIndexDrawBegin(2,InpBandsPeriod+InpBandsShift);

//--- inizializzazione fatta

return(INIT_SUCCEED);

}

//+------------------------------------------------------------------+

//| Bande di Bollinger |

//+------------------------------------------------------------------+

int OnCalculate(const int rates_total,

const int prev_calculate,

const 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)

return(0);

//--- contando da 0 a rates_total

ArraySetAsSeries(ExtMovingBuffer,false);

ArraySetAsSeries(ExtUpperBuffer,false);

ArraySetAsSeries(ExtLowerBuffer,false);

ArraySetAsSeries(ExtStdDevBuffer,false);

ArraySetAsSeries(close,false);

//--- zero iniziale

se(prev_calcolato<1)

{

for(i=0; i<InpBandsPeriod; i++)

{

ExtMovingBuffer=EMPTY_VALUE;

ExtUpperBuffer=EMPTY_VALUE;

ExtLowerBuffer=EMPTY_VALUE;

}

}

//--- inizio del calcolo

if(prev_calculated>1)

pos=prev_calculato-1;

altrimenti

pos=0;

//--- ciclo principale

for(i=pos; i<rates_total && !IsStopped(); i++)

{

//--- linea centrale

ExtMovingBuffer=SimpleMA(i,InpBandsPeriod,close);

//--- calcolare e scrivere StdDev

ExtStdDevBuffer=StdDev_Func(i,close,ExtMovingBuffer,InpBandsPeriod);

//--- linea superiore

ExtUpperBuffer=ExtMovingBuffer+InpBandsDeviations*ExtStdDevBuffer;

//--- linea inferiore

ExtLowerBuffer=ExtMovingBuffer-InpBandsDeviations*ExtStdDevBuffer;

//---

}

//---- OnCalculate fatto. Ritorna il nuovo prev_calcolato.

return(rates_total);

}

//+------------------------------------------------------------------+

//| Calcola la deviazione standard

//+------------------------------------------------------------------+

double StdDev_Func(int position,const double &price[],const double &MAprice[],int period)

{

//--- variabili

double StdDev_dTmp=0.0;

//--- controlla la posizione

se(posizione>=periodo)

{

//--- calcola StdDev

for(int i=0; i<periodo; i++)

StdDev_dTmp+=MathPow(price[position-i]-MAprice[position],2);

StdDev_dTmp=MathSqrt(StdDev_dTmp/periodo);

}

//--- restituisce il valore calcolato

return(StdDev_dTmp);

}

//+------------------------------------------------------------------+

 

MovingAverages.mqh non è affidabile

 

Segnale del punto vero true_point_signal.mq4

File:
 

Rinominato indicatore super segnali (ridisegna lo stesso) symphonie_market_emotion_indikator.mq4

 
increase:
Ho usato questo per un po' di tempo e mi piace

Ciao MrTools/Mladen, potresti per favore aggiungere degli avvisi con le frecce sugli indicatori/segnali delle croci?

Grazie

 

Ciao,

Ecco un'altra versione degli indicatori - una fusione degli avvisi v3 e degli indicatori di canale. Gli avvisi possono anche inviare notifiche.

Forse lo trovi utile

Migliore, V.

File: