Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Vous pouvez l'ajouter pour dessiner ces lignes supplémentaires une fois de plus - comme ceci :
Merci encore à mladen
Besoin d'aide pour programmer un Alert
Bonjour, je suis nouveau dans la programmation de mql4.
Je veux créer une nouvelle alarme "tout en un".
J'ai le Fx MNT, le Super Signal et le CHT Value Chart avec des signaux d'alarme.
Maintenant je veux avoir une seule alarme, quand MNT, Super Signal, Value Chart et RSI sont au bon endroit.
Comment coder cela ? Puis-je utiliser les parties d'alarme de l'existant et les mettre toutes dans un grand code ?
Sincères salutations Slow
Bonjour, je suis nouveau dans la programmation de mql4.
Je veux créer une nouvelle alarme "tout en un".
Je dispose de Fx MNT, Super Signal et CHT Value Chart avec des signaux d'alarme.
Maintenant je veux avoir une seule alarme, quand MNT, Super Signal, Value Chart et RSI sont au bon endroit.
Comment coder cela ? Puis-je utiliser les parties d'alarme de l'existant et les mettre dans un seul code ?
Sincères salutations SlowSlow
Vous pouvez le faire, mais le code qui serait "responsable" de récupérer les données de tous ces indicateurs ne serait pas simple (en particulier la partie avec les paramètres où vous auriez besoin de déclarer des paramètres externes à tous les indicateurs qui seraient appelés afin de savoir si l'alerte doit être déclenchée ou non).
clôtures consécutives supérieures/inférieures
Le fichier joint comporte un certain nombre de conditions qui peuvent être incluses en sélectionnant vrai/faux.
J'aimerais incorporer une autre condition en tant que vrai/faux : y a-t-il
2 clôtures consécutives plus élevées pour les longs ?
Si c'est le cas, alors si les autres conditions activées par true sont présentes, alors une flèche vers le haut sera produite.
2 clôtures inférieures consécutives pour les shorts ?
Si oui, alors si les autres conditions activées par true sont présentes, alors une flèche vers le bas est produite.
Le nombre de fermetures pourrait-il être une variable ?
Quelqu'un pourrait-il coder cette condition supplémentaire dans l'indicateur Stoch_Indy ? Merci.
Le fichier joint contient un certain nombre de conditions qui peuvent être incluses en sélectionnant vrai/faux.
Je voudrais incorporer une autre condition comme vrai/faux : y a-t-il
2 clôtures consécutives plus élevées pour les longs ?
Si c'est le cas, si les autres conditions activées par true sont présentes, alors une flèche vers le haut est produite.
2 clôtures inférieures consécutives pour les shorts ?
Si oui, alors si les autres conditions activées par true sont présentes, alors une flèche vers le bas est produite.
Le nombre de fermetures pourrait-il être une variable ?
Quelqu'un pourrait-il coder cette condition supplémentaire dans l'indicateur Stoch_Indy ? Merci.
person77
Essayez celui-ci
Option UseConsecutiveCloseBars ajoutée à cet effet. Ce n'est pas seulement une fermeture qui est testée, mais une fermeture doit être supérieure à l'ouverture sur ces barres afin d'en faire une hausse consécutive, ou elle doit être inférieure à l'ouverture sur ces barres afin d'en faire une baisse consécutive.
personne77
Essayez celui-ci
Option UseConsecutiveCloseBars ajoutée à cet effet. Ce n'est pas seulement une clôture qui est testée, mais une clôture doit être supérieure à l'ouverture sur ces barres afin d'en faire une hausse consécutive, ou elle doit être inférieure à l'ouverture sur ces barres afin d'en faire une baisse consécutive.Très beau mladen - fonctionne très bien. Je vous remercie !
Dans les quelques cas que j'ai rencontrés, le fait que C = O soit autorisé est en général favorable.
Pourriez-vous le modifier pour permettre cela, ou, mieux encore, avoir une option permettant de savoir si C = O est autorisé ou non ?
Très belle mladen - fonctionne très bien. Je vous remercie !
Dans les quelques cas que j'ai rencontrés, le fait que C = O soit autorisé est en général favorable.
Pourriez-vous le modifier pour permettre cela, ou, mieux encore, avoir une option permettant de savoir si C = O est autorisé ou non ?personne77
Une option supplémentaire a été ajoutée : AllowCloseEqualOpen. Vous pouvez donc le contrôler avec cette option maintenant.
Bonjour à tous,
J'ai une question sur le codage
Est-il possible de dessiner une moyenne mobile sur un graphique général avec ces préférences ?
nCountedBars = IndicatorCounted() ;
dFactor = 2*3.14159/180.0 ;
mFactor = 10000.0 ;
Salut les gars,
J'ai une question sur le codage
Est-il possible de dessiner une moyenne mobile sur un graphique général avec ces préférences ?
nCountedBars = IndicatorCounted() ;
dFactor = 2*3.14159/180.0 ;
mFactor = 10000.0 ;Ce que vous avez écrit (le dFactor et le mFactor) est évalué à une valeur constante indépendamment du prix et du numéro de barre, donc vous aurez une ligne horizontale sur le graphique.
Ce que vous avez écrit (le dFactor et le mFactor) est évalué à une valeur constante indépendamment du prix et du numéro de la barre, donc vous auriez une ligne horizontale sur le graphique.
Merci pour la réponse !
Mais comment puis-je obtenir une ligne d'angle de la MA sur le graphique général comme dans ce code indi hystogramme ?
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 FireBrick
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
//---- indicator parameters
extern int TimeFrame = 60;
extern int MAMode = 0;
extern int MAPeriod = 50;
extern int Price = 4;
extern double AngleTreshold = 0.25;
extern int StartMAShift = 2;
extern int EndMAShift = 0;
extern int MaxBars = 500;
string TF1;
//---- indicator buffers
double UpBuffer[];
double DownBuffer[];
double ZeroBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- 2 additional buffers are used for counting.
IndicatorBuffers(3);
//---- drawing settings
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_HISTOGRAM);
SetIndexStyle(2,DRAW_HISTOGRAM);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2 );
//---- 3 indicator buffers mapping
if(!SetIndexBuffer(0,UpBuffer) &&
!SetIndexBuffer(1,DownBuffer) &&
!SetIndexBuffer(2,ZeroBuffer))
Print("cannot set indicator buffers!");
SetIndexLabel(0,"");
SetIndexLabel(1,"");
SetIndexLabel(2,"");
switch(TimeFrame)
{
case 1: TF1="M1"; break;
case 5: TF1="M5"; break;
case 15: TF1="M15"; break;
case 30: TF1="M30"; break;
case 60: TF1="H1"; break;
case 240: TF1="H4"; break;
case 1440: TF1="D1"; break;
case 10080: TF1="W1"; break;
case 43200: TF1="MN1"; break;
default: {TimeFrame = Period(); init(); return(0);}
}
IndicatorShortName("MAAngle MTF * "+TF1+" *");
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
//| The angle for EMA |
//+------------------------------------------------------------------+
int start()
{
double fEndMA, fStartMA;
double fAngle, mFactor, dFactor;
int nLimit, i;
int nCountedBars;
double angle;
int ShiftDif;
string Sym;
if (MAMode >= 4) MAMode = 0;
if(EndMAShift >= StartMAShift)
{
Print("Error: EndMAShift >= StartMAShift");
StartMAShift = 6;
EndMAShift = 0;
}
nCountedBars = IndicatorCounted();
dFactor = 2*3.14159/180.0;
mFactor = 10000.0;
Sym = StringSubstr(Symbol(),3,3);
if (Sym == "JPY") mFactor = 100.0;
ShiftDif = StartMAShift-EndMAShift;
mFactor /= ShiftDif;
//---- check for possible errors
if(nCountedBars<0) return(-1);
//---- last counted bar will be recounted
if(nCountedBars>0) nCountedBars--;
nLimit=Bars-nCountedBars;
nLimit=MathMax(nLimit,TimeFrame/Period());
nLimit=MathMin(nLimit,MaxBars );
//---- main loop
for(i=0; i<nLimit; i++)
{
int y = iBarShift(NULL,TimeFrame,Time);
if (TimeFrame<Period()) TimeFrame=Period();
fEndMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+EndMAShift);
fStartMA=iMA(NULL,TimeFrame,MAPeriod,0,MAMode,Price,y+StartMAShift);
// 10000.0 : Multiply by 10000 so that the fAngle is not too small
// for the indicator Window.
fAngle = mFactor * (fEndMA - fStartMA)/2.0;
//fAngle = MathArctan(fAngle)/dFactor;
DownBuffer = 0.0;
UpBuffer = 0.0;
ZeroBuffer = 0.0;
if(fAngle > AngleTreshold)
UpBuffer = fAngle;
else if (fAngle < -AngleTreshold)
DownBuffer = fAngle;
else ZeroBuffer = fAngle;
}
return(0);
}
//+------------------------------------------------------------------+