Domande da un "manichino" - pagina 42

 
uncleVic:
Significa che non c'è un prezzo fissato nella struttura del risultato dell'esecuzione del trade.

Cioè, se ci sono degli zeri, allora sto facendo qualcosa di sbagliato? Quando si prova nel tester, tutti i trade si aprono con successo, ma tutti i trade hanno[fatto a 0.0000].

E in tempo reale su un conto demo questo non viene osservato:

Probabilmente sto fraintendendo qualcosa. ))) Si prega di chiarire.

 
uncleVic:
Questo significa che non è stato fissato alcun prezzo nella struttura del risultato dell'esecuzione dell 'operazione.
Quale prezzo e perché non fissato? E perché visualizzarlo se non c'è altro valore? E per chi è esposto se nessuno sa cos'è?
 
Valmars:
Qual è il prezzo e perché non è fissato? E perché visualizzarlo se non c'è altro valore? E per chi viene esposto se nessuno sa cos'è?
Forse il tester sta riempiendo troppo poco qualcosa. Scopriamolo.
 
uncleVic:
Forse Tester riempie qualcosa di incompleto. Lo scopriremo.

Beh, ho dato per scontato qualcosa del genere e non ho fatto domande - non è critico, prima o poi lo farò. Ma visto che la domanda è venuta fuori, ho deciso di sostenerla.

Grazie per la risposta.

 
uncleVic:

Se è così, dovrete implementare voi stessi i vostri algoritmi nella vostra classe derivata CExpertSignal,


va bene, ma

zioVic:

sovraccaricando i metodi appropriati e poi inserendoli nel sorgente ottenuto dal Wizard

possiamo avere un semplice esempio?
 

Ci sono 8 matrici USD[ ],EUR[ ],.......... È possibile sostituire programmaticamente il nome dell'array, cioè USD e EUR dall'array con il nome Sym{"USD", "EUR",......}? C'è un altro approccio?

 
Lodar:

va bene, ma...

possiamo avere un semplice esempio?

Per esempio:

...
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:

Per esempio:

bene, grazie, ho capito, posso fargli fare sia la vendita che l'acquisto allo stesso tempo? per esempio rimuove le vendite in sospeso e mette un acquisto, l'ho fatto così
bool MyClass::CheckCloseLong( double&  price)
{
   return(false);
}

bool MyClass::CheckCloseShort( double&  price)
{
   return(false);
}
ma si rifiuta di farlo :)
 
Lodar:
Grande, grazie, l'ho capito, ma posso fare in modo che metta sia la vendita che l'acquisto allo stesso tempo? perché per esempio rimuove le vendite in sospeso e mette l'acquisto, l'ho fatto
ma si rifiuta anche di mettere :)
Dovete modificare (ereditare e cambiare gli algoritmi) la classe CExpert.
 
uncleVic:
È necessario perfezionare (ereditare e cambiare gli algoritmi) la classe CExpert.
Ho capito tutto, grazie!