Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 562

 
Aleksandr Lishchenko:

Ich lerne gerade!

Seien Sie nicht zu streng! ;)

Lernen Sie, wie man Codes aus dem Netzwerk herunterlädt, sie an Ihr Konto anhängt und Geld über Affiliate verdient? Sie müssen es nicht lernen, es ist ziemlich einfach.

 
Vitaly Muzichenko:

Lernen Sie, wie man Codes aus dem Internet herunterlädt, sie mit Ihrem Konto verknüpft und Geld mit Ihrem Partner verdient? Sie brauchen nicht zu lernen, wie man das macht, es ist ganz einfach.

Ich möchte den (in Auftrag gegebenen) Expert Advisor meines Autors mit meinem Account verknüpfen und ihn auf einen dubiosen Server legen, was ist daran nicht zu verstehen =)

Ich bitte um Ihre Hilfe, sagen Sie mir bitte, was ich veröffentlichen muss.
 
Aleksandr Lishchenko:

Ich möchte den (in Auftrag gegebenen) EA meines Autors mit einem Konto verknüpfen und auf einem fragwürdigen Server hosten, was ist daran nicht zu verstehen =)

Deshalb bitte ich Sie um Ihre Hilfe, bitte teilen Sie mir mit, was Sie veröffentlichen müssen.

Sie haben die Antwort.

Sie können aber auch am Ende vonOnInit einfügen

int OnInit()
  {
//---
  // Здесь уже есть код
//---
 // Проверка счёта
  if(AccountInfoInteger(ACCOUNT_LOGIN) != 123456 ) return(INIT_FAILED);
//---
 return(INIT_SUCCEEDED);
  }
 
Vitaly Muzichenko:

Man hat Ihnen gesagt

Sie können aber auch am Ende vonOnInit einfügen

Sind Sie sicher, dass die Person nicht noch einmal kopiert, ohne nachzudenken?

if(AccountInfoInteger(ACCOUNT_LOGIN) != 123456 ) return(INIT_FAILED);
 
Ihor Herasko:

Das ist nicht ganz richtig. Als erstes wird der nächstgelegene korrekte Wert (auf der Grundlage des eingestellten Wertes) berechnet und dann die Differenz zwischen den Werten überprüft. Wenn er Null ist (oder nicht mehr als DBL_EPSILON), dann ist alles in Ordnung:

Die Funktion VolumeCast kann von hier übernommen werden.

Vielen Dank für Ihre Aufmerksamkeit.

 
Ihor Herasko:

Das ist nicht ganz richtig. Zunächst wird der nächstgelegene korrekte Wert (ausgehend von einem gegebenen Wert) berechnet, und dann wird die Differenz zwischen den Werten überprüft. Wenn er Null ist (oder nicht mehr als DBL_EPSILON), dann ist alles in Ordnung:

Die Funktion VolumeCast kann von hier übernommen werden.

Danke. Ich würdeVolumeCast noch etwas verfeinern, denn wenn wir ganz normale Werte einstellen, z. B. Losgröße gleich 0,01 und Mindestlosgröße gleich 0,01, während die vom Benutzer angegebene Größe korrekt ist, z. B. 0,03, dannerhöht VolumeCast die Größe auf 0,04. Das würde ich tun:

double VolumeCast(double volume, double volumeMin, double volumeMax, double volumeStep)
{
   if (volumeStep == 0.0)
      return volumeMin;
   if(volumeStep!=volumeMin)
      return (MathMin(MathFloor(volume / volumeStep) * volumeStep + volumeMin, volumeMax));
   else
      return (MathMin(MathFloor(volume / volumeStep) * volumeStep, volumeMax));
}
 
Aleksandr Teleguz:

Ich danke Ihnen. Nur würde ichVolumeCast gerne noch etwas verfeinern, denn wenn wir ganz normale Werte einstellen, z.B. Losgröße gleich 0,01 und Mindestlosgröße gleich 0,01 und der vom Benutzer eingestellte Volumenwert korrekt ist, z.B. 0,03, dannwird VolumeCast das Volumen auf 0,04 erhöhen:

Ja, richtig.

 
Können Sie mir sagen, ob es möglich ist, einen Code zu schreiben, der sowohl auf MT5 als auch auf MT4 funktioniert?
 
Roman Sharanov:
Können Sie mir sagen, ob es möglich ist, einen Code zu schreiben, der auf MT5 und MT4 funktioniert?

Zum Beispiel

#ifdef __MQL5__
        int totalPsitions = PositionsTotal();
#else
        int totalPsitions = OrdersTotal();
#endif
 
Konstantin Nikitin:

Zum Beispiel wie folgt

und die Daten von den Indikatoren, dem Diagramm?

Grund der Beschwerde: