Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1907

 

Bon après-midi. J'ai tout ajouté au script comme suggéré - le code du script pour transférer les graphiques à d1 et le modèle de mi-parcours ci-dessous.

//+------------------------------------------------------------------+
//|                                               D1_AND_SHABLON.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright " КОПИЯ 1 "
#property link      "https://vk.com/danila_mastep"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СРЕДНЕСРОК";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


La fenêtre du terminal avec les graphiques ouverts dans la capture d'écran ci-dessous.

7 graphiques avec motif scalping

J'ai 7 graphiques ouverts dans la capture d'écran et tous ont le motif scalping ainsi que l'AUD/USD. Lorsque je glisse et dépose le script D1_AND_SHABLON.mq4, rien ne se passe - quelle est la raison de cette erreur ? O_o

 
DanilaMactep #:

Bon après-midi. J'ai tout ajouté au script comme suggéré - le code du script pour transférer les graphiques à d1 et le modèle de mi-parcours ci-dessous.


La fenêtre du terminal avec les graphiques ouverts dans la capture d'écran ci-dessous.

J'ai 7 graphiques ouverts dans la capture d'écran et tous ont le motif scalping ainsi que l'AUD/USD. Lorsque je glisse et dépose le script D1_AND_SHABLON.mq4, rien ne se passe - quelle est la raison de cette erreur ? O_o

Le problème est qu'il y a trop de conseillers experts et que chacun a une solution différente. Même si elle est correcte, elle diffère des autres. Mais elle est souvent complètement fausse.

Sasha a conseillé de mettre le nom du modèle sans .tpl, mais dans mon exemple, c'est le suivant

Il s'agit du forum pour le trading, les systèmes de trading automatisés et les tests de stratégies.

Toutes les questions des débutants sur MQL4 et MQL5, conseils et discussions sur les algorithmes et les codes.

Alexey Viktorov, 2022.02.17 08:29

Vous n'avez plus qu'une seule ligne dans votre code. Ou même remplacer deux lignes par une seule.

string tplName = "name.tpl";
/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
    //  ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
    ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

Tu as pris un peu de là, un peu de là et tu as obtenu une bouillie... même pas une perle...
 
novichok2018 #:

Oui, exactement : que l'EA #2, verrait toutes les positions ouvertes par l'EA #1. Seulement si c'était facile pour moi, je ne demanderais pas d'aide.

Jusqu'à présent, je vois la solution suivante : écrire un indicateur qui créerait un objet "point" avec les coordonnées de la position ouverte par l'EA #1 et le placerait sur un graphique avec l'EA #2 installé.

Si ma logique est correcte, j'ai encore besoin d'aide pour écrire cet indicateur.

Il les voit
 
novichok2018 #:

Oui, exactement : que l'EA #2, verrait toutes les positions ouvertes par l'EA #1. Seulement si c'était facile pour moi, je ne demanderais pas d'aide.

Jusqu'à présent, je vois la solution suivante : écrire un indicateur qui créerait un objet "point" avec les coordonnées de la position ouverte par l'EA #1 et le placerait sur un graphique avec l'EA #2 installé.

Si ma logique est correcte, alors j'ai encore besoin d'aide pour écrire cet indicateur.

Il n'est pas tout à fait clair si vous avez besoin de voir la position ouverte par l'EA #1

ou EA n°2 ?

Voici, ci-dessous, le code de l'EA qui voit les positions ouvertes par l'EA #1,

Vous devez juste le mettre dans les propriétés magiques de l'EA#1.

//+------------------------------------------------------------------+
//|                                                  советник №2.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

input int  Magic = 0;  //

datetime OOT;   //время последней открытой позиции.
double  OOP;    //цена последней открытой позиции.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   GetPos(Symbol(),Magic);

   Comment("время последней открытой позиции =",TimeToString(OOT),
           "\nцена последней открытой позиции = ",DoubleToString(OOP,_Digits));

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void GetPos(string sy,int mn)
  {

   int      i,k=OrdersTotal();

   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==mn && OrderSymbol()==sy)
           {
            if(OOT<OrderOpenTime())
              {
               OOT = OrderOpenTime();
               OOP = OrderOpenPrice();
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

Et sort les coordonnées de la dernière position ouverte dans le somment.

 
Alekseu Fedotov #:

Il n'est pas clair si vous avez besoin de voir les positions ouvertes de l'EA 1.

ou EA #2 ?

Voici, ci-dessous, le code de l'EA 1 qui voit les positions ouvertes par l'EA 1,

Vous devez juste le mettre dans les propriétés magiques de l'EA#1.

Et il montre en somment les coordonnées de la dernière position ouverte.

Il n'a pas accès au code de conseiller-transmetteur...

L'homme s'entête à croire que si l'ordre est ouvert sur un autre graphique, l'émetteur ne le voit pas.

J'ai essayé d'expliquer, mais en vain.

 
Tretyakov Rostyslav #:

Il n'a pas accès au code conseiller-transmetteur...

La personne s'entête à croire que si un ordre est ouvert sur un autre graphique, l'émetteur ne peut pas le voir.

J'ai essayé d'expliquer, mais en vain.

Je pensais que c'était à propos du récepteur, et un peu comme si le code était ouvert. Je ne l'ai pas eu.

 
Alexey Viktorov #:

Le problème est qu'il y a trop de conseillers et que chacun a une solution différente. Même si c'est la bonne, elle est différente des autres. Mais elle est souvent complètement fausse.

Sasha a conseillé de mettre le nom du modèle sans .tpl, mais dans mon astuce, de cette façon


Vous avez pris un peu de là, un peu de là et vous avez obtenu un désordre... même pas une perle...
De très petits détails auxquels vous ne feriez jamais attention vous-même. Merci beaucoup pour la direction, je vais continuer à creuser demain. Et voilà, je reviens les gars ))))))))))))))))))
 
Tretyakov Rostyslav #:
Il peut les voir

Peut-être qu'il les voit, je n'ai pas lu le code de l'EA, mais peut-être qu'il ne voit que ce qui est reflété sur le graphique où il est installé. Et les lignes Take Profit, Stop Loss et Open Price sont affichées, mais il n'y a pas de temps ouvert. Par conséquent, je pense que si l'EA n°2 ne voit que ce qui est affiché sur son graphique, elle ne sera pas en mesure de lire correctement les informations provenant de l'EA n°1. D'où ma volonté d'afficher sur son graphique toutes les informations relatives à la position ouverte par l'EA #1 : prix, heure d'ouverture et stops.

 
Alekseu Fedotov #:

Il n'est pas tout à fait clair si vous avez besoin de voir les positions ouvertes de l'EA 1.

ou EA #2 ?

Voici, ci-dessous, le code de l'EA 1 qui voit les positions ouvertes par l'EA 1,

Vous devez juste le mettre dans les propriétés magiques de l'EA#1.

Et sort en somment les coordonnées de la dernière position ouverte.

La plateforme ne permet pas d'installer deux EA sur un même graphique. Peut-être faut-il un indicateur.

 
Vitaly Muzichenko #:

Les données de l'abonné sont nuisibles à la suppression.

Encore une fois, vous avez 50 sur votre compte avec un effet de levier de 500 et un abonné a 5000 avec un effet de levier de 33.

Il y a comme un petit problème de calcul ici. Si on parle de ce service.

Si on parle d'auto-copie, alors :

vous avez 50 sur votre compte avec un effet de levier de 2000 et un souscripteur 5000 avec un effet de levier de 33.

Vous pourrez ouvrir 3 positions avec un petit effet de levier alors que l'abonné n'aura plus d'argent après la deuxième, car il s'exposera à la marge.

---

Ce n'est pas si simple.

Merci !
A propos des abonnés et de leurs données.
Le fait est que tout se fera avec leur consentement. Je ne prévois pas de faire des copies en masse sur cette ressource, c'est très peu pratique.

J'ai besoin des données pour que l'abonné ne me trompe pas deux fois. Puisque le paiement sera effectué après le bénéfice. Et j'ai besoin de voir le solde abonné pour comprendre quels sont mes frais.
L'abonné transférera lui-même mes bénéfices.

L'effet de levier est stable, 100. Mon solde est de 100 dollars. Cela réduit la pression sur ma psyché. Et un abonné peut en avoir 100 000, il est plus facile pour moi de rester calme que pour lui.
C'est comme ça que je travaille pour les binans.
Je voudrais également approfondir le sujet pour ceux qui sont dans le forex.

Je comprends que vous êtes un expert.
J'ai une bonne idée de demander s'il est possible de faire quelque chose comme ça avec le photocopieur.
Par exemple, les données sur mon client (abonné) sont affichées par API dans mon panneau d'administration sur le site que mon ami a créé pour moi. Mais ce n'est pas très bon dans MQL5. Ou pas très)).