[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 536

 
Si vous supprimez tous les fichiers portant l'extension *.ex4 dans le dossier Indicateurs
- Puis-je alors compiler tous les fichiers *.mq4 disponibles en une seule fois ?
(c'est-à-dire pas chacun séparément, mais tous ensemble)
Merci !
 
chief2000:
Si vous supprimez tous les fichiers portant l'extension *.ex4 dans le dossier Indicateurs
- Puis-je alors compiler tous les fichiers *.mq4 disponibles en une seule fois ?
(c'est-à-dire pas chacun séparément, mais tous ensemble)
Merci !

Fermez le terminal, puis ouvrez-le et ils se compileront tous d'eux-mêmes.
 
fore-x:
Fermez le terminal, puis ouvrez-le et il se compilera tout seul.

C'est ce sur quoi je comptais, mais seulement quelques indicateurs compilés et rien d'autre.

 

Bonjour, comment rédiger un conseiller standard pour une autre période de temps. Par exemple, mettez cet indicateur sur le graphique 1 heure qui montrera l'indicateur 4 heures.

пытался //+------------------------------------------------------------------+
//| at 4 o'clock.mq4 |
//| Copyright © 2012, MetaQuotes Software Corp.
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#lien de propriété "https://www.metaquotes.net/"

#property indicator_chart_window
#property indicator_buffers 3
#propriété indicator_color1 LightSeaGreen
#propriété indicator_color2 LightSeaGreen
#propriété indicator_color3 LightSeaGreen
//---- paramètres de l'indicateur
extern int BandsPeriod=20 ;
externe interne BandsShift=0 ;
extern double BandsDeviations=2.0 ;
//---- tampons
double MovingBuffer[] ;
double UpperBuffer[] ;
double LowerBuffer[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//---- indicateurs
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,MovingBuffer) ;
SetIndexStyle(1,DRAW_LINE) ;
SetIndexBuffer(1,UpperBuffer) ;
SetIndexStyle(2,DRAW_LINE) ;
SetIndexBuffer(2,LowerBuffer) ;
//----
SetIndexDrawBegin(0,BandsPeriod+BandsShift) ;
SetIndexDrawBegin(1,BandsPeriod+BandsShift) ;
SetIndexDrawBegin(2,BandsPeriod+BandsShift) ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Bandes de Bollinger |
//+------------------------------------------------------------------+
int start()
{
int i,k,counted_bars=IndicatorCounted() ;
double déviation ;
double sum, oldval, newres ;
int B=iBars( NULL,PERIOD_H4) ;
double C=iClose(NULL,PERIOD_H4,0) ;
//----
si(B <=BandsPeriod) return(0) ;
//---- zéro initial
si(barres comptées<1)
for(i=1;i<=BandsPeriod;i++)
{
MovingBuffer[B-i]=EMPTY_VALUE ;
UpperBuffer[B-i]=EMPTY_VALUE ;
LowerBuffer[B-i]=EMPTY_VALUE ;
}
//----
int limit=B-counted_bars ;
si(barres comptées>0) limite++ ;
pour(i=0 ; i<limite ; i++)
MovingBuffer[i]=iMA(NULL,PERIOD_H4,BandsPeriod,BandsShift,MODE_SMA,PRICE_CLOSE,i) ;
//----
i=B-BandsPeriod+1 ;
if(counted_bars>BandsPeriod-1) i=B-counted_bars-1 ;
while(i>=0)
{
somme=0.0 ;
k=i+BandesPériode-1 ;
oldval=MovingBuffer[i] ;
alors que (k>=i)
{
newres=C[k]-oldval ;
somme+=nouvelles*nouvelles ;
k-- ;
}
écart=BandesDeviations*MathSqrt(sum/BandsPeriod) ;
UpperBuffer[i]=oldval+déviation ;
LowerBuffer[i]=oldval-deviation ;
i-- ;
}
//----
retour(0) ;
}
//+------------------------------------------------------------------+

n'a pas fonctionné

this side newres=C[k]-oldval;- '[' - jeton inattendu

L'indicateur des bandes de Bollinger.

 
J'ai essayé d'utiliser le tutoriel pour faire une opération en fonction de l'heure, tout semble correct, mais l'Expert Advisor n'est pas actif, par exemple, je dois exécuter la fonction à 12.00

extern double Time_Cls=12.00 ;

int start()
{
int Cur_Hour=Hour() ;
double Cur_Min =Minute() ;
double Cur_time=Cur_Hour + Cur_Min100 ;
si (Cur_time==Time_Cls)
/ma fonction
retour ;
}
 
audiomoroz:

J'essaie de faire une opération basée sur le temps à partir du tutoriel, et tout semble correct, mais le Conseiller Expert n'est pas actif, par exemple la fonction devrait être lancée à 12.00 ;


si (Cur_time==Time_Cls)
/ma fonction
retour ;
}
Parce que déclencher l'exécution d'un algorithme par un timer ou capter l'arrivée d'un tick avec une précision de l'ordre de la milliseconde sont des concepts différents.
 

Camarades,

Mon testeur de stratégie sur le même intervalle de temps (01.05.2011 - 27.01.2012), la paire de devises EURUSD, sur des barres horaires (H1), d'une société de courtage (Alpari) et le même conseiller expert, mais sur des ordinateurs différents (ordinateur portable, ordinateur de bureau) montre des résultats opposés ! Sur le PC - 2000 $, sur l'ordinateur portable +3000. Et là, et là testé pendant 2-3 fois.

Veuillez m'indiquer la cause et ce qu'il faut faire et / ou me donner un lien où lire ce sujet.

 
chief2000:

C'est ce que j'espérais, mais il ne compile que quelques indicateurs et rien d'autre.

Il est nécessaire de supprimer au préalable le fichier mqlcache.dat du dossier contenant les indicateurs.
 
Zhunko:
Vous devez au préalable supprimer le fichier mqlcache.dat du dossier contenant les indicateurs.

Votre solution a fonctionné !

Merci beaucoup !

 

J'ai une question -
Est-il possible de savoir, à partir du code de l'indicateur personnalisé, si la fenêtre dans laquelle il est exécuté est actuellement active ou non ?
Par exemple, le même indicateur fonctionne dans deux fenêtres - vous avez besoin qu'il fonctionne uniquement dans la fenêtre dont le graphique est actif et qu'il soit inactif dans la seconde fenêtre.

Merci !