Indicateurs multitemporels - page 898

 
rplust:
Bonjour, quelqu'un a-t-il une idée de comment ajuster l'URL d'un signet pour qu'il ouvre toujours la dernière page du forum.

N'affiche-t-il pas déjà automatiquement les fils les plus récents (fils avec les messages les plus récents) lorsque vous arrivez sur TSD ?

 

M. Mladen, ou Mrtools, pourrait-on avoir des alertes sur cet indicateur ? Sur le zero cross et le changement de couleur ?

Merci

Jozy

 

Bonjour, Mr tools et mladen

pourriez-vous s'il vous plaît faire ceci à MTF et alerter le passage à zéro ?

Je vous remercie

Dossiers :
i-g-cci2.mq4  4 kb
 
Jozy:
M. Mladen, ou Mrtools, pourrait-on avoir des alertes sur cet indicateur ? Sur le zero cross et le changement de couleur ?

Merci

Jozy

Bonjour Jozy, je pense que vous avez oublié de poster l'indicateur.

 
mladen:
N'est-il pas déjà possible d'afficher automatiquement les fils les plus récents (fils avec les messages les plus récents) lorsque l'on arrive sur TSD ?

Désolé. Je suppose que je ne me suis pas exprimé clairement. Je ne vais pas sur la page forex-tsd.com parce que j'ai sauvegardé quelques signets de fils de discussion qui m'intéressent comme celui-ci "multiple-timeframe-indicators" et je voulais demander si quelqu'un savait comment ajuster l'URL de ce signet de sorte que lorsque je clique dessus, il ouvre automatiquement la dernière page de ce fil de discussion au lieu de la page au moment où j'ai sauvegardé le signet.

C'est plutôt par accident que ça a fonctionné une fois comme ça, mais ensuite j'ai eu un nouvel ordinateur et maintenant je ne me souviens plus. Je me disais que quelqu'un pourrait peut-être connaître la solution. Si ce n'est pas le cas, pas de problème, je ne veux pas perturber davantage ce fil de discussion. Je ne savais pas où poster ma question.

 

Chers membres seniors

est-il possible d'avoir cet indicateur de bandes de bollinger ajustable à 2 et 3 déviations ? il est actuellement réglé à 1 déviation et j'ai essayé de changer les paramètres mais il cesse alors d'afficher des alertes de flèches.

Je vous remercie

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

//| Bands.mq4 |

//| |

//| |

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

#property indicator_chart_window

#property indicator_buffers 5

#property indicateur_color1 LightSeaGreen

#property indicator_color2 LightSeaGreen

#property indicator_color3 LightSeaGreen

#property indicator_color4 LimeGreen

#property indicator_color5 Orange

//

//

//

//

//

extern string TimeFrame = "cadre temporel actuel" ;

extern int BandsLength = 4 ;

extern double BandsDeviation = 1.0 ;

extern int AppliedPrice = 0 ;

extern int BandsMaMode = 0 ;

extern string note = "turn on Alert = true ; turn off = false" ;

extern bool alertsOn = true ;

extern bool alertsOnCurrent = true ;

extern bool alertsMessage = true ;

extern bool alertsSound = true ;

extern bool alertsNotify = false ;

extern bool alertsEmail = false ;

extern string soundFile = "alert2.wav" ;

extern int arrowthickness = 1 ;

//

//

//

//

//

double Ma[] ;

double UpMa[] ;

double DnMa[] ;

double CrossUp[] ;

double CrossDn[] ;

double trend[] ;

//

//

//

//

//

string indicatorFileName ;

bool calculateValue ;

bool returnBars ;

int timeFrame ;

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

//| |

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

//

//

//

//

//

int init()

{

IndicatorBuffers(6) ;

IndicateurDigits(Chiffres) ;

SetIndexBuffer(0,Ma) ;

SetIndexBuffer(1,UpMa) ;

SetIndexBuffer(2,DnMa) ;

SetIndexBuffer(3,CrossUp) ; SetIndexStyle(3,DRAW_ARROW,0,arrowthickness) ; SetIndexArrow(3,233) ;

SetIndexBuffer(4,CrossDn ) ; SetIndexStyle(4,DRAW_ARROW,0,arrowthickness) ; SetIndexArrow(4,234) ;

SetIndexBuffer(5,trend) ;

//

//

//

//

//

indicatorFileName = WindowExpertName() ;

returnBars = TimeFrame== "returnBars" ; if (returnBars) return(0) ;

calculateValue = TimeFrame== "calculateValue" ; if (calculateValue) return(0) ;

timeFrame = stringToTimeFrame(TimeFrame) ;

IndicatorShortName(timeFrameToString(timeFrame)+" Flèches d'alerte des bandes de Bollinger ") ;

return(0) ;

}

//

//

//

//

//

int deinit() { return(0) ; }

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

//| |

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

//

//

//

//

//

int start()

{

int counted_bars=IndicatorCounted() ;

int i,limit ;

if(counted_bars<0) return(-1) ;

if(counted_bars>0) counted_bars-- ;

limit=MathMin(Bars-1,Bars-counted_bars-1) ;

if (returnBars) { Ma[0] = limit+1 ; return(0) ; }

//

//

//

//

//

si (calculateValue || timeFrame==Period())

{

for (i = limite ; i >= 0 ; i--)

{

double StdDev = iStdDev(NULL,0,BandsLength,0,BandsMaMode,AppliedPrice,i) ;

Ma = iMA(NULL,0,BandsLength,0,BandsMaMode,AppliedPrice,i) ;

UpMa = Ma + (StdDev*BandsDeviation) ;

DnMa = Ma - (StdDev*BandsDeviation) ;

tendance = 0 ;

si (Close>UpMa) trend = 1 ;

si (Close<DnMa) trend =-1 ;

//

//

//

//

//

CrossUp = EMPTY_VALUE ;

CrossDn = EMPTY_VALUE ;

si (trend!= trend)

si (trend == 1 && trend != 3) CrossDn = High + iATR(NULL,0,20,i)/2 ;

si (trend == -1 && trend !=-3) CrossUp = Low - iATR(NULL,0,20,i)/2 ;

}

manageAlerts() ;

return(0) ;

}

//

//

//

//

//

limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileName, "returnBars",0,0)*timeFrame/Period())) ;

for(i=limite ; i>=0 ; i--)

{

int y = iBarShift(NULL,timeFrame,Time) ;

Ma = iCustom(NULL,timeFrame,indicatorFileName, "calculateValue",BandsLength,BandsDeviation,AppliedPrice,BandsMaMode,0,y) ;

UpMa = iCustom(NULL,timeFrame,indicatorFileName, "calculateValue",BandsLength,BandsDeviation,AppliedPrice,BandsMaMode,1,y) ;

DnMa = iCustom(NULL,timeFrame,indicatorFileName, "calculateValue",BandsLength,BandsDeviation,AppliedPrice,BandsMaMode,2,y) ;

trend = iCustom(NULL,timeFrame,indicatorFileName, "calculateValue",BandsLength,BandsDeviation,AppliedPrice,BandsMaMode,5,y) ;

CrossUp = EMPTY_VALUE ;

CrossDn = EMPTY_VALUE ;

si (trend!= trend)

si (trend == 1 && trend != 1) CrossDn = High + iATR(NULL,0,20,i)/2 ;

si (trend == -1 && trend !=-1) CrossUp = Low - iATR(NULL,0,20,i)/2 ;

}

manageAlerts() ;

return(0) ;

}

//

//

//

//

//

void manageAlerts()

{

if (!calculateValue && alertsOn)

{

si (alertsOnCurrent)

int whichBar = 0 ;

sinon whichBar = 1 ; whichBar = iBarShift(NULL,0,iTime(NULL,timeFrame,whichBar)) ;

if (trend[whichBar] != trend[whichBar+1])

{

si (trend[whichBar+1] == 1 && trend[whichBar] != 1) doAlert(whichBar, "sell") ;

si (trend[whichBar+1] == -1 && trend[whichBar] !=-1) doAlert(whichBar, "buy") ;

}

}

}

//

//

//

//

//

void doAlert(int forBar, string doWhat)

{

static string previousAlert="rien" ;

static datetime previousTime ;

message de type chaîne de caractères ;

if (previousAlert != doWhat || previousTime != Time[forBar]) {

previousAlert = doWhat ;

previousTime = Time[forBar] ;

//

//

//

//

//

message = StringConcatenate(Symbol()," at ",TimeToString(TimeLocal(),TIME_SECONDS)," - ",timeFrameToString(Period())+" Bollinger Bands ",doWhat) ;

if (alertsMessage) Alert(message) ;

if (alertsNotify) SendNotification(message) ;

if (alertsEmail) SendMail(StringConcatenate(Symbol()," Bollinger Bands "),message) ;

if (alertsSound) PlaySound(soundFile) ;

}

}

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

//|

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

//

//

//

//

//

string sTfTable[] = {"M1", "M5", "M15", "M30", "H1", "H4", "D1", "W1", "MN"} ;

int iTfTable[] = {1,5,15,30,60,240,1440,10080,43200} ;

//

//

//

//

//

int stringToTimeFrame(string tfs)

{

tfs = StringUpperCase(tfs) ;

for (int i=ArraySize(iTfTable)-1 ; i>=0 ; i--)

if (tfs==sTfTable || tfs==""+iTfTable) return(MathMax(iTfTable,Period())) ;

return(Période()) ;

}

//

//

//

//

//

string timeFrameToString(int tf)

{

for (int i=ArraySize(iTfTable)-1 ; i>=0 ; i--)

if (tf==iTfTable) return(sTfTable) ;

return("") ;

}

//

//

//

//

//

string StringUpperCase(string str)

{

string s = str ;

for (int length=StringLen(str)-1 ; length>=0 ; length--)

{

int tchar = StringGetChar(s, length) ;

if((tchar > 96 && tchar 223 && tchar < 256))

s = StringSetChar(s, length, tchar - 32) ;

autre si(tchar > -33 && tchar < 0))

s = StringSetChar(s, length, tchar + 224) ;

}

return(s) ;

}

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

 
mrtools:
Bonjour Jozy, je pense que vous avez oublié de poster l'indicateur.

Je suis vraiment désolé ! Voici l'indicateur :

Dossiers :
 

mr tools ou mladen,

pourriez-vous s'il vous plaît faire cet indicateur à MTF ?

meilleures salutations,

marko

Dossiers :
 

Bonjour,

j'ai cet indicateur Fantail et ce serait génial si vous pouviez le rendre MTF ?

merci pour votre aide

Dossiers :
 
Jozy:
M. Mladen, ou Mrtools, pourrions-nous avoir des alertes sur cet indicateur ? Sur le zero cross et le changement de couleur ?

Merci

Jozy

Jozy, j'ai ajouté des options pour des alertes sur le changement de couleur/pente et ou pour le passage à zéro.

Dossiers :
Raison: