Aide au codage - page 91

 
k3rn3l:
mladen..pouvez-vous corriger l'erreur ?

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

//| MTF_RSI.mq4 |

//| Copyright © 2006, Keris2112 |

//| |

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

#property copyright "Copyright © 2006, Keris2112"

#property link "https://www.forex-tsd.com"

//----

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Red

#property indicator_color2 DodgerBlue

#property indicator_color3 White

#property indicator_level1 30

#property indicator_level2 70

#property indicator_minimum 0

#property indicator_maximum 100

//----

extern int TimeFrame=5;

extern int RSIperiod=33;

extern int applied_price=0;

extern int TimeFrame1=15;

extern int RSIperiod1=21;

extern int applied_price1=0;

extern int TimeFrame2=15;

extern int RSIperiod2=14;

extern int applied_price2=0;

//----

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double ExtMapBuffer3[];

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicator line

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(2,ExtMapBuffer3);

SetIndexStyle(2,DRAW_LINE);

//---- name for DataWindow and indicator subwindow label

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("MTF_RSI("+RSIperiod+") ("+TimeFrameStr+")");

}

//----

return(0);

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

//| MTF RSI |

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

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit=Bars-counted_bars;

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

//----

ExtMapBuffer1=iRSI(NULL,TimeFrame,RSIperiod,applied_price,y);

}

datetime TimeArray1[];

int ii,limiti,yi=0,counted_bars1=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray1,MODE_TIME,Symbol(),TimeFrame1);

limiti=Bars-counted_bars1;

for(ii=0,yi=0;ii<limiti;ii++)

{

if (Time<TimeArray1[yi]) yi++;

//----

ExtMapBuffer2=iRSI(NULL,TimeFrame1,RSIperiod1,applied_price1,yi);

}

datetime TimeArray2[];

int iii,limitii,yii=0,counted_bars2=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray2,MODE_TIME,Symbol(),TimeFrame2);

limitii=Bars-counted_bars2;

for(iii=0,yii=0;iii<limitii;iii++)

{

if (Time<TimeArray2[yii]) yii++;

//----

ExtMapBuffer3=iRSI(NULL,TimeFrame2,RSIperiod2,applied_price2,yii);

}

//----

return(0);

}

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

Essayez celui ci-joint

Dossiers :
 

Salut Mladen,

s'il vous plaît, pouvez-vous ajouter "velo6" à l'indicateur ci-joint ?

J'ai besoin d'une entrée pour la couleur et l'image "vrai-faux" ....see par exemple.

TOUJOURS MERCI......

Dossiers :
euro.gif  32 kb
 

1) pendant la tendance, les bandes de bollinger s'élargissent.....puis la tendance s'arrête et il y a une fourchette de négociation. pendant la fourchette de négociation, les bandes de bollinger se contractent et dans cette situation, il est très bon d'utiliser le stoc oversold-overbought.

voici ma formule métastoch...

LARGEUR:=

((Mov(C,71,S)+(2*(Std(C,71))))-

(Mov(C,71,S)-(2*(Std(C,71))))) ;

MEDIA:=Mov(LARGEUR,15,S) ;

ST:=Stoch(5,3) ;

TIME:=BarsSince(WIDTH=0 AND

BarsSince(WIDTH<MEDIA)<=5 ;

CONDBUY:=ST<=30 OR (Ref(ST<=30,-1) AND H<=Ref(H,-1)) ;

TEMPS ET CONDBUY

EXPLICATION :

1) j'utilise la bande de bollinger 71 et l'écart 2

2) sur la largeur de la bande de bollinger j'applique une moyenne mobile simple de 15

3) quand la largeur de la bande de bollinger est en dessous de la SMA et aussi pour 5 barres après cela ,cela signifie que le marché est entré dans une zone de trading....

4) quand il y a une fourchette de négociation, je vois que la stochastique est inférieure à 30.

Dossiers :
 
carbonmimetic:
Bonjour Mladen,

S'il vous plaît, pouvez-vous ajouter "velo6" à l'indicateur ci-joint ?

J'ai besoin de saisir la couleur et l'image "vrai-faux" ....see par exemple.

TOUJOURS MERCI......

carbonmimetic

Et voilà

Dossiers :
 

...comme je l'ai déjà dit...TOUJOURS MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Salut Mladen

Pour vous déranger s'il vous plaît mettre le code dans les indicateurs MT4 okay?

Je suis impatient de tester.

Merci

Kreangast

2013/5/25

 
Kreangast:
Bonjour Mladen

Pour vous déranger s'il vous plaît mettez le code dans les indicateurs MT4 okay?

Je suis impatient de tester.

Merci

Kreangast

2013/5/25

Désolé

Comme je n'utilise pas Amibroker, je ne peux pas convertir ce code à metatrader 4 et être sûr à 100% qu'il est correct (et je détesterais être responsable d'un indicateur mal codé).

 
mladen:
Désolé, comme je n'utilise pas Amibroker, je ne peux pas convertir ce code vers Metatrader 4 et être sûr à 100% qu'il est correct (et je ne voudrais pas être responsable d'un indicateur mal codé).

Bonjour Mladen

Désolé ! AMI Depuis le problème a été résolu.

Merci d'aider à remplacer MT4.

"-BarsSince(X)=BarsLate(X)"

_SECTION_BEGIN("pfoot") ;

TimeFrameSet(inDaily) ;

TR=Max(Max((High-Low),abs(Ref(Close,-1)-High)),abs(Ref(Close,-1)-Low)) ;

A= H-(TR*0.3) ;

A1=H-(TR*0,6) ;

A2=H-(TR*0,8) ;

A3=H-(TR*1.0) ;

//

B= L+(TR*0,3) ;

B1=L+(TR*0,6) ;

B2=L+(TR*0,8) ;

B3=L+(TR*1.0) ;

//

N=100 ;

H2=H==HHHV(H,N);//

L2=L==LLV(L,N);//

PPF=Ref(A,-BarsSince(H2));//-BarsSince=BarsLate

PPF1=Ref(A1,-BarsSine(H2));//

PPF2=Ref(A2,-BarsSine(H2));//

PPF3=Ref(A3,-BarsSine(H2));//

//

PPFF=Ref(B,-BarsSince(L2));//

PPFF1=Ref(B1,-BarSince(L2));//

PPFF2=Ref(B2,-BarsSince(L2));//

PPFF3=Ref(B3,-BarsSince(L2));//

TimeFrameRestore() ;

// Tracez les nuages et les lignes des niveaux de support //

Plot(TimeFrameExpand(PPF,inDaily ,expandLast), "R1", colorGreen, styleThick) ;

Plot(TimeFrameExpand(PPF1,inDaily ,expandLast), "R2", colorGreen,styleThick) ;

Plot(TimeFrameExpand(PPF2,inDaily ,expandLast), "R3", colorGreen,styleThick) ;

Plot(TimeFrameExpand(PPF3,inDaily ,expandLast), "R4", colorGreen,styleThick) ;

Plot(TimeFrameExpand(PPFF,inDaily ,expandLast), "S1", colorBlue, styleThick) ;

Plot(TimeFrameExpand(PPFF1,inDaily ,expandLast), "S2", colorBlue,styleThick) ;

Plot(TimeFrameExpand(PPFF2,inDaily ,expandLast), "S3", colorBlue,styleThick) ;

Plot(TimeFrameExpand(PPFF3,inDaily ,expandLast), "S4", colorBlue,styleThick) ;

_SECTION_END() ;

Merci à vous

Kreangast

 

Je formule ma question ici.

Quelle est la méthode pour réduire le nombre de barres qui montre un indicateur sur le graphique ?

Sans avoir à réduire le nombre de barres affichées dans le graphique Metatrader.

Il existe quelques lignes de code qui peuvent être appliquées à un grand nombre d'indicateurs ?

Merci pour votre attention.

 
Antonsan:
Je formule ma question ici.

Quelle est la méthode pour réduire le nombre de barres qui montre un indicateur sur le graphique ?

Sans avoir à réduire le nombre de barres affichées dans le graphique Metatrader.

Il y a quelques lignes de code qui peuvent être appliquées à un grand nombre d'indicateurs ?

Je vous remercie de votre attention.

Antonsan

Veuillez lire ce post : https://www.mql5.com/en/forum/180284/page31. Je vais répéter l'essentiel - vous devez changer la limite des barres dans le code. Il n'y a pas d'autre moyen.