Questions d'un "mannequin - page 42

 
uncleVic:
Cela signifie qu'il n'y a pas de prix fixé dans la structure du résultat de l'exécution de la transaction.

Autrement dit, s'il y a des zéros, c'est que je fais quelque chose de mal ? Lors du test dans le testeur, toutes les transactions s'ouvrent avec succès, mais toutes les transactions sont[effectuées à 0.0000].

Et en temps réel sur un compte de démonstration, cela n'est pas observé :

Je comprends probablement mal quelque chose. ))) Veuillez clarifier.

 
uncleVic:
Cela signifie qu'aucun prix n'a été fixé dans la structure du résultat de l'exécution de la transaction.
Quel prix et pourquoi ne pas fixer ? Et pourquoi l'afficher s'il n'y a pas d'autre valeur ? Et pour qui est-il affiché si personne ne sait ce qu'il est ?
 
Valmars:
Quel est le prix et pourquoi n'est-il pas fixé ? Et pourquoi l'afficher s'il n'y a pas d'autre valeur ? Et pour qui est-il affiché si personne ne sait ce qu'il est ?
Peut-être que le testeur ne remplit pas suffisamment quelque chose. Nous allons le découvrir.
 
uncleVic:
Peut-être que Tester remplit quelque chose d'incomplet. Nous allons le découvrir.

Eh bien, j'ai supposé que c'était le cas et je n'ai pas posé de questions - ce n'est pas critique, tôt ou tard, j'y arriverai. Mais puisque la question a été soulevée, j'ai décidé de la soutenir.

Merci pour la réponse.

 
uncleVic:

Si c'est le cas, vous devrez implémenter vous-même vos algorithmes dans votre classe dérivée CExpertSignal,


c'est bien, mais

oncleVic:

en surchargeant les méthodes appropriées, puis en les insérant dans la source obtenue à partir de l'Assistant

Peut-on avoir un exemple simple ?
 

Il y a 8 tableaux USD[ ],EUR[ ],.......... Est-il possible de substituer programmatiquement le nom du tableau, c'est-à-dire USD et EUR du tableau avec le nom Sym{"USD", "EUR",......} ? Existe-t-il une autre approche ?

 
Lodar:

c'est bien, mais...

Peut-on avoir un exemple simple ?

Par exemple :

...
class CMyExpertSignal : public CExpertSignal
  {
public:
   virtual double Direction()
     {
      //--- алгоритм отличный от реализованного в классе CExpertSignal
     }
   virtual bool OpenLongParams(double& price,double& sl,double& tp,datetime& expiration)
     {
      //--- алгоритм отличный от реализованного в классе CExpertSignal
     }
   virtual bool OpenShortParams(double& price,double& sl,double& tp,datetime& expiration)
     {
      //--- алгоритм отличный от реализованного в классе CExpertSignal
     }
  };
...
//+------------------------------------------------------------------+
//| Initialization function of the expert                            |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Initializing expert
...
//--- Creating signal
   CExpertSignal *signal=new CMyExpertSignal;
   if(signal==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating signal");
      ExtExpert.Deinit();
      return(-2);
     }
//---
 
uncleVic:

Par exemple :

cool, merci, j'ai compris, puis-je faire en sorte qu'il fasse à la fois des ventes et des achats en même temps ? par exemple, il supprime les ventes en attente et met un achat, j'ai fait comme ceci
bool MyClass::CheckCloseLong( double&  price)
{
   return(false);
}

bool MyClass::CheckCloseShort( double&  price)
{
   return(false);
}
mais il refuse de le faire :)
 
Lodar:
Super, merci, j'ai compris, mais puis-je faire en sorte qu'il place les ventes et les achats en même temps ? parce que par exemple il supprime les ventes en attente et place les achats, j'ai fait cela
mais il refuse de placer aussi :)
Vous devez modifier (hériter et changer les algorithmes) la classe CExpert.
 
uncleVic:
Il est nécessaire d'affiner (hériter et changer les algorithmes) la classe CExpert.
J'ai tout compris, merci !
Raison: