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
Un "robot" est une créature dans laquelle son créateur met tout ce qu'il (le créateur) veut et sait faire. Si vous pensez que tous les autres membres de ce forum savent de quoi est fait votre "robot", ce n'est pas tout à fait vrai.
#include <Trade/Trade.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/PositionInfo.mqh>
CTrade Trade ;
CSymbolInfo Sym ;
CPositionInfo Pos ;
//--- paramètres d'entrée
//input double Lots = 0.1 ; /*Lots*/ //position volume
input int Shift = 10 ; /*Shift*/ //l'ampleur du saut de prix pour ouvrir la position
input int Limit=100 ; /*Limit*/ /Taille de perte en points pour fermer la position
entrée int Prof=10 ;
input int MA_Period=50 ; // Période de la moyenne mobile
int maHandle ; // manche de l'indicateur de la moyenne mobile
double maVal[3] ; // tableau statique pour stocker les valeurs de l'indicateur de moyenne mobile
bool premier ;
double a,b,Lots ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+
int OnInit()
{
maHandle=iMA(NULL,0,MA_Period,2,MODE_SMA,PRICE_CLOSE) ;
si(maHandle<0)
{
Alert("Erreur dans la création des indicateurs - numéro d'erreur : ",GetLastError(), " !") ;
retour (-1) ;
}
first=false ;
if(!Sym.Name(_Symbol))
{
Alert("Erreur d'initialisation de CSymbolInfo, réessayez") ;
retour(-1) ;
}
Print("L'initialisation du conseiller expert a échoué") ;
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction de désinitialisation experte |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
IndicatorRelease(maHandle) ;
}
//+------------------------------------------------------------------+
//| Fonction tick expert |
//+------------------------------------------------------------------+
void OnTick()
{
si(CopyBuffer(maHandle,0,0,3,maVal)<0)
{
Alert("Erreur de copie du tampon de l'indicateur - numéro d'erreur :",GetLastError()) ;
retour ;
}
if(!Sym.RefreshRates())
{
retour ;
}
si(premier)
{
a=Sym.Ask() ;
b=Sym.Bid() ;
first=false ;
retour ;
}
Lots=AccountInfoDouble(ACCOUNT_FREEMARGIN)*0.66/1000/SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) ;
Lots=MathMin(999,MathMax(1,Lots)) ;
Lots=NormalizeDouble(Lots,2) ;
if(Pos.Select(_Symbol))
{
if(Pos.Profit()>2)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2) ;
}
sinon
{
si(Pos.PositionType()==POSITION_TYPE_BUY)
{
if((Pos.PriceOpen()-Sym.Ask())/Sym.Point()>Limit)// || Sym.Bid()<maVal[0]-0.0005)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2) ;
}
}
sinon si(Pos.PositionType()==POSITION_TYPE_SELL)
{
if((Sym.Bid()-Pos.PriceOpen())/Sym.Point()>Limit)// || Sym.Ask()>maVal[0]+0.0005)
{
Trade.PositionClose(_Symbol,Sym.Spread()*2) ;
}
}
}
}
sinon
{
if(b-Sym.Bid()>=Shift*Sym.Point() && maVal[0]>maVal[1] && maVal[1]>maVal[2] && Sym.Bid()<maVal[0])
{
Trade.SetDeviationInPoints(Sym.Spread()*2) ;
Trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,Lots,Sym.Bid(),0,0,") ; //Sym.Bid()+0.0030
// Trade.Sell(Lots,_Symbol,0,0,0,") ;
Print(__FUNCTION__, "():Sell") ;
}
if(Sym.Ask()-a>=Shift*Sym.Point() && maVal[0]<maVal[1] && maVal[1]<maVal[2] && Sym.Ask()>maVal[0])
{
Trade.SetDeviationInPoints(Sym.Spread()*2) ;
Trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,Lots,Sym.Ask(),0,0,") ; //Sym.Ask()-0.0030
// Trade.Buy(Lots,_Symbol,0,0,0,") ;
Print(__FUNCTION__, "():Buy") ;
}
}
a=Sym.Ask() ;
b=Sym.Bid() ;
}
//+------------------------------------------------------------------+
forward666:
Si vous voulez insérer un petit morceau de code, cliquez sur SRC comme dans l'image et insérez le code. S'il y a autant de code que vous en insérez, joignez le fichier avec le code.
forward666:
Si vous voulez insérer un petit morceau de code, cliquez sur SRC comme indiqué dans l'image et insérez le code. S'il y a autant de code que vous en insérez, joignez le fichier avec le code.
Je l'ai eu !
Je ne trouve rien avec le code, je vais essayer de le chercher sur mon ordinateur dans la soirée. Et qu'est-ce que le "Styler" - regardez le lien.
Merci ! Si vous pouvez me donner des conseils, ce serait génial !
Je vais me renseigner sur le styler.