jeremy10p100 # : Hallo und danke für deine Antwort Ich konnte ein Skript erstellen, das meinen Erwartungen entspricht Leider gibt es noch zwei Fehler, die ich nicht verstehen und korrigieren kann, könntest du wissen, an wen ich mich für eine kleine Hilfe wenden kann Es handelt sich nur um zwei Zeilen Code, die sich nach der Kompilierung als Fehler eintragen...
Sie können eine freiberufliche Stelle erstellen und unter den Entwicklern, die sich auf Ihre Stelle bewerben, auswählen.
Beim Versuch, json über WebRequest zu senden, gibt der Server zurück:"\u0022BTCUSD\u0022 ist kein gültiger Bündeltyp für die Denormalisierung".
D.h. er mag die Kodierung von Anführungszeichen \u0022 nicht. Ich habe versucht, alle Kodierungsvarianten in Header und StringToCharArray anzugeben , nichts hilft.
Aus Python heraus läuft alles problemlos: response = requests.post(url, data=json.dumps(data), headers=headers) d.h. alles ist in Ordnung mit dem Server.
Lassen Sie mich die Frage ein wenig anders formulieren. Ist es möglich, dem Optimierer im OnInit-Block einen Befehl zu geben, die Test-/Optimierungsvariante unter bestimmten Bedingungen zu überspringen.
input group "Входные настройки Стохастик"
input bool Stoch = false; // Стохастик включен/выключен
input int in_StochK = 14; // период основной линии K
input int in_StochD = 3; // период первичного сглаживания D
input int in_StochSlow = 3; // период окончательного сглаживания
int OnInit() {
if ((Stoch = false) && ((StochK != 0) || (StochK != 0) || (StochSlow != 0)))
{
// Некая команда, которая говорит, что такой вариант даже не стоит пробовать оптимизировать
}
}
Ich habe dies versucht, aber es führt zu falschen Optimierungsvarianten.
if ((Stoch = false) && ((StochK != 0) || (StochK != 0) || (StochSlow != 0)))
{
Print("Такой вариант тестирования не имеет смысла");
return(INIT_FAILED);
}
Ziel ist es, dass ich bei der Optimierung die Aufzählung der Varianten von 4 stochastischen Parametern (Stoch, in_StochK, int in_StochD, int in_StochSlow) aktivieren kann.
Wenn Stochastik aktiviert ist (Stoch = true), zählt der Optimierer die Variablen in_StochK, in_StochD, in_StochSlow auf. In diesem Teil funktioniert alles korrekt.
Wenn die Stochastik ausgeschaltet ist (Stoch = false), sucht der Optimierer immer noch nach Variablen in_StochK, in_StochD, in_StochSlow. Und ich muss eine Art Stopper in den Code einbauen, damit er sie nicht durchsucht, wenn Stoch = false ist.
Vielleicht ist diese Ungenauigkeit im Code der Grund dafür, dass der Optimierer nicht richtig funktioniert:
Das ist nicht der Grund. Ich habe den Code als Beispiel für eine funktionierende Logik erstellt. Die Vollversion des Codes ist zu umfangreich - es gibt viele verschiedene Oszillatoren. Bei der Optimierung möchte ich, dass der Optimierer verschiedene Kombinationen ausprobiert (ein Oszillator an, zwei Oszillatoren an, drei Oszillatoren an, usw.).
- Wenn ich diesen Stopper verwende, beendet der Optimierer die Arbeit schnell mit einer kleinen Anzahl von Durchläufen, obwohl es eine große Anzahl von Durchläufen geben sollte.
- Ohne diese Einschränkung arbeitet der Optimierer besser, produziert aber viele leere Varianten (für das obige Beispiel - er sucht seine Parameter immer noch, wenn die Stochastik ausgeschaltet ist). Gott sei Dank mit leeren Varianten, aber das bedeutet sowohl zusätzliche Zeit für die Optimierung als auch leere Durchläufe anstelle von nützlichen Varianten.
Verwenden Sie die genetische oder die vollständige Optimierung?
Ich habe diesen Ansatz auch verwendet, um offensichtlich unnötige Parameterkombinationen auszuschließen, und konnte keine fehlerhafte Leistung des Optimierers feststellen. Im Gegenteil, der Optimierer arbeitete genau wie erwartet.
Sie können versuchen, die ausgelassenen Parameterkombinationen in der Datenbank oder einer gemeinsamen Datei zu speichern, um zu prüfen, wie viele und welche wirklich ausgelassen wurden, und um die Gründe dafür zu verstehen.
Hallo und danke für deine Antwort Ich konnte ein Skript erstellen, das meinen Erwartungen entspricht Leider gibt es noch zwei Fehler, die ich nicht verstehen und korrigieren kann, könntest du wissen, an wen ich mich für eine kleine Hilfe wenden kann Es handelt sich nur um zwei Zeilen Code, die sich nach der Kompilierung als Fehler eintragen...
Sie können eine freiberufliche Stelle erstellen und unter den Entwicklern, die sich auf Ihre Stelle bewerben, auswählen.
https://www.mql5.com/fr/job
Beim Versuch, json über WebRequest zu senden, gibt der Server zurück:"\u0022BTCUSD\u0022 ist kein gültiger Bündeltyp für die Denormalisierung".
D.h. er mag die Kodierung von Anführungszeichen \u0022 nicht.
Ich habe versucht, alle Kodierungsvarianten in Header und StringToCharArray anzugeben , nichts hilft.
Aus Python heraus läuft alles problemlos:
response = requests.post(url, data=json.dumps(data), headers=headers)
d.h. alles ist in Ordnung mit dem Server.
Wie kann man das Problem lösen?
Lassen Sie mich die Frage ein wenig anders formulieren. Ist es möglich, dem Optimierer im OnInit-Block einen Befehl zu geben, die Test-/Optimierungsvariante unter bestimmten Bedingungen zu überspringen.
Ich habe dies versucht, aber es führt zu falschen Optimierungsvarianten.
if ((Stoch = false) && ((StochK != 0) || (StochK != 0) || (StochSlow != 0))) { Print("Такой вариант тестирования не имеет смысла"); return(INIT_FAILED); }Ziel ist es, dass ich bei der Optimierung die Aufzählung der Varianten von 4 stochastischen Parametern (Stoch, in_StochK, int in_StochD, int in_StochSlow) aktivieren kann.
Hallo @taramortom.
Es würde wahrscheinlich helfen, wenn Du einfach
durch ersetzen.
Hallo, @taramortom.
Es würde wahrscheinlich helfen, wenn Sie einfach ersetzen
durch ersetzen.
Vielleicht ist diese Ungenauigkeit im Code der Grund dafür, dass der Optimierer nicht richtig funktioniert:
Vielleicht ist diese Ungenauigkeit im Code der Grund dafür, dass der Optimierer nicht richtig funktioniert:
Das ist nicht der Grund. Ich habe den Code als Beispiel für eine funktionierende Logik erstellt. Die Vollversion des Codes ist zu umfangreich - es gibt viele verschiedene Oszillatoren. Bei der Optimierung möchte ich, dass der Optimierer verschiedene Kombinationen ausprobiert (ein Oszillator an, zwei Oszillatoren an, drei Oszillatoren an, usw.).
- Wenn ich diesen Stopper verwende, beendet der Optimierer die Arbeit schnell mit einer kleinen Anzahl von Durchläufen, obwohl es eine große Anzahl von Durchläufen geben sollte.
- Ohne diese Einschränkung arbeitet der Optimierer besser, produziert aber viele leere Varianten (für das obige Beispiel - er sucht seine Parameter immer noch, wenn die Stochastik ausgeschaltet ist). Gott sei Dank mit leeren Varianten, aber das bedeutet sowohl zusätzliche Zeit für die Optimierung als auch leere Durchläufe anstelle von nützlichen Varianten.
Hallo! Ich schreibe einen Indikator, der auf MA basiert - ExtJawsHandle=iMA(NULL,0,Period,0,Method,AppliedPrice);
wie kann ich programmatisch zu den Niveaus des MA gelangen, wie in der Abbildung unten gezeigt.
Ein Konstrukt vom Typ
IndicatorSetInteger(INDICATOR_LEVELS,1);
IndicatorSetDouble(INDICATOR_LEVELVALUE,0,10);
funktioniert nicht.
IndicatorSetDouble(INDICATOR_LEVELVALUE,0,10);
Funktioniert nicht.
keine Optionen?)