[Je vais écrire un conseiller GRATUITEMENT. - page 22

 
nab17:
Bonjour chers programmateurs

J'ai une question. J'ai besoin d'un EA pour fermer deux ordres spécifiques sur leur profit total, sans affecter les autres ordres.
Je n'ai pas réussi à trouver quelque chose de convenable.
Merci beaucoup !

Je vous serais reconnaissant de ne plus me spammer. Un post dans un fil de discussion est suffisant pour être entendu. J'ai supprimé les autres.
 
Vinin:
Veuillez ne plus envoyer de spam. Un post dans un fil de discussion est suffisant pour être entendu. J'ai supprimé le reste.
D'où viennent des modérateurs aussi polis et patients ? Je ne comprends pas.
 
Aidez-moi à corriger une erreur dans le code de l'EA. J'ai essayé d'écrire un EA basé sur l'indicateur Laguerre.mq4. J'ai eu une erreur en le compilant. L'emplacement de l'erreur dans le code est en gras. L'indicateur est situé dans le corps du conseiller expert.


//+------------------------------------------------------------------+
//| Laguerre+.mq4 | |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+

//---- paramètres d'entrée
extern int TrailingStop=0 ;
extern int StopLoss=0 ;
extern double lots=0.1 ;
extern double gamma = 0.7 ;
extern int Price_Type=0 ;
//---- tampons
double Filter[] ;
double L0[] ;
double L1[]; ;
double L2[] ;
double L3[] ;

//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5) ;
//---- indicateurs
SetIndexStyle(0, DRAW_LINE) ;
SetIndexDrawBegin(0, 1) ;
SetIndexLabel(0, "LaguerreFilter") ;
SetIndexBuffer(0, Filter) ;
SetIndexBuffer(1, L0) ;
SetIndexBuffer(2, L1) ;
SetIndexBuffer(3, L2) ;
SetIndexBuffer(4, L3) ;
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")" ;
IndicatorShortName(nom_court) ;
retour(0) ;
}

//+------------------------------------------------------------------+
//| Fonction de désinitialisation de l'indicateur de dépôt |
//+------------------------------------------------------------------+
int deinit()
{
retour(0) ;
}

//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int start()
{
int limite ;
int counted_bars = IndicatorCounted() ;
double CU, CD ;
//---- dernière barre comptée sera recomptée
if (counted_bars>0)
barres comptées.. ;
sinon
counted_bars = 1 ;
limite = Barres - barres comptées ;
//---- calculs pour le RSI
for (int i=limit ; i>=0 ; i--)
{
double Price=iMA(NULL,0,1,0,0,Price_Type,i) ;

L0[i] = (1,0 - gamma)*Prix + gamma*L0[i+1] ;
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1] ;
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1] ;
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1] ;

CU = 0 ;
CD = 0 ;
si (L0[i] >= L1[i])
CU = L0[i] - L1[i] ;
sinon
CD = L1[i] - L0[i] ;
si (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i] ;
sinon
CD = CD + L2[i] - L1[i] ;
si (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i] ;
sinon
CD = CD + L3[i] - L2[i] ;

si (CU + CD != 0)
Filtre[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0 ;
}
retour(0) ;

//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
int start()
{
si (OrdersTotal()>0)
{
CU = 0 ;
CD = 0 ;
{
CommandeSelect(SELECT_BY_POS) ;
si (OrderSymbol()==Symbol())
{
si (OrderType()== OP_BUY)
{
si ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])
OrderClose(OrderTicket(),OrderLots()) ;
sinon CU++ ;
}
si (OrderType()== OP_SELL)
{
si (CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i])
OrderClose(OrderTicket(),OrderLots())
sinon CD++ ;
}
}
}

si (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,) ;
}
si (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,) ;
}



//----
retour(0) ;
}
//+------------------------------------------------------------------+
 
Deux départs. Relisez le manuel, déconstruisez la structure typique de l'EA.
 
Lorsque les flèches d'un indicateur doivent ouvrir un ordre dans la direction de la flèche et si elle change, fermer l'ordre précédent et en ouvrir un nouveau, en fixant un stop loss et un take profit.
 
kvg31:

J'écrirai un conseiller de n'importe quelle complexité. L'essentiel est d'avoir une bonne idée. Comment vous l'utiliserez Je m'en fiche : vendra - Je m'en fiche (je ne demanderai pas d'argent).

P. S. Si vous avez besoin d'un indicateur, vous devez me parler de la stratégie dans laquelle vous voulez l'utiliser.


Bonjour ! j'ai besoin d'un robot de trading sur MTD 4. je peux envoyer des photos avec des exemples de trades. répondez au mail s'il vous plaît. money3@inbox.ru Tous les détails sur le courrier seront transmis. avec une photo et la description.
 
Oleg888:

Bonjour ! j'ai besoin d'un robot de trading sur MTD 4. je peux envoyer des photos avec des exemples de transactions. répondez au mail svp. money3@inbox.ru Je vous enverrai tous les détails par mail. avec une photo et une description.
Et quelques photos de MTD 4.
 
granit77:
Deux départs. Relisez le manuel, déconstruisez la structure typique de l'EA.

Bien, pouvez-vous corriger l'erreur pour que je puisse voir l'erreur ?
 
ramses:
Pouvez-vous corriger l'erreur pour que je voie que ce n'est pas une erreur ?
Savez-vous pourquoi personne ne corrige votre code ? Parce que cela montre clairement que vous n'avez pas lu le manuel, auquel cas il s'agirait d'une conversation difficile et probablement inutile.
 
Bonjour, j'ai besoin d'un EA qui placerait des positions dans les deux sens à une distance donnée du marché (par exemple, Bay Stop et Sell Limit, éventuellement mieux de placer dans un sens), en tenant compte du spread. Avec la possibilité d'activer les remorques lorsque la position n'est pas sur le marché et de passer au seuil de rentabilité (selon des critères flexibles) après son ouverture. Et s'il existe une option permettant d'ouvrir ou de fermer automatiquement des positions après la fermeture de positions précédentes, ce serait formidable.