[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 287

 
rid писал(а) >>

Eine solche Lösung wird nicht funktionieren. Es wird nicht in der Lage sein, den allerersten Handel zu eröffnen. Denn die Bedingung für die Eröffnung des allerersten Trades in Ihrer Variante ist die Schließung aller vorherigen Trades bei Take oder Stop!

Das heißt, es ist ein Teufelskreis.

Die Logik der Arbeit sollte also geändert werden.

 
Lassen Sie mich Ihnen eine Frage stellen. Wird es im 5. Trinder so etwas wie eine Klasse (OOP) geben?
 

Können Sie mir eine Lösung geben, wie ich den Wert der ersten N Ziffern einer ganzzahligen Variablen berechnen kann?

Nur durch Umwandlung in eine Zeichenkette?

 
goldtrader >> :

Können Sie mir eine Lösung geben, wie ich den Wert der ersten N Ziffern einer ganzzahligen Variablen berechnen kann?

In welchem Zahlensystem ist es? In Dezimalzahlen?

Nur durch Umwandlung in eine Zeichenkette?

Nein, natürlich nicht.

 
TheXpert писал(а) >>

Ziffern in welchem Zahlensystem? Dezimal?

Ja, in Dezimalzahlen.

Ich mache das so: int -> double -> string -> Substr -> compare.

Es funktioniert, aber es sieht irgendwie unbeholfen und rustikal aus. Ich würde es gerne eleganter haben ))))

 
goldtrader >> :

Ja, in Dezimalzahlen.

Ich mache das so: int -> double -> string -> Substr -> compare.

Es funktioniert, aber es sieht irgendwie verzerrt und rustikal aus. Ich würde es gerne eleganter haben ))))

//+------------------------------------------------------------------+
//|                                                NElementsTest.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, TheXpert"
#property link      "theforexpert@gmail.com"

int FirstN(int N, int value)
{
   int value_ = value;
   
   int length = 0;
   
   while( value_ != 0) 
   {
      value_ /= 10;
      length++;   
   }
   
   int toDivide = MathMax( length - N, 0);
   return ( value/NormalizeDouble(MathPow(10, toDivide), 0));
}

void Out(int N, int value)
{
   Print("Value = ", value, " , First ", N, " = ", FirstN( N, value));
}

int start()
{
   Out(5, 12345678);
   Out(1, 12345678);
   Out(6, 12345);
   Out(5, -1234567);

   return(0);
}
MathPow ist langsam, es wäre eine gute Idee, es zu ersetzen, aber es sollte schneller sein als Strings.
 
TheXpert писал(а) >>
MathPow ist langsam, es wäre eine gute Idee, es zu ersetzen, aber es sollte schneller sein als Strings.

Ich habe gerade angefangen, MathPow zu benutzen. Ich würde gerne klären... Wie langsam ist sie? Wann sollte ich anfangen, x^2 = x*x zu ersetzen? Und lohnt es sich, sie zu ersetzen, wenn der Grad "nicht groß" ist? oder "hoch"...?

 
TheXpert писал(а) >>
MathPow - das Ding ist langsam, es wäre wünschenswert, es zu ersetzen, aber es sollte schneller sein als Strings.

Vielen Dank, Andrew!

Es ist wirklich programmatisch!

 
Rosh >> :

Wäre MetaTrader 4, wie Sie sagen, "auf DCs zugeschnitten" gewesen, wäre er bei den Händlern nicht so beliebt gewesen. Solche Gerüchte können nur verbreitet werden, um ihre eigene Software zu rechtfertigen.

100 Punkte! Die Nachfrage auf dem Markt ist groß, aber das Angebot übersteigt die Nachfrage, und es liegt auf der Hand, dass die neuen Maklerfirmen verschiedene Tricks anwenden, um Kunden anzulocken und von ihnen den höchsten Ertrag zu erhalten.

 
DDFedor >> :

Ich habe gerade angefangen, MathPow zu benutzen. Ich würde gerne klären... Wie langsam ist sie? Wann sollte ich anfangen, x^2 = x*x zu ersetzen? Und lohnt es sich, sie zu ersetzen, wenn der Grad "nicht groß" ist? oder "hoch"...?

Tut. Der von Ihnen zitierte Ausdruck ist es auf jeden Fall wert.

goldtrader >> :

>> Vielen Dank, Andrew!

Ich freue mich, Ihnen helfen zu können.