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

 
vous oubliez d'inclure les volumes de commande - alors le calcul est correct...
 
isiklik:
...

Veuillez écrire un code en MQL4

...
Il s'agit d'une aide pour ceux qui écrivent leur propre code, et non d'une écriture libre du code. Montrez-moi le code que vous essayez de faire vous-même, mais qui ne fonctionne pas.
 

Désolé de troubler votre paix. C'est la première fois que je vois ça. Si je savais comment écrire du code, je l'aurais écrit moi-même. Je voulais créer ma propre EA. Tout ce que j'avais à faire maintenant était d'écrire le code. J'ai fait le reste avec Forex EA Generator. Je n'ai pas trouvé le moyen de réaliser cette petite pièce par moi-même.

Je vais le chercher ailleurs.

 
isiklik:

Les gars, vivons ensemble. :)

Il s'agit d'un morceau de mon TS, où tous les prix des transactions ouvertes du côté BAY doivent être additionnés, divisés par le nombre de transactions et ajoutés de 200 pips. Et dans le sens de la vente, soustrayez 200 pips.

Qui peut m'aider à écrire du code MQL4 ?

X1 - X les transactions ouvertes

Y - nombre de transactions ouvertes

La formule devrait ressembler à ceci : X1 + X2 + X3 + X4 + X... / Y+200

Par exemple, si j'ai 5 transactions ouvertes sur BAI, je dois les additionner, diviser par 5 et ajouter 200. Et les 8 transactions ouvertes en vente doivent être additionnées, divisées par 8 et soustraites de 200.


Veuillez m'envoyer le code en MQL4.


Merci beaucoup !


//Профит для бая и селла
double tp_buy = AvgPrice(OP_BUY, 200);
double tp_sell = AvgPrice(OP_SELL, 200);




//Считаем среднюю цену открытия и прибавляем Отступ (TP)
double AvgPrice (int type, double TP=0)
   {
   double sum_price=0;
   double sum_comission=0;
   double avg_price=0;
   double order_lots=0;
   
   //складываем Лоты, Цену, Комиссии
   for(int i=OrdersTotal()-1; i>=0; i--)
      {
      bool i2=false; while(i2==false && !IsStopped())i2=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
   
      if(OrderType()==type && OrderSymbol()==_Symbol && Magic==OrderMagicNumber() && OrderCloseTime()==0)
         {
         sum_price += OrderOpenPrice() * OrderLots();
         order_lots += OrderLots();
         sum_comission += OrderSwap()+OrderCommission();
         }
      }
   
   //определяем среднюю цену и прибавляем Отступ
   if (order_lots>0)
      {
      sum_comission = sum_comission / order_lots / MarketInfo(Symbol(),MODE_TICKVALUE) * _Point;
      
      if (type == OP_BUY)
         avg_price = sum_price / order_lots + sum_comission + TP*_Point;
   
      else
         avg_price = sum_price / order_lots - sum_comission - TP*_Point;
      }
   
   return (NormalizeDouble(avg_price,_Digits));
   }
 
Taras Slobodyanik:

Merci beaucoup Taras !

Vous avez de telles erreurs. Je vais essayer de le googler.

erreur 168 : 'AvgPrice' - fonction non définie
erreur 168 : 'AvgPrice' - fonction non définie
error 256 : 'Magic' - identifiant non déclaré
Résultat : 3 erreur(s), 0 avertissement(s)
 
Qui sait ? FORMULE de calcul de la LIGNE DE TENDANCE PAR ANGLE. Sur la base de quelles valeurs cet outil calcule-t-il l'angle dans MT4 ?
 
Taras Slobodyanik:


Google ne m'aide pas du tout. Je n'arrive pas à comprendre ce qui ne va pas avecAvgPrice etMagic.

Ce que je comprends de ce code, c'est qu'il calcule les commissions, les swaps, les lots. Je n'ai pas du tout besoin de ça. :(

 
isiklik:


Google ne m'aide pas du tout. Je n'arrive pas à comprendre ce qui ne va pas avecAvgPrice etMagic.

Ce que je comprends de ce code, c'est qu'il calcule les commissions, les swaps, les lots. Je n'ai pas du tout besoin de ça. :(

Oui, nous avons compris à 100% aussi, c 'est ce dont vous avez besoin.
 
Sergey Gritsay:
Pour ce faire, vous devez créer un serveur en dehors de l'ordinateur local et transférer les données par le biais de ce serveur, respectivement, pour MT vous écrivez un indicateur ou un conseiller qui traite ces données, ou mettez les terminaux sur un serveur VPN et là vous mettez en place un copieur de transactions de votre compte vers les comptes de vos amis. Une autre option consiste à copier vos transactions exécutées sur des niveaux donnés par le biais d'un service de signaux. En général, vous devez utiliser vos capacités financières pour commander le logiciel approprié.

Laissez-moi vous rappeler la préhistoire. J'ai un indicateur qui reçoit des données quotidiennes de csv et les affiche (niveaux horizontaux) sur le graphique. J'ai créé un serveur à partir d'un ordinateur portable de la maison (faible, mais les calculs il n'ya pas besoin et donnera le csv, et ils sont très petits). Sur le serveur pour la connexion de test versé le moteur de forum habituel - tout semble être visible de l'extérieur. Aidez-nous avec des conseils. Cela devrait être sur le serveur pour lire à partir de lui des fichiers csv indicateurs ? C'est-à-dire comment l'indicateur communique avec la base de données csv ? Peut-être remplir le moteur du serveur fTP ou autre chose et peut pour MT besoin d'ouvrir certains ports spéciaux ? Ou bien j'ai pris la mauvaise direction en général ? Merci
 
MosheDayan:

Laissez-moi vous rappeler la préhistoire. Il existe un indicateur qui obtient des données quotidiennes à partir de csv et les affiche (niveaux horizontaux) sur un graphique. J'ai créé un serveur à partir de mon ordinateur portable personnel (faible, mais les calculs n'y sont pas nécessaires et donneront des csv, et ils sont très petits). Sur le serveur pour la connexion de test versé le moteur de forum habituel - tout semble être visible de l'extérieur. Aidez-nous avec des conseils. Cela devrait être sur le serveur pour lire à partir de lui des fichiers csv indicateurs ? C'est-à-dire comment l'indicateur communique avec la base de données csv ? Peut-être remplir le moteur du serveur fTP ou autre chose et peut pour MT besoin d'ouvrir certains ports spéciaux ? Ou bien j'ai pris la mauvaise direction en général ? Merci

Dig MySQL.