Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 717
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Merci. J'ai des difficultés à appeler une méthode de la classe mère.
Autant que je me souvienne, cela se fait par la méthode parent : :.
La méthode elle-même a-t-elle un corps dans le parent ?
La méthode elle-même dans le parent a-t-elle un corps ?
Oui, c'est vrai.
Voici le code, qu'est-ce que je fais mal ?
//+------------------------------------------------------------------+
class A
{
public:
virtual int Test_A()
{
return 100;
}
};
//+------------------------------------------------------------------+
class B :public A
{
public:
virtual int Test_A()
{
return 200;
}
};
B b;
//+------------------------------------------------------------------+
void OnStart()
{
Comment (A::b.Test_A());
}
//+------------------------------------------------------------------+
Voici le code, qu'est-ce que je fais mal ?
non, ça ne marchera pas comme ça
en écrivant le corps de test() dans la classe B, vous avez fermé l'ancienne fonction Test() et maintenant, lorsque vous déclarez une instance de la classe et que vous appelez la méthode Test(), elle exécutera toujours B::Test(), mais si vous n'aviez pas écrit B::Test(), elle aurait toujours exécuté A::Test().
Voici un exemple. Faites-en l'expérience
Hmm, étrange, personne ne répond.
Je pense que personne n'a compris ton message :)
Bonjour, comment faire pour que l'EA ouvre une position avec un volume spécifié d'ordres simples des deux positions, par ex.
Nous avons spécifié le volume d'un seul ordre = 1,35 lot, et le volume total des positions ouvertes est de 500 lots. L'EA ouvre un ordre d'achat de 1,35 lot, puis ouvre un ordre de vente de 1,35 lot,
puis répète jusqu'à ce que 500 lots d'achat et 500 lots de vente soient ouverts, et puisque le nombre de lots n'est pas un multiple de 1,35, le dernier ordre doit être inférieur à 1,35
Salutations.
J'ai créé une fonction qui, lorsqu'un ordre atteint les points de profit "bezubitok", modifie l'ordre en le déplaçant au niveau d'ouverture de l'ordre. Il semble fonctionner correctement, mais pendant le test (et sur tous les ticks), toutes les 10 à 20 fois, il envoie l'erreur 1 au journal.
Pas d'erreur, mais le résultat est inconnu
Quelle est la raison de ce phénomène et comment puis-je y remédier ?
Salutations.
J'ai créé une fonction qui, lorsqu'un ordre atteint les points de profit "bezubitok", modifie l'ordre en le déplaçant au niveau d'ouverture de l'ordre. Il semble fonctionner correctement, mais pendant les tests (et sur tous les ticks), toutes les 10 à 20 fois, l'erreur 1 est écrite dans le journal.
Quelle est la raison de ce phénomène et comment puis-je y remédier ?
L'erreur 1 n'est pas une erreur, mais le résultat est inconnu. Le fait est que vous essayez de modifier le stop au même prix que celui auquel il se trouve déjà. Avant de le modifier, comparez le prix du stop avec le prix auquel vous voulez le fixer. S'il est déjà à ce prix, il n'y a rien à modifier.