Discussion sur la mise en place des conseillers. - page 7

 
Bonjour collègues, qui est capable de créer un EA basé sur 2 indicateurs qui ouvrirait et fermerait les transactions aux croisements, voir photo, j'ai essayé moi-même mais ça ne marche pas(((((.
 
katrina87:
Bonjour chers collègues, j'ai une très grosse demande pour quelqu'un qui peut créer un conseiller basé sur 2 indicateurs qui ouvrirait et fermerait les trades aux croisements, voir l'image, j'ai essayé moi-même mais rien n'est sorti(((((.

Je ne l'ai pas utilisé moi-même. Je viens de le voir dans un kodobase. Jetez-y un coup d'œil, peut-être que ça vous conviendra. Et d'ailleurs, il y a plus de conseillers comme celui-ci dans kodobase. Vous pouvez googler le site que vous cherchez. https://www.mql5.com/ru/code/12375

Советник на основе отскока от границы канала МА
Советник на основе отскока от границы канала МА
  • www.mql5.com
Для торговли используются показания индикатора Moving Average. Если цена отклонилась от линии Moving Average на определенное количество пунктов, то выставляется ордер в сторону линии Moving Average. Советник может приносить прибыль, но она получается маленькой. Также для него требуется большой депозит. На рисунке сплошная красная линия —...
 
Bonjour je voudrais écrire un robot de trading, l'idée est simple et ingénieuse. Pour commencer, j'ai besoin d'un indicateur de niveaux de support de résistance pour sortir la force de ces niveaux, par exemple : haut moyen bas. des suggestions ? merci d'avance.
 
paradisehell1:
Bonjour, je veux écrire un robot de trading, l'idée est simple et ingénieuse. Pour le début, j'ai besoin d'un indicateur de niveaux de support de résistance pour afficher la force de ces mêmes niveaux, par exemple : high middle low. Des suggestions ? merci d'avance.

Le freelancing sauvera le Géant de la pensée et Père de la démocratie russe.

 
paradisehell1:
Bonjour, je veux écrire un robot de trading, l'idée est simple et ingénieuse. Par exemple, si je voulais utiliser un robot forex, je devrais chercher un indicateur de niveau de support qui montrerait la force des niveaux de support et de résistance, comme haut, moyen, bas.

Il n'est pas évident pour moi que cette idée soit brillante. C'est pourquoi il n'y a pas de motivation. Je ne peux pas parler pour les autres, mais quelque chose me dit que c'est pareil pour eux. Tu peux faire en sorte que ça ressemble à ça. Il se peut qu'ils ne soient pas en mesure de négocier manuellement sur la démo ou en réel, pendant quelques mois au moins. Combien de % avez-vous gagné en un mois, quel était le niveau de marge et le drawdown. Si les indicateurs sont intéressants, vous pouvez facilement trouver quelqu'un qui les rédigera gratuitement. Mais vous pouvez chercher quelque chose à Kodobe. Et d'ailleurs, le travail des programmeurs est très bon marché sur ce site.

 
Bonjour ! Je suis presque sûr à 100% que ma question a déjà été posée à de nombreuses reprises. Je serais donc très reconnaissant si quelqu'un pouvait me dire où chercher. Ma question est la suivante : comment mettre en œuvre dans mon conseiller expert la possibilité d'arrêter les transactions lorsqu'un certain bénéfice est atteint ? Supposons que le bénéfice soit de 200 $ - c'est tout, nous ne faisons pas de transactions aujourd'hui.
 
altec3:
Bonjour, je suis presque sûr à 100% que ma question a déjà été posée de nombreuses fois. Je serais donc très reconnaissant si quelqu'un pouvait me dire où le trouver. Question - comment implémenter dans un EA la possibilité d'arrêter le trading lorsqu'un certain profit est atteint ? Supposons que le bénéfice soit de 200 $ - c'est tout, nous ne faisons pas de transactions aujourd'hui.

Est-ce que c'est pour mt4, ou est-ce que ça devrait être pour mt5 ?

Immédiatement avant d'ouvrir une position, vérifiez si le bénéfice est supérieur à celui de la période - sortez.

void OnTick()
 {
 ...
 if(GetProfitHistoryInCurrency(_Symbol, 0, Magic) > 200) // 0 - сегодня, 1 - вчера, 2 -позавчера
  return;
 
 OrderSend(...);


Veuillez lire l'ensemble du fil de discussion, vous y trouverez le code dont vous avez besoin :

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Comment calculer le nombre d'ordres fermés dans l'EA ?

Vitaly Muzichenko, 2016.04.12 10:36

//===============================================================================================
//---------------------- Возвращает профит за выбранный период с истории -----------------------+
//===============================================================================================
double GetProfitHistoryInCurrency(string symb="0", int index=-1, int mg=-1) {
 if(symb=="0") { symb=Symbol();}
 datetime DailyStartTime=iTime(symb,PERIOD_D1,index);
 double DailyProfit=0;
  for(int i=OrdersHistoryTotal()-1; i>=0; i--) {
   if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
    if((OrderSymbol()==symb || symb=="") && (mg<0 || OrderMagicNumber()==mg)) {
     if((OrderCloseTime()>=DailyStartTime && OrderCloseTime()<DailyStartTime+86400) || index<0)
      DailyProfit+=(OrderProfit()+OrderCommission()+OrderSwap());
 }}}
  return(DailyProfit);
 }
Использование:  GetProfitHistoryInCurrency(_Symbol, 0, Magic); // 0 - сегодня, 1 - вчера, 2 -позавчера

 
Vitaly Muzichenko:

Est-ce que c'est pour mt4, ou est-ce que ça devrait être pour mt5 ?

Immédiatement avant d'ouvrir une position, il faut vérifier si le bénéfice est supérieur à celui de la période - sortir.


Lisez tout le fil, le code dont vous avez besoin est là :


Merci, je vais certainement y jeter un coup d'œil ! Oui, et le code est nécessaire pour MT5.
 

Bonjour !

J'essaie d'écrire une fonction qui détermine le profit pour le jour en cours :

//+------------------------------------------------------------------+
//|Функция возвращает прибыль за текущие сутки                       |
//+------------------------------------------------------------------+
double Day_Profit()
  {
//--Запрашиваем историю сделок за последнии сутки
   HistorySelect(TimeCurrent()-PeriodSeconds(PERIOD_D1),TimeCurrent());
   uint     total       =HistoryDealsTotal();   // количество сделок в истории
   ulong    ticket      =0;                     // тикет сделки в истории
   long     type        =0;                     // тип сделки
   double   profit      =0.0;                   // финансовый результат сделки
   double   commission  =0.0;                   // коммиссия по сделке
   double   DayProfit   =0.0;                   // прибыль за текущие сутки
//--- for all deals
   for(uint i=0; i<total; i++)
     {
      if((ticket=HistoryDealGetTicket(i))>0)       //--- если имеются сделки, то...
        {
         profit      =HistoryDealGetDouble(ticket,DEAL_PROFIT);
         commission  =HistoryDealGetDouble(ticket,DEAL_COMMISSION);
         if(HistoryDealGetInteger(ticket,DEAL_TYPE)!=DEAL_TYPE_BALANCE)
           {
            DayProfit+=(profit+commission);
           }
        }
     }
   return (DayProfit);
  }
//+------------------------------------------------------------------+

Pouvez-vous me dire comment utiliser la fonction

HistorySelect (datetime from_date,datetime to_date)
pour spécifier une période commençant par le jour en cours. Il est clair que la fin de la période to_date=TimeCurrent(), comment spécifier correctement le début de la période from_date, de sorte qu'elle commence exactement à partir de 00h:00m:00c du jour actuel ?
 
altec3:
Bonjour, pourriez-vous m'indiquer comment spécifier la période à partir du jour courant dans la fonction. Il est clair que la fin de la période to_date=TimeCurrent(), comment spécifier correctement le début de la période from_date, pour qu'elle commence à 00h:00m:00 du jour actuel ?

En supposant qu'il y a eu au moins un tick aujourd'hui, l'algorithme est le suivant : l'heure actuelle est envoyée à la structureMqlDateTime. Ensuite, mettez les heures, les minutes et les secondes à zéro dans cette structure. Il reste à convertir la structure éditée en un temps :

//+------------------------------------------------------------------+
//|                                                            1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   MqlDateTime STimeCurrent;
   TimeToStruct(TimeCurrent(),STimeCurrent);
   STimeCurrent.hour=0;
   STimeCurrent.min=0;
   STimeCurrent.sec=0;
   datetime start_day=StructToTime(STimeCurrent);
   Print(start_day);
  }
//+------------------------------------------------------------------+


Résultat :

2020.09.03 00:00:00
Dossiers :
1.mq5  3 kb
Raison: