Je rédigerai un conseiller gratuitement - page 162

 
SanAlex #:

La fonction est tirée du code deVladimir Karputov

Merci ! Maintenant, je vais l'essayer

 

Bonjour chers programmeurs, Jevous demande vraiment d'écrire un EAbasé sur l'indicateur. L'indicateur ne tire pas, ce qui est la chose la plus importante. Il donne de bons résultats. Il possède deux modes de fonctionnement. Le premier, lorsqu'un diamant apparaît, doit ouvrir une position, tandis que le signal inverse ferme l'ordre et l'ouvre dans la direction opposée. Le deuxième mode doit avoir un take profit et un stop fixes.


Le fichier <*.ex* a été supprimé

Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 ( MQL5 ), среда разработки MetaEditor и...
Dossiers :
 
SanAlex #:

La fonction est tirée du code deVladimir Karputov

D'un coup d'œil, les positions opposées doivent être fermées aux positions d'ouverture :

//--- open position
         if(m_trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,InpLots,priceAsk,0.0,tpAsk))
{
            printf("Position by %s to be opened",Symbol());
            ClosePositions(POSITION_TYPE_SELL);

}
else
...
 
Maksim Sovenko #:

D'un seul coup d'œil, vous devez fermer les positions opposées aux positions d'ouverture :

Vous avez 10 positions ouvertes en VENTE et 10 positions en ACHAT et vous devez seulement fermer les positions d' ACHAT. C'est ce qu'il a demandé. Et ce que vous nous dites a sa place, si c'est la logique que vous recherchez.

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Mais peut-être que je me suis trompé. S'il ne dit rien, c'est qu'il a compris !

 
Bonjour, joyeux baptême à tous. J'ai essayé d'ajouter deux lignes supplémentaires par moi-même, mais lorsque je le compile, je n'obtiens aucune erreur et l'indicateur ne s'affiche plus sur le graphique. J'ai également essayé d'ajouter une contraction ou une expansion entre les lignes dans le paramètre Shift quand zéro est bien quand vous mettez 1 l'indicateur commence à accrocher et puis les lignes sont étendues, pouvez-vous faire le paramètre responsable de l'expansion entre les lignes pourrait entrer un nombre décimal séparé par une virgule, comme 0,78. Merci d'avance.
Dossiers :
 
Bonjour chers programmeurs. Pourriez-vous écrire un EA ou mieux un indicateur pour MT4 ? Je veux qu'il trouve deux chandeliers, qui se suivent nécessairement avec le même haut ou bas. Et si vous pouvez ajouter une alerte avec un signal sonore et un message sur l'écran du moniteur indiquant de quelle paire de devises provient le signal. Merci beaucoup.
Dossiers :
41.png  218 kb
44.png  194 kb
 
acya13 #:
Bonjour, chers programmeurs. Pourriez-vous écrire un EA ou mieux un indicateur pour MT4 ? Je voudrais qu'il trouve deux chandeliers qui se suivent avec le même haut ou bas. Et si vous pouvez ajouter une alerte avec un signal sonore et un message sur l'écran du moniteur indiquant de quelle paire de devises provient le signal. Merci beaucoup.

Bonjour. L'indicateur sera-t-il installé dans chaque instrument séparément ? Ou bien, la liste des paires de devises à surveiller sera-t-elle définie dans les paramètres ?

Et une question sur le TF. Cela sera-t-il corrigé dans les paramètres ?

 
Bonjour. Si vous le pouvez, oui, il serait souhaitable de l'installer dans chaque instrument séparément. Je ne comprends pas vraiment la deuxième question. Si vous voulez dire que vous voulez personnaliser l'indicateur, vous n'êtes pas obligé de le faire selon le système. Vous pouvez le faire comme vous le souhaitez.
 
Après-midi. Puis-je écrire un conseiller qui désactiverait l'auto-trading dans le terminal MT4 pour toutes les paires négociées à un niveau de drawdown configurable ? Merci pour cela.
 
gorbenko85 #:
Salut. Puis-je écrire un EA qui désactiverait l'autotrading dans le terminal MT4 pour toutes les paires négociées à un niveau de drawdown défini ? Merci pour cela.

ici - mais il est plus facile de l'ajouter dans votre EA - ExpertRemove() ;

La fonction (frappe) est tirée de ce codehttps://www.mql5.com/ru/code/8567

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

vous devez activer la dll pour que cela fonctionne.

Capture d'écran 2022-02-07 105001

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Non, il est préférable de ne pas autoriser le fichier .dll - mais d'autoriser dans les paramètres du conseiller expert le fichier .dll et de permettre à l'EA de négocier.

Capture d'écran 2022-02-07 105956

//+------------------------------------------------------------------+
//|                                                    Stop Avto.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//----
#include <WinUser32.mqh>

#define  PAUSE 10
#define  VK_MENU 0x12 //ALT key
#define  VK_CONTROL 0x11 //CTRL key
//----
input double InpSLossAll = 1000000; // ALL Stop Loss --> (In currency the amount)
//---
int     CtrlAlt=0; // 0 - Ctrl, 1 - Alt
string  Key="E";   // Key
//---
double PROFIT_CLOSE=0.00;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   PROFIT_CLOSE=AccountInfoDouble(ACCOUNT_PROFIT);
//---
   if(PROFIT_CLOSE<=-InpSLossAll)
     {
      VK_XXXX(CtrlAlt,Key);
      ExpertRemove();
      PlaySound("expert.wav");
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void VK_XXXX(int ctrlalts,string keys)
  {
   int FirstKey=VK_CONTROL;
   if(ctrlalts==1)
      FirstKey=VK_MENU;
   int SecondKey=StringGetChar(keys,0);
   keybd_event(FirstKey,0,0,0);
   Sleep(PAUSE);
   keybd_event(SecondKey,0,0,0);
   Sleep(PAUSE);
   keybd_event(SecondKey,0,2,0);
   Sleep(PAUSE);
   keybd_event(FirstKey,0,2,0);
  }
//+------------------------------------------------------------------+

ind_HotKeys_v1
ind_HotKeys_v1
  • www.mql5.com
Пример автоматического запуска скрипта при смене таймфрейма или символа