[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 96

 
w_ersoc:

Quelqu'un sait-il comment convertir le nombre de pips en monnaie ?

c'est-à-dire que si le bénéfice est en unités de monnaie, alors 50 pips doivent être convertis en unités de monnaie... c'est-à-dire que l'effet de levier doit être pris en compte... ? 0_о


profit=lot*points*VALEUR_TICK
 

oDin48, n'avez-vous jamais pensé que tout d'un coup un ordre s'ouvre et qu'une erreur se glisse quelque part ? alors l'ordre s'ouvre et Vol augmente ?

Je dis cela à brûle-pourpoint, car des situations similaires se sont déjà produites dans d'autres langages de programmation.

Essayez d'afficher le numéro d'erreur dans la fenêtre de message et voyez ce qu'il en est.

 

gogent, tout fonctionnait bien jusqu'à ce que j'écrive les critères de négociation, ou plutôt tout allait bien avec les autres, mais il y a quelque chose qui ne va pas avec ceux-ci... donc je ne pense pas que ce soit le code "ouverture de commande"... Les ouvertures de commandes ne sont pas cycliques, elles s'ouvrent une à une lorsque le signal se déclenche... ... donc c'est soit une condition liée au Vol ou une condition liée au VP... J'essaie de réécrire la même chose avec des mots différents, voyons ce qui se passe...

Ajouté :

Il s'agit du vice-président. Quelque chose dans le code ci-dessous est faux... il est exécuté, si je comprends bien, chaque fois qu'un MA est plus élevé que l'autre... c'est-à-dire toujours... La condition supplémentaire ne fonctionne pas ? Pourquoi ? Comme Opn_B, Cls_B, Opn_S, Cls_S, fonctionne bien, n'est pas créé à chaque tick, mais le VP va à l'infini quelque part...

if ((Opb==0) && (MA_1_t > MA_2_t + Rastvor*Point))           // Если разница между
     {                                          // ..МА 1 и 2 большая
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
      Opb++;                                    // Открытие только одного ордера
      Ops=0;
         if (VKO1>=Ask) {VP=VP*Koff;}           // При прибыли предыдущего умножать на коэф.
         if (VKO1<Ask) {VP=VP*Koff1;}           // При убытке предыдущего умножать на коэф1.
      }
 if ((Ops==0) && (MA_1_t < MA_2_t - Rastvor*Point))           // Если разница между
     {                                          // ..МА 1 и 2 большая
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
      Ops++;                                    // Открытие только одного ордера
      Opb=0;
         if (VKO0<=Bid) {VP=VP*Koff;}           // При прибыли предыдущего умножать на коэф
         if (VKO0>Bid) {VP=VP*Koff1;}           // При убытке предыдущего умножать на коэф1
      }
 
sergeev:

profit=lot*points*VALEUR_TICK

Merci ! =)

 

Je suis désolé, une autre question s'est posée. Existe-t-il un moyen simple de verrouiller un ordre au niveau du take profit?

Par exemple, disons qu'il y a 3 ordres, et que l'un d'entre eux a été fermé. Comment puis-je signaler qu'il a été fermé et obtenir son profit (ou sa perte) ?

 
Si je configure mon EA pour qu'il fonctionne uniquement sur H4, et que pendant le test/optimisation je laisse une période différente (disons H1), cela ne l'affectera pas, n'est-ce pas ?
 
w ersoc, chaque tick(c'est-à-dire dans start()) vérifie si l'ordre a été clôturé à TP. Et d'ailleurs, toutes les actions de l'EA sont enregistrées dans le journal (ou seulement pendant les tests ?).
 
paladin80, si les critères de trading de l'EA sont basés sur des barres / chandeliers / moyennes et ainsi de suite, alors d'après ce que je comprends, il le fera, mais si ce n'est pas le cas, alors il ne le fera pas....
 
gogent:
w ersoc, chaque tick (c'est-à-dire dans start()) vérifie si l'ordre a été clôturé à TP. Et d'ailleurs, toutes les actions de l'EA sont enregistrées dans le journal (ou seulement pendant les tests... ?)

maintenant, bien sûr, les tests sont plus importants...

le résultat final est qu'il y aura toujours un bénéfice précédemment fermé... La logique du problème est que ce n'est que lorsque les prises de bénéfices se déclenchent que nous devons, d'une manière ou d'une autre, créer un drapeau.

 
J'avais un antivirus Kspersky, qui fonctionnait bien, la date limite pour la clé est arrivée, j'ai décidé d'installer Nod 32, l'installation a échoué, ou plutôt, a échoué à mi-chemin, dit que quelque chose ne peut pas installer, maintenant je ne peux pas supprimer, l'Internet est bloqué après 2-3 minutes, que faire, s'il vous plaît conseiller, s'il vous plaît.