[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 186

 
Dimka-novitsek:
Je suis curieux, qu'est-ce qui ne va pas avec ma version ?

Dans votre version, d'abord il s'endort 300 fois en 1 calcul.

Deuxièmement, il se lasse de créer un message 600 fois à chaque tic.

Et troisièmement, ça dessine cette ligne rouge sur le graphique. La ligne rouge a un maximum de 0,86, et la ligne verte un minimum de 1,34.

donc tu ne peux pas voir les résultats.

 
ScioMe:

Il tire effectivement sur le vert, mais seulement à la bougie qui précède sa fermeture ! Avant cela, il ne le fait jamais.

Je pense qu'il ne devrait s'afficher que si vous modifiez le StopLoss et/ou le TakeProfit.
 
pyatka__ASD:

Bonjour. Aidez-moi, s'il vous plaît.

Comment trouver un modèle de décalage des barres calculé à l'aide de cette formule ? ObjectGetShiftByValue

quel est le motif
 

Je ne vois aucun résultat.

Merci !!! Je suis un agneau !

 
eddy:
Je pense qu'il ne devrait s'afficher que si vous modifiez le StopLoss et/ou le TakeProfit.

C'est le cas, le journal le confirme.
 
il les change à la première mesure
 

Une question sur certaines des nuances de l'appel des fonctions WinAPI.

Il existe une fonction GetPrivateProfileStringingA.

Importation de la fonction dans mql.

#import "kernel32.dll"
  int GetPrivateProfileStringA
      ( string SectionName,    // Наименование секции
        string KeyName,        // Наименование параметра
        string Default,        // Значение по умолчанию
        string ReturnedString, // Возвращаемое значение параметра
        int    nSize,          // Размер буфера под значение параметра
        string FileName);      // Полное имя файла
  int WritePrivateProfileStringA
      ( string SectionName,    // Наименование секции
        string KeyName,        // Наименование параметра
        string sString,        // Записываемое значение параметра
        string FileName);      // Полное имя файла
#import

Description de l'un des paramètres :

lpKeyName [in] 

The name of the key whose associated string is to be retrieved. 
If this parameter is NULL, all key names in the section specified by the lpAppName parameter 
are copied to the buffer specified by the lpReturnedString parameter.

Question - comment passer le "vrai NULL" ?

En passant "mql NULL" (également la chaîne ""), on obtient une valeur par défaut au lieu de la liste des "clés de la section".

lpDefault [in] 
A default string. If the lpKeyName key cannot be found in the initialization file, 
GetPrivateProfileString copies the default string to the lpReturnedString buffer. 
If this parameter is NULL, the default is an empty string, "".

J'ai mentionné "real NULL" parce que j'ai lu un problème similaire (exactement avec cette fonction) sur un forum sur le Basic. Le forum était anglophone (c'est-à-dire que tout ce que je pouvais comprendre n'était pas vrai), et le problème a été résolu à l'aide de Basics.

 
eddy:
eh bien, ça les change de l'open bar


D'après ce que j'ai compris, OrderModify() peut modifier les arrêts sur des barres autres que la barre ouverte ? Mon code (presque entièrement tiré du livre de S. Kovalev) est construit de telle sorte que les arrêts changent non seulement pendant l'ouverture, mais aussi lors de l'occurrence de certains événements :

 switch(Tip)                                  // По типу ордера
   {
      case 0 :                                // Ордер Buy
         if (NormalizeDouble(SL,Digits)<     // Если ниже желаем.
            NormalizeDouble(Bid-TS*Point,Digits))
               {
      // Ниже я только добавил функцию New_Stop
                  SL=Bid-New_Stop(TS)*Point; // то модифицируем его
                  string Text="Buy ";         // Текст для Buy 
                  Modify=true;                // Назначен к модифи.
               }
               break;
// Функция из этой же книги:
int New_Stop(int Parametr)                      // Проверка стоп-прик.
  {
   int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Миним. дистанция
   if (Parametr < Min_Dist)                     // Если меньше допуст.
     {
      Parametr=Min_Dist;                        // Установим допуст.
      Alert("Увеличена дистанция стоп-приказа.");
     }
   return(Parametr);                            // Возврат значения
  }
 

Pouvez-vous me dire comment assigner le temps de la ligne d'indicateur

val1[]. Ou dites-moi comment faire et quoi utiliser parce que je n'arrive pas à comprendre. Indicateur de Laguerre.
   i=CountBars-1;
   while(i>=0)
   {
      L0A = L0;
      L1A = L1;
      L2A = L2;
      L3A = L3;
      L0 = (1 - gamma)*Close[i] + gamma*L0A;
      L1 = - gamma *L0 + L0A + gamma *L1A;
      L2 = - gamma *L1 + L1A + gamma *L2A;
      L3 = - gamma *L2 + L2A + gamma *L3A;

      CU = 0;
      CD = 0;
      
      if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
      if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
      if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;

      if (CU + CD != 0) LRSI = CU / (CU + CD);
      val1[i] = LRSI;
          i--;
        }
         

   if(counted_bars>0)
      counted_bars--;
   
   limit=Bars-counted_bars;
   
   if(limit>CountBars)
      limit=CountBars;
  
   for(int c=1;c<limit;c++)
        
{if(val1[c]>0.45)
   LastLag++;}

Par exemple, lorsque la ligne val1[c] croise 0,45 vers le haut, la valeur du temps est définie dans la variable TimeBegin et lorsqu'elle croise vers le bas, la valeur du temps est définie dans la variable TimeEnd. Et ainsi de suite sur l'ensemble du graphique.

Dossiers :
 
ScioMe:

D'après ce que j'ai compris, OrderModify() peut également modifier les stops sur des barres autres que la barre d'ouverture ?

Les flèches sont sur la barre ouverte. Il suffit de définir leur couleur.
Raison: