[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 185
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
Si vous pouviez le faire en code, je me suis creusé les méninges :)
Quel pourrait être le problème ? L'indicateur a montré plusieurs morceaux pendant le test et l'EA a bouclé ce qui pourrait être le problème avec l'indicateur ?
Dans quelle variable la valeur de l'OsMA est-elle stockée ?
//+------------------------------------------------------------------+
//| OsMA.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp.
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp.
#lien de propriété "http://www.metaquotes.net/"
//---- paramètres de l'indicateur
#propriété indicator_separate_window
#property indicator_buffers 1
#propriété indicator_color1 Argent
#property indicator_width1 2
//---- paramètres de l'indicateur
extern int FastEMA=12 ;
externe interne SlowEMA=26 ;
extern inttern SignalSMA=9 ;
//---- tampons indicateurs
double OsmaBuffer[] ;
double MacdBuffer[]; ;
double SignalBuffer[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//---- 2 tampons supplémentaires sont utilisés pour le comptage.
IndicatorBuffers(3) ;
//---- paramètres de dessin
SetIndexStyle(0,DRAW_HISTOGRAM) ;
SetIndexDrawBegin(0,SignalSMA) ;
IndicateurDigits(Digits+2) ;
//---- cartographie de 3 tampons indicateurs
SetIndexBuffer(0,OsmaBuffer) ;
SetIndexBuffer(1,MacdBuffer) ;
SetIndexBuffer(2,SignalBuffer) ;
//---- nom pour la DataWindow et l'étiquette de la sous-fenêtre de l'indicateur
IndicatorShortName("OsMA("+FastEMA+", "+SlowEMA+", "+SignalSMA+")") ;
//---- initialisation faite
retour(0) ;
}
//+------------------------------------------------------------------+
//| Moyenne mobile de l'oscillateur |
//+------------------------------------------------------------------+
int start()
{
int limite ;
int counted_bars=IndicatorCounted() ;
//---- dernière barre comptée sera recomptée
si(counted_bars>0) counted_bars-- ;
limit=Bars-counted_bars ;
//---- macd compté dans le 1er tampon supplémentaire
for(int i=0 ; i<limit ; i++)
MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i) ;
//---- ligne de signal comptée dans le 2ème tampon supplémentaire
pour(i=0 ; i<limite ; i++)
SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i) ;
//---- boucle principale
pour(i=0 ; i<limite ; i++)
OsmaBuffer[i]=MacdBuffer[i]-SignalBuffer[i] ;
//---- fait
retour(0) ;
}
//+------------------------------------------------------------------+
Cette variante fera
Merci beaucoup ! Bien que je n'aie pas eu affaire à des fonctions, je dois maintenant trouver comment l'appeler, lui transmettre les valeurs des variables et récupérer les valeurs. Si je comprends bien le mécanisme.
Dans quelle variable la valeur de l'OsMA est-elle stockée ?
n'est-il pas dans le tampon ?
>> mais n'est-il pas dans le tampon ?
>> Quel tampon ?
Laquelle ?
OsmaBuffer[]
>> lequel ?
дабавте перед
Alert("Значения MacdBuffer[i]="MacdBuffer[i]);
Alert("Значения SignalBuffer[i]="SignalBuffer[i]);
Alert("Значения OSMA ="OsmaBuffer[i]);
return(0);
}
il suffit de normaliser les valeurs
Bonjour.
Pourquoi le stop ne transfère-t-il pas pour les positions d'achat ? Pour les positions de vente, tout fonctionne.
if(OrdersTotal()>0)
{
if(Bid==buy||Bid==busell)
{
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) ;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(), 0, Blue) ;
}
return(0) ;
}
Quel pourrait être le problème ? L'indicateur a montré plusieurs morceaux pendant le test, et l'EA a bouclé ce qui pourrait être le problème de l'indicateur ?
Paramètres incorrectement définis (en nombre ou en type) dans l'EA.
Vous pouvez également supprimer tous les paramètres de type chaîne de l'indicateur.