Fehler, Irrtümer, Fragen - Seite 1380
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Der Antrag wurde erstellt, aber seit mehr als drei Tagen hat sich niemand mehr darum gekümmert.
Wie lautet die Antragsnummer?
Das immerwährende Thema der Dubs =)
Ich fordere die Entwickler auf, zwei Standardfunktionen hinzuzufügen.
Ich schlage die folgende Spezifikation vor:
====
Rp
Die Funktion gibt den Wert zurück, der an die Kursstufe des Instruments angepasst werden soll.
double Rp(
stringsymbol_name, // Name des Symbols
doublewert// Preis zum Angleichen
);
Parameter
symbol_name
[in] Symbol.
Wert
[in] Positive Zahl.
Zurückgegebener Wert
Nächste Zahl, gerundet auf die Preisstufe des Handelsinstruments.
...
Beispiel:
Werte eingeben:
symbol_name = ES-...
Wert = 2000,55
Leistung = 2000,50
(Preisschritt nach Instrument ES = 0,25)Werte eingeben:
symbol_name = SPX
Wert = 2000,55
Leistung = 2000,63
(beim SPX beträgt die Kursstufe ebenfalls 0,25, wie beim ES, aber es gibt einen Basis-Offset und die Notierung kann nur die folgenden Bruchteile haben - 13,38,63,88)
Werte eingeben:
symbol_name = RTS
Wert = 82055,55
Ausgang = 82060
(Kurssprung des RTS-Instruments = 10)
...und so weiter.
Die zweite Funktion, die mich noch mehr interessiert:
====
Rv
Die Funktion gibt einen Wert zurück, der auf die Lautstärkestufe des Instruments abgestimmt ist und im Bereich von SYMBOL_VOLUME_MIN bis SYMBOL_VOLUME_MAX liegt.
double Rv(
stringsymbol_name, // Name des Symbols
doubleWert// auszurichtende Partie
);
Parameter
symbol_name
[in] Symbol.
Wert
[in] Positive Zahl.
Zurückgegebener Wert
Die nächste Zahl, aufgerundet auf den Volumenschritt desHandelsinstruments. Die Zahl wird nicht größer als SYMBOL_VOLUME_MAX oder kleiner als SYMBOL_VOLUME_MIN sein.
...
======
Die wichtigste Eigenschaft, die ich von diesen Funktionen erwarte, ist, dass sie für ALLE HANDELSINSTRUMENTE DER WELT und für JEDE EINFÜHRUNG gültig sein sollten.
Wenn jemand eine fertige Lösung hat, bitte teilen, solange die Entwickler tun.
Seltsam, dass es immer noch keine solche gibt =/
Um das Problem aus Ihrem Kommentar zu lösen, habe ich eine dümmste und unbeholfenste Funktion erstellt, aber auch sie schlägt bei vielen Eingabewerten fehl.
Funktionscode:
Der Punkt ist, dass ich dummerweise die ganze Mühe der Bestimmung des signifikanten Teils der Bruchzahl auf die Methode verlagert habe, die der Compiler anstelle des Operators =(string) einfügt.
Es stellt sich jedoch heraus, dass der Code auf diese Weise die Zeichenkette fast wie der g-Typ von printf() formatiert, d.h. bei langen Brüchen wird die Zeichenkette in einem wissenschaftlichen Format ausgegeben.
Wie kann ich die Ausgabe in eine Zeichenkette für ein beliebiges n ohne exponentielles Format und ohne zusätzliche Ziffern auf der rechten Seite, und ohne Ärger =) bekommen?
Und noch eine Frage: Ist es immer ein Dezimalbruch, der durch einen Punkt getrennt ist, oder kann es standardmäßig in den Systemeinstellungen ein Komma oder etwas anderes sein?
Um das Problem aus Ihrem Kommentar zu lösen, habe ich eine dümmste und unbeholfenste Funktion erstellt, aber auch sie schlägt bei vielen Eingabewerten fehl.
Funktionscode:
Der Punkt ist, dass ich dummerweise die ganze Mühe der Bestimmung des signifikanten Teils der Bruchzahl auf die Methode verlagert habe, die der Compiler anstelle des Operators =(string) einfügt.
Es stellt sich jedoch heraus, dass der Code auf diese Weise die Zeichenkette fast wie der g-Typ von printf() formatiert, d.h. bei langen Brüchen wird die Zeichenkette in einem wissenschaftlichen Format ausgegeben.
Wie kann ich die Ausgabe in eine Zeichenkette für ein beliebiges n ohne exponentielles Format und ohne zusätzliche Ziffern auf der rechten Seite, und ohne Ärger =) bekommen?
Und noch eine Frage: Ist es immer ein Dezimalbruch, der durch einen Punkt getrennt ist, oder kann es standardmäßig in den Systemeinstellungen ein Komma oder etwas anderes sein?
Und was gefällt Ihnen nicht an Point(), Digits???
Zumindest gibt es DigitsLot(), das die Genauigkeit des Volumenschritts zurückgibt.
Vielleicht habe ich Ihren Hinweis nicht verstanden. Gibt es eine sinnvolle Möglichkeit, das Gesuchte über Point() oder Digits() zu erhalten?
Dennoch, wirklich brauchen diese beiden Funktionen, die ich oben beschrieben (gültig Equalizer für Preis und für die Menge).
Ich verstehe, dass in den Forex-Küchen das Volumen meist in 0,01-Schritten akzeptiert wird, und niemand kümmert sich darum, was morgen passieren wird, aber das Terminal entwickelt sich.
Es gibt immer mehr Werkzeuge. Alle selbstgebauten Geräte, die nicht die ganze Menge an Schritten erlauben, funktionieren nicht mehr. Wer sagt denn, dass es nicht eine Mindestmenge von, sagen wir, einem Viertel geben wird? Es gibt nicht viele Varianten.
Diese Lösung muss absolut sein (für alle Werte), sonst kann man ihr nicht trauen.
Und über das Zitat. Wenn Sie eine Anfrage senden, akzeptiert der Server Preise, die nicht gerade sind, wenn auch nur, um sie zu normalisieren (schneiden sie in Zeichen), aber es gibt andere Aufgaben.
Sie stimmen zu, dass wir in der Lage sein sollten, ein realistisches Angebot für ein beliebiges Symbol zu erhalten, nicht aber ein getrimmtes.
Um das Problem aus Ihrem Kommentar zu lösen, habe ich eine dümmste und unbeholfenste Funktion erstellt, aber auch sie schlägt bei vielen Eingabewerten fehl.
Funktionscode:
...Halten Sie mich nicht für einen Dummkopf, der wegen eines rein mathematischen Problems so hartnäckig aus einer Zahl eine Kette macht.
Zuerst habe ich versucht, es über den Logarithmus zu machen, aber es stellte sich als fehlerhaft heraus, so dass es kein Zurück mehr gab =(
Ich korrigiere mich. Diese scheint zu funktionieren:
Halten Sie mich nicht für zu dumm, um aus einer Zahl eine Zeichenkette für ein rein mathematisches Problem zu machen.
Zuerst habe ich ehrlich gesagt versucht, es über den Logarithmus zu machen, aber es hat sich als verdammt schwierig herausgestellt =(
Nur für den Fall, warum magst du nicht NormalizeDouble()_Point _Digits ?????????
Warum bauen Sie ein Fahrrad?
Nur für den Fall, was ist falsch mit NormalizeDouble() _Point _Digits ?????????
Warum bauen Sie ein Fahrrad?
Ich werde diese Frage noch einmal beantworten, nur für den Fall. Bitte erklären Sie mir, wie ich die Genauigkeit von SYMBOL_VOLUME_STEP mit "NormalizeDouble() _Point _Digits" herausfinden kann?
Oder wie erhält man ein Vielfaches von SYMBOL_VOLUME_STEP aus einer beliebigen positiven Zahl?
So erhalten Sie das folgende Ergebnis:
2000,55 (ES-Symbol) -----> 2000,50
2000,55 (SPX-Symbol) -----> 2000,63
1055.5555 (RTS-Symbol) ------> 1060
für jedes Symbol der Welt, das heute (und vorzugsweise morgen) im MT5-Terminal verfügbar ist
"????????"
Die Entwickler können nur 2 Funktionen hinzufügen und sie im Laufe der Entwicklung des Terminals ändern, und ich kenne nicht alle Eigenheiten der verschiedenen Handelsinstrumente. Wo kann ich herausfinden, welche Zitate überhaupt existieren? Und ich brauche ein Zitat, nicht das Ergebnis von NormalizeDouble().
Wenn dieses Fahrrad ist bereits da draußen - stoßen Sie auf eine bestimmte Umsetzung, würde ich es zu schätzen wissen. Was ich bereits gefunden habe, funktioniert bei einigen Symbolen im Moment nicht.
...
2000,55 (ES-Symbol) -----> 2000,50
2000,55 (Symbol SPX) -----> 2000,63
1055.5555 (Symbol RTS) ------> 1060
...