Fragen von einem "Dummy" - Seite 42

 
uncleVic:
Das bedeutet, dass in der Struktur des Ergebnisses der Handelsausführung kein Preis festgelegt ist.

Das heißt, wenn es Nullen gibt, dann mache ich etwas falsch? Beim Testen im Tester werden alle Geschäfte erfolgreich geöffnet, aber alle Geschäfte wurden[zu 0,0000] abgeschlossen.

Und in Echtzeit auf einem Demokonto wird dies nicht beobachtet:

Wahrscheinlich habe ich etwas missverstanden. ))) Bitte klären Sie das.

 
uncleVic:
Dies bedeutet, dass in der Struktur des Ausführungsergebnisses des Geschäfts kein Preis festgelegt wurde.
Welcher Preis und warum nicht festgelegt? Und warum sollte sie angezeigt werden, wenn es keinen anderen Wert gibt? Und für wen wird sie angezeigt, wenn niemand weiß, was sie ist?
 
Valmars:
Wie hoch ist der Preis und warum ist er nicht festgelegt? Und warum wird er angezeigt, wenn es keinen anderen Wert gibt? Und für wen wird es angezeigt, wenn niemand weiß, was es ist?
Vielleicht füllt das Prüfgerät etwas zu wenig ein. Finden wir es heraus.
 
uncleVic:
Vielleicht füllt Tester etwas Unvollständiges aus. Wir werden es herausfinden.

Nun, ich bin von so etwas ausgegangen und habe keine Fragen gestellt - es ist nicht kritisch, früher oder später werde ich mich damit befassen. Aber da die Frage aufkam, habe ich beschlossen, sie zu unterstützen.

Vielen Dank für die Antwort.

 
uncleVic:

Wenn dies der Fall ist, müssen Sie Ihre Algorithmen selbst in Ihrer abgeleiteten Klasse CExpertSignal implementieren,


das ist in Ordnung, aber

OnkelVic:

Überladen geeigneter Methoden und anschließendes Einfügen in den vom Assistenten erhaltenen Quelltext

Können wir ein einfaches Beispiel haben?
 

Es gibt 8 Arrays USD[ ],EUR[ ],.......... Ist es möglich, den Namen des Arrays, d.h. USD und EUR aus dem Array mit dem Namen Sym{"USD", "EUR",......} programmatisch zu ersetzen? Gibt es einen anderen Ansatz?

 
Lodar:

Das ist gut, aber...

Können wir ein einfaches Beispiel haben?

Zum Beispiel:

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

Zum Beispiel:

Cool, danke, ich hab's verstanden, kann ich es so machen, dass es gleichzeitig verkauft und kauft? zum Beispiel entfernt es ausstehende Verkäufe und setzt einen Kauf, ich habe es so gemacht
bool MyClass::CheckCloseLong( double&  price)
{
   return(false);
}

bool MyClass::CheckCloseShort( double&  price)
{
   return(false);
}
aber er weigert sich, das zu tun :)
 
Lodar:
Großartig, danke, ich habe es verstanden, aber kann ich es dazu bringen, gleichzeitig zu verkaufen und zu kaufen? denn zum Beispiel entfernt es ausstehende Verkäufe und platziert Käufe, ich habe das getan
aber es weigert sich, auch zu platzieren :)
Sie müssen die Klasse CExpert ändern (erben und Algorithmen ändern).
 
uncleVic:
Es ist notwendig, die Klasse CExpert zu verfeinern (vererben und Algorithmen ändern).
Ich habe alles herausgefunden, danke!