Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 428

 
vadynik:

J'ai besoin de la formule), je vais l'essayer demain, merci !

C'est déjà arrivé, et plus d'une fois. Ça devrait aider à comprendre :

J'essaie de savoir combien de pips (en épingles) le prix peut descendre en moins.
formule : Lot=Money/(Staples*Tick)
Argent - gagné/perdu
Stoplos - pips du courtier
Tick - MarketInfo( MODE_TICKVALUE)
A partir de là, tordez comme vous le souhaitez :
Stopplus=Money/(Lot*Tick)
Argent=Lot*Stopplus*Tick


 
vitali-attila:
Bonjour. Pourriez-vous me dire où est stocké le fichier d'informations sur les comptes ? J'ai besoin de modifier le stoplevel et l'écart pour le testeur de stratégie. S'il existe un autre moyen, veuillez m'en faire part.
Le niveau d'arrêt ne change pas, mais l'écart est facile à modifier dans les paramètres du testeur de stratégie - sous le choix de la période, il y a un choix de la taille de l'écart.
 
Mr.Profit:

Salutations, chers amis !

Comment puis-je connaître le nom complet du fichier (avec le chemin) dans lequel mon Expert Advisor/Script écrit en utilisant FileOpen/FileWrite ?

TerminalPath() + "\\\experts\\files\\" sur Win7 x64 avec UAC activé indique "C:³Program Files (x86)³Alpari Limited MT4 ³experts ³files ³", alors que je voudrais obtenir "C:\Users\<CurrentUser>AppData\Local\VirtualStore\Program Files (x86)\Alpari Limited MT4\experts\files\"

Taki - personne ne sait ?
 

J'essaierais fileopen("%userprofile%\AppData\Local\VirtualStore "+ tronquer la ligne TerminalPath()+"\experts\\\\\\\\\"

Mieux encore, finissez-en avec la virtualisation.

 
splxgf:

J'essaierais fileopen("%userprofile%\AppData\Local\VirtualStore "+ tronquer la ligne TerminalPath()+"\experts\\\\\\\\\"

Mieux vaut terminer par la virtualisation.

Je ne comprends pas la virtualisation... Tout cela se passe sur un ordinateur Win7 normal, le cas échéant (pas sur une virtualisation).

Extraire une partie du chemin de TerminalPath() et l'ajouter à %userprofile% - perversion, et cela ne fonctionnera que si le terminal est installé dans Program Files. Mais s'il est installé dans X:\a\b\c\d - quelle partie du chemin doit être ajoutée à %userprofiles% ?

 
artmedia70:

C'est déjà arrivé, et plus d'une fois. Ça devrait aider si tu es intelligent :

comment calculer sur la base des fonds disponibles et du lot combien de pips (en points) le prix peut devenir négatif ??? quelqu'un a un tel code ????
formule : Lot=Money/(Staples*Tick)
Argent - gagné/perdu
Stoplos - pips du courtier
Tick - MarketInfo( MODE_TICKVALUE)
A partir de là, tordez comme vous le souhaitez :
Stopplus=Money/(Lot*Tick)
Argent=Lot*Stopplus*Tick




Oui, tout s'est arrangé, merci !
 
Mr.Profit:

A propos de la virtualisation - malentendu... Tout cela se passe sur un PC Win7 normal, le cas échéant (pas sur une virtualisation).

Extraire une partie du chemin de TerminalPath() et l'ajouter à %userprofile% - perversion, et cela ne fonctionnera que si Terminal est installé dans Program Files. Mais s'il est installé dans X:\a\b\c\d - quelle partie du chemin doit être ajoutée à %userprofiles% ?

п.1. Désactivez l'UAC ou exécutez en tant qu'administrateur.

Quel est le problème et pourquoi avez-vous besoin du chemin complet ? Les fonctions de fichiers dans MT4 sont en soi virtualisées et limitées au répertoire experts\files.

Si vous voulez une fonctionnalité complète, allez sur windows api https://www.mql5.com/ru/forum/112692 ou consultez le point 1.

 
splxgf:

п.1. Désactivez l'UAC ou exécutez en tant qu'administrateur.

Quel est le problème et pourquoi avez-vous besoin du chemin complet ? Les fonctions de fichiers dans MT4 sont en soi virtualisées et limitées au répertoire experts\files.

Si vous avez besoin de toutes les fonctionnalités, allez sur windows api https://www.mql5.com/ru/forum/112692 ou consultez le point 1.

Mon script génère une sorte de rapport HTML. J'ai un désir irrésistible ( ;-) ) de voir le rapport s'ouvrir automatiquement dans un navigateur en appelant ShellExecuteA() à partir de shell32.dll - j'ai besoin du chemin complet pour cela.

La raison pour laquelle je ne veux pas utiliser l'étape 1 est que je veux une solution universelle.

 
Essayez de créer un fichier en utilisant l'api win (CreateFileA), il sera probablement créé dans le dossier de profil de l'utilisateur, et calculez ensuite le chemin complet à partir du handle.
 

Les gars, s'il vous plaît, vérifiez la fonction, j'ai quelques doutes à son sujet.

void CloseHalfOrders(int otype) // ф-ция закрытия половины ордеров сетки
{
  int count = 0; double CTbuy = CountTrades(OP_BUY); double CTsell = CountTrades(OP_SELL);
  double n = NormalizeDouble (CTbuy/2,1); double k = NormalizeDouble (CTsell/2,1); 
  for (int i =0; i<OrdersTotal();)
  {
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
    {
       if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
       {
         if (otype == OP_BUY)
         {
           if (count<n)
           OrderClose(OrderTicket(),OrderLots(),Bid,0,Lime);
           count++;
           Sleep(1000);
         } //if (otype == OP_BUY)
           if (otype ==OP_SELL)
           {
             if (count<k)
             OrderClose(OrderTicket(),OrderLots(),Ask,0,Lime);
             count++;
             Sleep(1000);
           }//if (otype ==OP_SELL)
         }//if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype)
           else i++;    
         }//if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
       }//for (int i =0; i<OrdersTotal();)
     }//void CloseHalfOrders(int otype)