[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 79

 
albion:
Ich bitte alle Experten, sich das Thema https://forum.mql4.com/ru/38745#429784 anzusehen.

Bitte fangen Sie an, Ihren eigenen Code zu schreiben und diskutieren Sie alles, was Sie nicht verstehen, in diesem Thread. Vergessen Sie nicht, den Teil des Codes zu zeigen, bei dem Sie auf Schwierigkeiten stoßen.
 
drknn:

Irgendwelche Ideen?
 
NameLess:


point_low=NormalizeDouble(iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0),Digits);

wot)


Und was bedeuten die Ziffern? Erstellen Sie ein neues Skript, in dem Sie nur eine Zeile schreiben:

Print("Дигитс данной валютной пары нормализует до ",Digits," знаков после запятой");
 
drknn:


Was bedeuten die Ziffern? Erstellen Sie ein neues Skript, in dem Sie nur eine Zeile schreiben:


bereits überprüft, es ist korrekt (es ist eine Terminal-Konstante).
 
drknn:


Was bedeuten die Ziffern? Erstellen Sie ein neues Skript, in dem Sie nur eine Zeile schreiben:


Ich versuche, den Quellcode von iMA zu finden, vielleicht funktioniert die Konvertierung nicht richtig, weil alle Berechnungen von ima kommen, ich habe keine weiteren Ideen((
 
NameLess:

bereits überprüft, es ist korrekt (es ist eine Terminal-Konstante).

Sie haben meine Frage nicht beantwortet. Wie hoch sind die Ziffern dieses Währungspaares? Und übrigens, um welches Währungspaar handelt es sich und wie viele Dezimalstellen hat es und wie viele Pips pro Tick bewegt es sich?
 
drknn:

Sie haben meine Frage nicht beantwortet. Was bedeuten die Ziffern für dieses Währungspaar? Übrigens, um welches Währungspaar handelt es sich?

Digits ist 5, es ist eine Konstante und kann keinen anderen Wert annehmen. eurobucks
 
NameLess:

Ziffern gleich 5 ist, kann diese Konstante keinen anderen Wert annehmen. eurobucks Paar


Versuchen Sie es auf eine andere Art. Schreiben Sie Folgendes in die erste Zeile der Funktion Start:

string SMB=Symbol();
int DGS=MarketInfo(SMB,MODE_DIGITS);
Print("Дигитс = ",Digits,"  DGS = ",DGS);
string Val="";
Val = iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
double point_low=iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
Print("Val = ",Val,"  point_low до нормализации = ",point_low);
point_low = NormalizeDouble(point_low,5);
Print("point_low после нормализации = ",point_low);
 

Vielleicht endet der Wert dort mit einer Null und diese letzte Null wird beim Normalisierungsprozess einfach verworfen? Verworfen, weil der Eintrag 0,1 gleichbedeutend mit 0,10 ist und Null besser verworfen wird?

P.S.

Wissen Sie, wenn man keinen Zugang zum Terminal und zu den von Ihnen verwendeten Anführungszeichen hat, ist es problematisch zu verstehen, was was ist - es gibt nur noch eines: Experimente.

 
drknn:


Versuchen Sie es auf eine andere Art. Schreiben Sie Folgendes in die erste Zeile der Funktion Start


Ich danke Ihnen! Ich werde es ausprobieren!