[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 806
![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
MERCI pour votre attention, drknn.
extern int MagicNumber = 227 ; //Numéro individuel //.
extern double Lots = 1 ; //lot minimal ///.
extern int Profit = 5000 ; // Prise de profit //
extern inttern Loss = 10000 ; //Stop Loss //.
extern int Delta = 500 ;
extern int int Raznica = 700 ; //Stop Loss ;
//--------------------------------------------------------------------------------//
extern string Indicator2 = "Bands" ; //
extern int int BandsPeriod = 20 ; // //période //
external inttern Bands_shift = 0 ; //offset //
extern double Deviations = 2.0 ; // //
//--------------------------------------------------------------------------------//
extern int Slip = 5 ; //Slip ///////////////
int tick,tick2,go ; // //
//--------------------------------------------------------------------------------//
int start() //
{ /////////////////////////////////
//---------------------------------------------------------------------------------------------------------------//
// Indicateur de bandes //
//---------------------------------------------------------------------------------------------------------------//
double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//calculer l'indicateur de ligne supérieure///
double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0) ; //calcul de l'indicateur de ligne médiane///
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0);//calcul de l'indicateur de ligne inférieure///
//---------------------------------------------------------------------------------------------------------------//
double slb, tpb, sls, tps ;
double go=(verhB-nizB) ;
Alerte ("verhB",DoubleToStr(verhB,Chiffres)) ;
Alerte ("nizB ",DoubleToStr(nizB,Chiffres)) ;
slb=NormalizeDouble(Ask - (Loss*Point),Digits) ;
tpb=NormalizeDouble(Ask + (Profit*Point),Digits) ;
sls=NormalizeDouble(Bid + (Loss*Point),Digits) ;
tps=NormalizeDouble(Bid - (Profit*Point),Digits) ;
si(OrdersTotal()==0)
{
si(go<=Delta/10000)
Alert("Delta ", DoubleToStr(go,Digits)," arrive ! !!") ;
tick =OrderSend(Symbole(),4,Lots,NormalizeDouble(Ask+Raznica*Point,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE) ; //entrer par/
if(tick<0) Print("Erreur # - ",GetLastError()) ;
tick=OrderSend(Symbol(),5,Lots,NormalizeDouble(Bid-Raznica*Point,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE) ; //L'entrée est fixée //.
if(tick<0) Print("Erreur # - ",GetLastError()) ;
}
return(0);}
Aidez-moi à réparer ! !!! Je fais n'importe quoi depuis une semaine ! !! Le point est que, à une certaine distance entre la limite supérieure et inférieure de la Bollinger deux pendentifs ont été mis sur l'achat d'arrêt et de vente d'arrêt. Je ne peux pas définir la différence parce écrit que la limite supérieure et inférieure de la Bollinger prix est le même ..... Veuillez m'aider ......
Vous n'avez probablement pas de lot normalisé, normalisez-le avec :
Vous ne pouvez pas arrondir un lot à des chiffres ! !!
ne regardez pas les commentaires des fonctions à tort
prêter attention à
double verhB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_UPPER,0);//calculer l'indicateur de ligne supérieure///
double seredina=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,0,0) ; //calcul de l'indicateur de ligne médiane///
double nizB=iBands(NULL,0,BandsPeriod,Bands_shift,Deviations,PRICE_CLOSE,MODE_LOWER,0);//calculer l'indicateur de ligne de fond //
les échanger
Je suis hors sujet ! comment obtenir Point = 0.00001 (5 chiffres) pour alpari par des moyens standards ? ???
Bon après-midi
Qui regarderait le code de l'indicateur - il n'écoute pas du tout les paramètres.
Je ne suis pas bon en code
//---- paramètres de l'indicateur
#propriété indicator_separate_window
#property indicator_buffers 1
#propriété indicator_color1 Argent
//---- paramètres de l'indicateur
extern int FastEMA=12 ;
externe interne SlowEMA=26 ;
extern inttern SignalSMA=9 ;
//---- tampons indicateurs
double ind_buffer1[] ;
double ind_buffer2[] ;
double ind_buffer3[] ;
double ind_buffer4[] ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//---- 2 tampons supplémentaires sont utilisés pour le comptage.
IndicatorBuffers(4) ;
//---- paramètres de dessin
SetIndexStyle(0,DRAW_LINE) ;
SetIndexDrawBegin(0,SignalSMA) ;
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2) ;
//---- cartographie de 3 tampons indicateurs
si(!SetIndexBuffer(0,ind_buffer1) &&
!SetIndexBuffer(1,ind_buffer2) &&
!SetIndexBuffer(3,ind_buffer4) &&
!SetIndexBuffer(2,ind_buffer3))
Print("cannot set indicator buffers !") ;
//---- nom pour la DataWindow et l'étiquette de la sous-fenêtre de l'indicateur
IndicatorShortName() ;
//---- initialisation faite
retour(0) ;
}
//+------------------------------------------------------------------+
//| Moyenne mobile de l'oscillateur |
//+------------------------------------------------------------------+
int start()
{
int limite ;
int counted_bars=IndicatorCounted() ;
//---- vérifier les erreurs éventuelles
si(counted_bars<0) return(-1) ;
//---- 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++)
ind_buffer2[i]=iOBV(NULL, 0, PRICE_CLOSE, i) ;
//---- ligne de signal comptée dans le 2ème tampon supplémentaire
for(i=0 ; i<limit ; i++) {
ind_buffer3[i]=iMAOnArray(ind_buffer2,Bars,10,0,MODE_SMA,i) ;
ind_buffer4[i]=iMAOnArray(ind_buffer2,Bars,3,0,MODE_SMA,i) ;
}
//---- boucle principale
pour(i=0 ; i<limite ; i++)
ind_buffer1[i]=ind_buffer2[i]-ind_buffer3[i];
//---- fait
retour(0) ;
}
//+------------------------------------------------------------------+
xtern int FastEMA=12 ;
extern int SlowEMA=26 ;
extern int SignalSMA=9 ; Ces paramètres. Les changements dans la boîte ne mènent à rien. La ligne de l'indicateur ne change pas.
L'auteur a tué ma demande