OI (intérêt ouvert) en retard - page 6

 
Renat Akhtyamov:

Il a une pièce privée pour ça.

Et maintenant vous écrivez aux médias, donc nous avons une discussion.

Je vous le dis aussi clairement, utilisez le synchrone.

J'utilise le synchrone, que puis-je faire d'autre depuis un sous-marin.

 
Dmi3:

....., mais je ne suis pas satisfait du mécanisme que prostotrader utilise avec les mages véreux.


Soit vous ne comprenez pas du tout la nature des mages "véreux", soit vous ne voulez pas le faire.

https://www.mql5.com/ru/blogs/post/557544

Отслеживание ордера, после команды OrderSendAsync
Отслеживание ордера, после команды OrderSendAsync
  • 2016.10.29
  • www.mql5.com
Отслеживание ордера, после команды OrderSendAsync Михаил | 23 апреля, 2015 В статье рассказывается принцип отслеживания ордера после команды OrderSendAsync, если нет события TradeTransaction
 
prostotrader:

Soit vous ne comprenez pas du tout les magiciens "véreux", soit vous ne voulez pas le faire.

https://www.mql5.com/ru/blogs/post/557544

Pourquoi ? Je comprends exactement comment cela fonctionne. Mais je ne veux pas perdre les mages "normaux". Sans eux, il me serait difficile de savoir rapidement où et ce qui se trouve sur mon compte en ce moment.

 
Dmi3:

Pourquoi ? Je comprends exactement comment cela fonctionne. Mais je ne veux pas perdre les médailles "directes". Sans eux, il me serait difficile de savoir rapidement où et ce qui se trouve sur mon compte en ce moment.

Le majik est grand, et on peut y englober aussi bien la partie constante (l'id de la stratégie, par exemple) que la partie "variable" (le numéro de la demande).

 
Stanislav Korotky:

Le majik est grand, ce qui permet d'y englober à la fois la partie constante (l'id de la stratégie, par exemple) et la partie "variable" (le numéro de la requête).

il a un int, pas un long
 
Renat Akhtyamov:
Il a un int, pas un long

Vous ne le croirez pas : ) Même avec de la magie int, vous pouvez négocier plus de 1000 EA avec plus de 1000000 combinaisons de stratégies dans chacun.

 
prostotrader:

Vous entendez une cloche, vous ne savez pas où elle se trouve.

"Frapper" sur le code affiché.

......

Comment pouvez-vous parler de résultats si le code est mal écrit ?

......

Tant de "rédacteurs" de conseillers experts, s'emparent du travail pour le MICEX, sans même connaître les bases du commerce sur le marché des actions et des produits dérivés !


Tu en fais trop ! La jeune fille s'en sortait bien, surtout en comparaison avec les personnages des sujets voisins, qui essaient d'obtenir des vendeurs sur le marché sans même avoir obtenu de bonnes notes en informatique avec BASIC)).

 
Aleksey Mavrin:

Vous ne le croirez pas : ) Même avec de la magie int, vous pouvez négocier plus de 1000 EA avec plus de 1000000 combinaisons de stratégies dans chacun.

Et si vous avez de la logique dans le cerveau, vous vous passerez très bien des magiciens.

Au fait, je disais justement qu'il fallait être long si c'était trop intéressant.

depuis le programmeur, pour ainsi dire...
 
Aleksey Mavrin:


Tu en fais tout un plat ! La fille était bien, surtout par rapport aux personnages des fils voisins, qui vont au Marché comme vendeurs sans même passer le test des bases).

Qu'est-ce qui ne va pas chez elle ?

elle ne comprend même pas ce que devrait être le résultat ou ce qu'elle doit faire pour l'obtenir.

même les expérimentés ne m'ont pas dit la question délicate parce qu'on ne peut pas en parler à chaque coin de rue

Cependant, je sais comment obtenir le bon résultat, car j'ai consacré environ 5 ans à étudier ce sujet.

 
Dmi3:

Pourquoi ? Je comprends exactement comment cela fonctionne. Mais je ne veux pas perdre les médailles "directes". Sans eux, il me serait difficile de savoir rapidement où et ce qui se trouve sur mon compte en ce moment.

Si vous l'écrivez, vous ne comprenez pas comment tout cela fonctionne !

Les bits hauts du Majic sont formés à partir du nom du symbole, en outre, vous pouvez attribuer un ID à chaque EA, et les bits bas

créer une série de majuscules enfants.

Donc, vous devez prétendre que vous comprenez comment cela fonctionne !

//+------------------------------------------------------------------+
//|                                                    AutoMagic.mqh |
//|                                 Copyright 2017-2018 prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
//version   "1.02
ulong symb_magic;
int exp_id;
//-------------------------------------------------------------------+
// Split string function                                             |
//+------------------------------------------------------------------+
string SplitString(const string a_str,ulong &a_month,ulong &a_year)
  {
   int str_size=StringLen(a_str);
   int str_tire=StringFind(a_str, "-");
   int str_tochka=StringFind(a_str, ".", str_tire);
   if((str_tire>0) && (str_tochka>0) &&(str_size > 0))
     {
      a_month= ulong(StringToInteger(StringSubstr(a_str,str_tire+1,str_tochka-str_tire-1)));
      a_year = ulong(StringToInteger(StringSubstr(a_str,str_tochka+1,str_size-str_tochka-1)));
      if((a_month > 0) && (a_year > 0)) return(StringSubstr(a_str, 0, str_tire));
     }
   return("");
  }
//-------------------------------------------------------------------+
// Get Magic function                                                |
//+------------------------------------------------------------------+
ulong GetMagic(const string a_symbol, const int sov_id)
{
  exp_id = -1;
  symb_magic = 0;
  if(SymbolSelect(Symbol(), true) == false)
  {
    Print(__FUNCTION__, ": Нет такого символа!");
    return(0);
  }
  ulong month = 0;
  ulong year = 0;
  string new_str = SplitString(a_symbol,month,year);
  if(StringLen(new_str)>0)
  {
    uchar char_array[];
    int result=StringToCharArray(new_str, char_array, 0, WHOLE_ARRAY, CP_ACP);
    if(result>0)
   {
     ulong value;
     for(int i = 0; i < result - 1; i++)
     {
       value=ulong(char_array[i]);
       value<<=(56 -(i*8));
       symb_magic += value;
     }
     month<<=24;
     symb_magic += month;
     year<<=16;
     symb_magic += year;
     exp_id = sov_id;      //New!!!
     int s_id = exp_id;
     s_id<<=8;             //New !!!   
     symb_magic += s_id;   //New !!!
     return(symb_magic);
   }
 }
  return(0); 
}
//-------------------------------------------------------------------+
// Is my magic function                                              |
//+------------------------------------------------------------------+
bool IsMyMagic(const ulong m_magic)
{
  if(m_magic > 0)
  {
    ulong stored_magic = symb_magic;
   // stored_magic>>=16;
    stored_magic>>=8;   //New!!!
    ulong in_magic = m_magic;
   // in_magic>>=16;
    in_magic>>=8;      //New!!!
    if(in_magic == stored_magic) return(true);
  }  
  return(false);
}
//-------------------------------------------------------------------+
// Get stored magic function                                         |
//+------------------------------------------------------------------+
ulong GetStoredMagic()
{
  if(symb_magic > 0) return(symb_magic);
  return(0);  
}
//-------------------------------------------------------------------+
// Get expert ID function                                            |
//+------------------------------------------------------------------+
int GetExpertId()
{
  return(exp_id);                //New!!!
}
//+------------------------------------------------------------------+

Vérifiez

//+------------------------------------------------------------------+
//|                                                   Test_magic.mq5 |
//|                                      Copyright 2021 prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021 prostotrader"
#property link      "https://www.mql5.com"
#property version   "1.00"
#include "AutoMagic.mqh"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   ulong new_magic = GetMagic(Symbol(), 22);
   Print("Magic is: ", new_magic);
   ulong f_magic = new_magic;
   ulong a_letter = (f_magic>>56)&255;
   Print("7 byte: ", CharToString(uchar(a_letter)));   
   f_magic = new_magic;
   a_letter = (f_magic>>48)&255;
   Print("6 byte: ", CharToString(uchar(a_letter))); 
   f_magic = new_magic;
   a_letter = (f_magic>>40)&255;
   Print("5 byte: ", CharToString(uchar(a_letter))); 
   f_magic = new_magic;
   a_letter = (f_magic>>32)&255;
   Print("4 byte: ", CharToString(uchar(a_letter))); 
   f_magic = new_magic;
   a_letter = (f_magic>>24)&255;
   Print("3 byte (month): ", a_letter);
   f_magic = new_magic;
   a_letter = (f_magic>>16)&255;
   Print("2 byte (year)): ", a_letter);
   f_magic = new_magic;
   a_letter = (f_magic>>8)&255;
   Print("1 byte (expert id or series of magics): ", a_letter);
   f_magic = new_magic;
   a_letter = (f_magic&255);
   Print("0 byte (series of magics): ", a_letter);
//---
   return(INIT_SUCCEEDED);
  }

Résultat

2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       Magic is: 5138409554846225920
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       7 byte: G
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       6 byte: O
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       5 byte: L
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       4 byte: D
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       3 byte (month): 3
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       2 byte (year)): 21
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       1 byte (expert id or series of magics): 22
2021.01.19 03:05:15.363 Test_magic (GOLD-3.21,M1)       0 byte (series of magics): 0

Changez le symbole et l'id de l'EA en 122

2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        Magic is: 5932457868670630400
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        7 byte: R
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        6 byte: T
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        5 byte: S
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        4 byte: 
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        3 byte (month): 3
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        2 byte (year)): 21
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        1 byte (expert id or series of magics): 122
2021.01.19 03:07:06.225 Test_magic (RTS-3.21,M1)        0 byte (series of magics): 0

Ajouter au code

   for(int i = 0 ; i<256;i++)
   {
     Print("My magic: ", string(IsMyMagic(new_magic + ulong(i))));
}Print("My magic: ", string(IsMyMagic(new_magic + ulong(256))));

Résultat

2021.01.19 10:25:45.855 Test_magic (RTS-3.21,M1)        My magic: true
2021.01.19 10:25:45.855 Test_magic (RTS-3.21,M1)        My magic: true
2021.01.19 10:25:45.855 Test_magic (RTS-3.21,M1)        My magic: true
2021.01.19 10:25:45.855 Test_magic (RTS-3.21,M1)        My magic: true
2021.01.19 10:25:45.855 Test_magic (RTS-3.21,M1)        My magic: true
2021.01.19 10:25:45.855 Test_magic (RTS-3.21,M1)        My magic: true
2021.01.19 10:25:45.855 Test_magic (RTS-3.21,M1)        My magic: true
.......................................................................
2021.01.19 10:53:40.451	Test_magic (RTS-3.21,M1)	My magic: false

Le nom du symbole + l'identifiant de l'EA permettront de s'assurer que le magik est unique,

et dans l'octet 0, une série de majiks enfants (également uniques).

Le magik sera automatiquement créé.

Comme la connexion standard du FORTS est limitée à 30 tr./sec, 256 magies d'enfants vous suffiront sans 1 octet.

Et toute cette "danse des poings" n'est nécessaire que dans des cas extrêmes, lorsque la connexion est perdue (le serveur MT5 s'est planté) et que vous n'avez pas reçu de commande de billets.

Документация по MQL5: Предопределенные переменные / _Symbol
Документация по MQL5: Предопределенные переменные / _Symbol
  • www.mql5.com
_Symbol - Предопределенные переменные - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5