Je rédigerai un conseiller gratuitement - page 102

 
Bonjour :
Un EA peut-il ouvrir des ordres en attente au prix d'un ordre fermé ?
 
Anton Yakovlev:
Si vous avez une bonne stratégie et que vous êtes prêt à la partager, je peux écrire un EA.


Comment puis-je ajouter une taille d'ordre ouvert dépendant de la balance à mon EA ?

par exemple

Lot de 100 $ 0,05
200 $ lot 0,1
500 $ lot 0,25
1000 $ lot 0,5
1200 $ lot 0.6
1500 $ lot 0.75
2000 $ lot 1.0
3000 $ lot 1.5
5000 $ lot 2.5
10000 $ lot 5

 
liljon:


Comment puis-je ajouter une taille d'ordre dépendant de la balance à l'EA ?

par exemple

100 $ lot 0,05
200 $ lot 0,1
500 $ lot 0,25
1000 $ lot 0.5
$1200 lot 0.6
$1500 lot 0.75
$2000 lot 1.0
$3000 lot 1.5
$5000 lot 2.5
$10000 lot 5

Vous pouvez spécifier le pourcentage du solde Pourcentage=5, par exemple :

double One_Lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Valeur. 1 lot

double Min_Lot=MarketInfo(Symbol(),MODE_MINLOT);//La taille du lot min.

double Step =MarketInfo(Symbol(),MODE_LOTSTEP);// Taille du changement de pas

double Free =AccountFreeMargin() ;

lots=MathFloor(Free*Percent/100/One_Lot/Step)*Step ;

si (lots<Min_Lot) lots=Min_Lot ;

 
kim9622:
Bonjour à tous.
Il y a plusieurs graphiques sur MT4 (3-6, pouvant être des paires de devises différentes), chacun avec son propre EA.

Tâche :
Il n'y a pas d'ordres ouverts. Lors de l'ouverture d'un ou plusieurs ordres par un EA (1 ou 2, de préférence en choisissant la quantité), tous les autres EA doivent désactiver l'auto-trading. Une fois que tous les ordres ouverts sont fermés, l'auto-trading doit être activé pour tous les autres Expert Advisors. Si les conditions permettent un maximum de 2 EA, alors l'auto-trading pour tous les EA désactivés commencera lorsque l'un des 2 (ou les deux) fermera ses ordres.
Veuillez me conseiller sur la façon de résoudre ce problème. Peut-être existe-t-il déjà un logiciel similaire.

peut être résolu par des variables globales
et chaque EA en cours d'exécution doit être modifiée en conséquence dans le code

Par exemple : s'il y a un ordre sur le marché, une variable globale est activée,

tous les EA qui voient cela ne traitent pas
 

Bonjour à tous !

Quelqu'un peut-il écrire un simple EA sans syndication ? ?

 
volodymyr67:

Bonjour à tous !

Quelqu'un peut-il écrire un simple EA non syndiqué ? ?

Pas de problème ! Un EA ouvre une position BUY ou SELL avec un volume donné :

//+------------------------------------------------------------------+
//|                                            Open One Position.mq5 |
//|                              Copyright © 2018, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2018, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.001"
//---
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
//--- input parameters
input double               InpLots     = 10.0;              // Lots
input ENUM_POSITION_TYPE   InpPosType  = POSITION_TYPE_BUY; // Open position 
input ulong                InpMagic    = 208060783;         // Magic number
//---
ulong  ExtSlippage=10;                // Slippage
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   m_trade.SetExpertMagicNumber(InpMagic);
   m_trade.SetMarginMode();
   m_trade.SetTypeFillingBySymbol(m_symbol.Name());
   m_trade.SetDeviationInPoints(ExtSlippage);
//---
   if(InpPosType==POSITION_TYPE_BUY)
      m_trade.Buy(InpLots);
   else if(InpPosType==POSITION_TYPE_SELL)
      m_trade.Sell(InpLots);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//---

  }
//+------------------------------------------------------------------+
Dossiers :
 

Je suis prêt à payer une somme symbolique de quelquescentaines de roubles.


Le conseiller expert ouvresimultanément 2 ordres dirigés différemment(1 pour chaque paire de devises) uniquement lorsque le spread spécifié pour lesDEUX paires est inférieur ou égal à celui spécifié dans les paramètres des deux paires de devises. Si la condition a fonctionné pour une paire de devises et n'a pas fonctionné pour l'autre,NE S'OUVRE PAS N'IMPORTE OÙ.

Il n'ouvre pas de nouveaux ordres après l'ouverture des ordres, mais attend uniquement le bénéfice total de deux ordres spécifiés dans les paramètres du robot.SEULS 2 ORDRESDIRIGÉS DIFFÉREMMENT SONT TOUJOURS OUVERTS

Après la clôture des ordres, le robot surveille à nouveau les spreads des deux paires de devises et ouvre à nouveau lorsque le spread estDÉJÀ inférieur ou égal à celui spécifié dans les paramètres.

Si vous êtes en mesure de définir la durée de fonctionnement (commençant le mardi 00-00 et se terminant le jeudi 23-59), ce sera parfait.

Voici comment cela fonctionne :l'EA(lorsque le spread requis apparaît sur les deux paires)ouvre un ordre d'achat, le deuxième ordre de vente (ou vice versa - cela n'a pas d'importance), attend le bénéfice et ferme les deux ordres, puis rouvre. Si deux ordres sont ouverts, aucun nouvel ordre ne sera ouvert. Le conseiller expert attend le profit défini dans les paramètres.


Quelle que soit la paire de devises sur laquelle le conseiller est réglé, il ne fonctionnera qu'avec les deux paires de devises spécifiées dans ses paramètres :

Paramètres :

1. Nom de la première paire de devises (EURUSD)

2. Lot pour la première paire (0.1)

3. Type d'ordre pour la première (Achat)

4. Écart minimum pour le premier Dans PIPS 5. auquel le conseiller expert déclenchera (2)

5. Nom de la deuxième paire de devises (GBPUSD)

6. Lot deux (0,1)

7. Type d'ordre second (Sell)

8. Écart minimum pour le second En PIPSAH 5 signe auquel le conseiller se déclenchera (2)

9. Profit total des deux paires dans ladevise de dépôt(ou en pourcentage. si c'est plus facile) pour fermer les deux ordres en même temps

10. Heure de début des transactions Mardi 00-00

11. Heure de fermeture jeudi 23-59

 
Vladimir Karputov:

Facile ! Le conseiller expert ouvre une position ACHAT ou VENTE avec un volume donné :

Merci beaucoup pour la rapidité !

Mais j'ai besoin qu'il ouvre un ordre à l'ouverture d'une barre, prenne un profit et attende l'ouverture d'une nouvelle barre.

Dossiers :
image.png  68 kb
 

Bonjour chers programmeurs, je vous demande d'écrire un EA basé sur l'indicateur pour ouvrir un ordre, mais il y a un piège, nous avons besoin que l'EA ouvre un ordre non seulement sur l'indicateur de signal, mais aussi à certains moments (par exemple, si l'indicateur a donné un signal au début de la formation de la bougie, disons de 15:00 à 15:01 alors ce signal est considéré comme valide et l'EA ouvre l'ordre) (si l'indicateur de signal a reçu 15:02 alors le signal n'est PAS valide et le Conseil n'ouvre pas l'ordre)

 
Bon moment, chers codeurs ! Auriez-vous l'amabilité d'écrire un EA pour cet indicateur. Le conseiller expert ouvre un ordre sur un signal de la flèche, c'est-à-dire sur le prochain chandelier, le temps d'exécution de l'ordre est d'un chandelier, c'est-à-dire qu'il s'ouvre et se ferme sur le prochain chandelier. L'arrêt n'est pas nécessaire. Et tous lesparamètres de l'indicateur ont été placés dans l'EA. Merci d'avance !
Dossiers :