Aide à la rédaction d'un expert

 

Chers programmeurs experts ! Je vous supplie d'écrire un EA pour le croisement des MAs, mais en respectant strictement l'algorithme. J'ai vu de nombreux conseillers experts similaires, mais ils échouent tous, ce qui est logique car ils ont été développés de manière incorrecte. Je veux utiliser l'algorithme qui m'a permis d'obtenir de très bons résultats à l'aide des "mains" dans le Strategy Tester. Je veux vous demander de l'écrire pour moi.

-L'EA ne doit contrôler que ses propres positions, sans toucher aux positions ouvertes manuellement et/ou avec l'aide d'autres EAs.

- Le conseiller expertne doitpas ouvrir une position avant qu'une position déjà ouverte ait été fermée.

- Le conseiller expert doit pouvoir travailler simultanément sur plusieurs paires de devises.

Instruments : EMA 14

EMA 5

Entrée :

L'entrée se fait lorsque les deux MAs sont franchies.

Acheter

- Lorsque l'EMA 5 croise l'EMA 14 par le bas, vous pouvez entrer sur la bougie qui suit le croisement, si elle dépasse le haut de 1 pip.

Vendez

- Lorsque l'EMA5 a croisé l'EMA 14 de haut en bas, l'entrée à la vente sera faite sur la bougie suivant la bougie de croisement, lorsqu'elle est passée en dessous de son plus bas de 1 pips.

Sortie :

La sortie est effectuée lorsque le signal opposé se produit ou lorsque le seuil de rentabilité ou de perte est atteint.

Stop Loss et Take Profit :

Lestop loss initial est fixé à une distance de 30 pips du point d'entrée .

Le Take Profit initial est fixé à 50 pips du point d'entrée.

Lors de l'ouverture des positions et de la fixation des seuils de perte et de profit, le conseiller-expert doit prendre en compte le spread.

Paramètres externes :

- MA - période 14 Méthode exponentielle, décalage - 0, appliquer à la fermeture

- MA - période 5 Exponentiel, décalage - 0, appliquer à la fermeture

- Possibilité de modifier les paramètres Take Profit, Stop Loss et EMA, y compris sa méthode.

Merci beaucoup d'avance !

 
Vadimus писал (а) >>

Chers programmeurs experts ! Je vous supplie d'écrire un EA pour le croisement des MAs, mais en respectant strictement l'algorithme. J'ai vu de nombreux conseillers experts similaires, mais ils échouent tous, ce qui est logique car ils ont été développés de manière incorrecte. Je veux défier l'algorithme à l'aide de mon écriture et obtenir de très bons résultats. Je veux vous demander de l'écrire pour moi.

-Le conseiller expert ne doit contrôler que ses propres positions, sans toucher aux positions ouvertes manuellement et/ou avec l'aide d'autres conseillers experts.

-Le conseiller expert ne doit pas ouvrir de position tant que la position précédemment ouverte n'est pas fermée.

- Le conseiller expert doit pouvoir travailler simultanément sur plusieurs paires de devises.

Instruments : EMA 14

EMA 5

Entrée :

L'entrée se fait lorsque les deux MAs sont franchies.

Acheter

- Lorsque l'EMA 5 croise l'EMA 14 par le bas, vous pouvez entrer sur la bougie qui suit le croisement, si elle dépasse le haut de 1 pip.

Vendez

- Lorsque l'EMA5 a croisé l'EMA 14 de haut en bas, l'entrée à la vente se fera sur la bougie suivant la bougie de croisement, lorsqu'elle est passée en dessous de son plus bas de 1 pips.

Sortie :

La sortie est effectuée lorsque le signal opposé se produit ou lorsque le seuil de rentabilité ou de perte est atteint.

Stop Loss et Take Profit :

Lestop loss initial est fixé à une distance de 30 pips du point d'entrée .

Le Take Profit initial est fixé à 50 pips du point d'entrée.

Lors de l'ouverture des positions et de la définition des seuils de perte et de profit, le conseiller expert doit tenir compte de l'écart.

Paramètres externes :

- MA - période 14 Méthode exponentielle, décalage - 0, appliquer à la fermeture

- MA - période 5 Méthodeexponentielle, décalage - 0, appliquer à la fermeture.

- Possibilité de modifier les paramètres Take Profit, Stop Loss et EMA, y compris sa méthode.

Merci beaucoup d'avance !

Allez-vous peindre la clôture ? :)

 
BARS писал (а) >>

Envoyez-moi un message sur l'icq 380-108-968.

Quoi de neuf... ? :)

 
Registr писал(а) >>

Quoi de neuf... ? :)

>> rien n'y est encore.)

 
Vadimus >> :

>> Et il n'y a encore rien)

Dites-moi s'il vous plaît, sur quelle période cela fonctionne-t-il pour vous ?

 
J'ai déjà écrit à quelqu'un de similaire ! Si vous êtes intéressé : icq 459027664 possol@meta.ua
 
mamma писал(а) >>

Dites-moi, dans quel délai cela fonctionne-t-il pour vous ?

Il fonctionne sur n'importe quelle période, mais avec des paramètres différents et une efficacité différente.)

 
Registr писал(а) >>

Allez-vous peindre la clôture ? :)

>> facile, faites-le venir ici.)

 

Prendre de l'argent pour écrire un tel expert est "Grizzly comme il mange"... Je n'aurais pas le courage =)

Si vous avez la patience, demain, quand je rentrerai de l'université, je le posterai ici.

 
Fduch писал(а) >>

Prendre de l'argent pour écrire un tel expert est "Grizzly comme il mange"... Je n'aurais pas le courage =)

Si vous avez la patience - demain, quand je rentrerai de l'université, je le posterai ici.

Ma gratitude n'aura pas de limites... dans la limite du raisonnable. Merci d'avance).

 
//+------------------------------------------------------------------+
//|                                                       E_A_MA.mq4 |
//|                                                               TO |
//|                           http://ridecrufter.narod.ru/index.html |
//+------------------------------------------------------------------+
#property copyright "TO"
#property link      "http://ridecrufter.narod.ru/index.html"

extern int Ma_Fast_Period=5;
extern int shift_fast=0;
extern int method_fast=1;
extern int applied_price_fast=0;
extern int Ma_Slow_Period=14;
extern int shift_slow=0;
extern int method_slow=1;
extern int applied_price_slow=0;
extern int TP=50;
extern int SL=30;
extern double vol=0.1;
extern int magic=387149;

int i;
bool buy, sell;

int init()
  {   
   return(0);
  }

int deinit()
  {

   return(0);
  }

int start()
  {
   
   if(iMA(NULL,0, Ma_Fast_Period, shift_fast, method_fast, applied_price_fast,1)>
   iMA(NULL,0, Ma_Slow_Period, shift_slow, method_slow, applied_price_slow,1)
   && iMA(NULL,0, Ma_Fast_Period, shift_fast, method_fast, applied_price_fast,2)<=
   iMA(NULL,0, Ma_Slow_Period, shift_slow, method_slow, applied_price_slow,2) && Bid>=(High[1]+1*Point))
   {
      if(OrdersTotal()!=0)
      {
         for( i=0; i<OrdersTotal(); i++)
         {
            OrderSelect( i, SELECT_BY_POS, MODE_TRADES);
            if(OrderMagicNumber()== magic && OrderType()==1)
            {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Gold);               
            }
            if(OrderMagicNumber()== magic && OrderType()==0) buy=true;
         }
      }
      if(! buy){OrderSend(Symbol(),OP_BUY, vol,Ask,3,Bid- SL*Point,Ask+ TP*Point,NULL, magic,0,Aqua); sell=false;}      
   }
   if(iMA(NULL,0, Ma_Fast_Period, shift_fast, method_fast, applied_price_fast,1)<
   iMA(NULL,0, Ma_Slow_Period, shift_slow, method_slow, applied_price_slow,1)
   && iMA(NULL,0, Ma_Fast_Period, shift_fast, method_fast, applied_price_fast,2)>=
   iMA(NULL,0, Ma_Slow_Period, shift_slow, method_slow, applied_price_slow,2)&& Bid<=(Low[1]-1*Point))
   {
      if(OrdersTotal()!=0)
      {
         for( i=0; i<OrdersTotal(); i++)
         {
            OrderSelect( i, SELECT_BY_POS, MODE_TRADES);
            if(OrderMagicNumber()== magic && OrderType()==0)
            {
               OrderClose(OrderTicket(),OrderLots(),Bid,3,Gold);               
            }
            if(OrderMagicNumber()== magic && OrderType()==1) sell=true;
         }
      }
      if(! sell){OrderSend(Symbol(),OP_SELL, vol,Bid,3,Ask+ SL*Point,Bid- TP*Point,NULL, magic,0,Magenta); buy=false;}      
   }
   
   return(0);
  }
N'hésitez pas à l'utiliser, et si vous avez besoin de modifier quelque chose, vous pouvez le faire ici : ......