easy trading

Les utilisateurs travaillent en harmonie et privilégient la discussion aussi courtoise que possible pour régler les oppositions, aussi, prenez le temps de vous y habituer.

Easy trading fournit à ses internautes des idées de trade ainsi que des analyses, mais ne pourra être tenu responsable en cas de perte. Le FOREX est un marché rendu volatil par l'effet de levier qui vous est proposé. Un risque de pertes financières importantes est toujours présent.
easy trading

Site dédié aux amateurs désireux de progresser dans le monde de la bourse, en tentant de gagner d'avantage à travers les clés fournies par l'Analyse Technique et l'Analyse comportementale des acteurs du marché.

--------------------------------------


Sondage

le cac le 1 aout 2010 ?

 
 
 
 
 

Voir les résultats


Coppock indicator - Courte UT.mq4

Partagez
avatar
Springfellow-Hawk

Messages : 539
Date d'inscription : 08/11/2009
Age : 44
Localisation : South beach california

Coppock indicator - Courte UT.mq4

Message  Springfellow-Hawk le 16/3/2010, 2:01 am

//+------------------------------------------------------------------+
//| Coppock .mq4 |
//| Copyright ©️ 2007, Robert Hill |
//+------------------------------------------------------------------+
#property copyright "Copyright ©️ 2007, Robert Hill"
//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- indicator parameters
extern string strROC="ROC Period for lookback";
extern int RPeriod1=14;
extern string strType1="Moving Average Types" ;
extern string str10="0 = SMA, 1 = EMA";
extern string str11="2 = SMMA, 3 = LWMA";
extern int RMAMode1=0;
extern string sep0="----------------------------------";
extern int RPeriod2=5;
extern string strType2="Moving Average Types" ;
extern string str20="0 = SMA, 1 = EMA";
extern string str21="2 = SMMA, 3 = LWMA";
extern int RMAMode2=0;
extern string sep1="----------------------------------";
extern string strMA="MA input parameters";
extern int MAPeriod=5;
extern string strType="Moving Average Types" ;
extern string strm0="0 = SMA, 1 = EMA";
extern string strm1="2 = SMMA, 3 = LWMA";
extern int MAType=0;
extern string sep2="----------------------------------";
extern bool UsePercent=false;
//---- indicator buffers
double Coppock[];
double RateOfChange1[];
double RateOfChange2[];
double RateOfChange3[];
//---- variables
int MAMode;
string strMAType;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- drawing settings
IndicatorBuffers(4);
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexDrawBegin(0,MAPeriod);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1);
//---- indicator buffers mapping
SetIndexBuffer(0,Coppock);
SetIndexBuffer(1,RateOfChange1);
SetIndexBuffer(2,RateOfChange2);
SetIndexBuffer(3,RateOfChange3);
switch(MAType)
{
case 1: strMAType="EMA"; MAMode=MODE_EMA; break;
case 2: strMAType="SMMA"; MAMode=MODE_SMMA; break;
case 3: strMAType="LWMA"; MAMode=MODE_LWMA; break;
default: strMAType="SMA"; MAMode=MODE_SMA; break;
}
IndicatorShortName( "Coppock (" + RPeriod1 + "," + RPeriod2 + ") " + strMAType+ " (" +MAPeriod + ") ");
//---- name for DataWindow and indicator subwindow label
SetIndexLabel(0,"Coppock");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| Coppock |
//+------------------------------------------------------------------+
int start()
{
int limit, i;
double MA_Cur1, MA_Prev1;
double MA_Cur2, MA_Prev2;
double ROC1, ROC2;
int counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- ROC calculations
for( i=0; i {
MA_Cur1=iMA(NULL,0,RPeriod1,0,RMAMode1, PRICE_CLOSE,i);
MA_Prev1=iMA(NULL,0,RPeriod1,0,RMAMode1, PRICE_CLOSE,i+RPeriod1);
MA_Cur2=iMA(NULL,0,RPeriod2,0,RMAMode2, PRICE_CLOSE,i);
MA_Prev2=iMA(NULL,0,RPeriod2,0,RMAMode2, PRICE_CLOSE,i+RPeriod2);
ROC1=MA_Cur1-MA_Prev1;
ROC2=MA_Cur2-MA_Prev2;
if (UsePercent)
{
RateOfChange1[i]=NormalizeDouble(100 * ROC1/MA_Prev1, 3);
RateOfChange2[i]=NormalizeDouble(100 * ROC2/MA_Prev2, 3);
}
else
{
RateOfChange1[i]=NormalizeDouble(ROC1/Point,1);
RateOfChange2[i]=NormalizeDouble(ROC2/Point,1);
}
RateOfChange3[i]=RateOfChange1[i] + RateOfChange2[i];
}
for( i=0; i {
Coppock[i]=iMAOnArray(RateOfChange3,0,MAPeriod,0,MAMode,i);
}
//---- done
return(0);
}
//+------------------------------------------------------------------+

    La date/heure actuelle est 16/12/2018, 2:22 pm