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
Wenn jemand die Bibliothek in MT4 verwendet hat, sagen Sie mir bitte, welche Erweiterung die FCL-Datei haben sollte und wo sie zu speichern ist.
Ichhabe einen Indikator geschrieben. Der Ablauf ist wie im Artikel beschrieben.
1. ein Modell erstellen (kein Fehler)
IDm=ffll_new_model(); // create model returns model index
if(IDm<0){
string txt=ffll_get_msg_textA(IDm); // get error message.
Alert("Kein Modell erstellt "+txt);return(0);}
2.Laden Sie die Datei mit dem Programm (es gibt eine Fehlermeldung). Die Datei befindet sich in dem Verzeichnis. \{Expert\File . Ich habe es mit der Endung .fcl .txt versucht.
h=ffll_load_fcl_file(IDm, "Histo.txt"); // lade das Fuzzy Modeling Language Programm
if(h<0){
txt=ffll_get_msg_textA(IDm); // bekomme Fehlermeldung.
Alert("Programmdatei nicht geladen "+txt);return(0);}
3. eine Tochter erstellen.
ID1=ffll_new_child(IDm); // Erstellen eines Tochtermodells für das angegebene Modell liefert den Modellindex
if(ID1<0){
txt=ffll_get_msg_textA(IDm); // Fehlermeldung erhalten.
Alert("Keine Tochter erstellt "+txt);return(0);}
4. die Eingabedaten Stück für Stück einspeisen. D.h..
IN=ffll_set_value(IDm,ID1,0,X); // den Wert für die erste Eingangsvariable setzen
IN=ffll_set_value(IDm,ID1,1,Y); // den Wert für die zweite Eingangsvariable setzen
usw.
5. Abrufen der Ausgabe.
Res=ffll_get_output_value(IDm,ID1); // liefert den Wert für die Ausgangsvariable
Teilen Sie Ihre Erfahrungen mit.
Ähnliches Problem bei MT5. Die Datei wird nicht geöffnet. Beispiel-Code:
#property tester_file "model.fcl"
int OnInit()
{
string filename = "model.fcl";
// Считываю строку из файла и убеждаюсь, что его можно открыть.
int filehandle = FileOpen(filename,FILE_READ|FILE_ANSI);
if(filehandle < 0)
{
Print("Error code ",GetLastError());
Print(filename);
}
else
{
Print("Open success");
Print(FileReadString(filehandle));
FileClose(filehandle);
}
// FFCL
int model = ffll_new_model();
if(model < 0)
{
Print("Ошибка создания модели!");
}
int ret_val = ffll_load_fcl_file(model,filename);
if(ret_val < 0)
{
string txt = ffll_get_msg_textW(model);
Print("Ошибка: " + txt);
}
ffll_close_model(model);
return(0);
}
void OnDeinit(const int reason){}
void OnTick(){}
Ich erhalte die folgende Ausgabe:
FUNCTION_BLOCK
Open success
Warum wird ein Fehler erzeugt? So wie ich das verstehe, liegt das Problem in der Übergabe eines Parameters an die Funktion ffll_load_fcl_file. (wahrscheinlich etwas mit Kodierungen oder Typkonvertierung).
Eine große Bitte an diejenigen, die mit dieser Bibliothek gearbeitet haben, bitte antworten.
Es könnte mit der Struktur der .fcl-Datei zusammenhängen. Ich habe kein Programm gefunden, mit dem ich überprüfen kann, ob sie korrekt ist. Der Link im Text funktioniert nicht. Vielleicht schreibt mir jemand zurück, der diesen Rake bereits durchlaufen hat.
Die Bibliothek ist im Prinzip sehr interessant (und wenn sie auch funktioniert). Der Autor hat leider einen Blick darauf geworfen und ist verschwunden. Auf Fragen will er nicht antworten. Nicht verständliches Geheimnis (oder Beschäftigung).
TO: SergeyVP/ Das Tochtermodell wurde nicht erstellt und Variablen wurden nicht eingegeben. So wie ich das verstehe, haben Sie die Möglichkeit des Ladens überprüft?
Sollen wir Programme zur Überprüfung austauschen?
Es wird mehr Zeit in Anspruch nehmen, sich mit der Bibliothek zu beschäftigen, als selbst drei elementare Fuzzy-Logik-Funktionen in den Code zu schreiben:
Aber nicht nur das. Zusatzfunktionen, Entschärfung, etc. Nicht einfacher.
Nicht wirklich. Die Funktion gibt -1 zurück, was bedeutet, dass sie die Datei nicht findet. Ich dachte, das Problem läge in der Bibliothek selbst, ich habe es in C++ mit dll überprüft - alles funktioniert. Ich habe den Beispielcode und das Modell aus dem Beispiel auf der Website(in den Beispiel-Downloads) übernommen. Was die Struktur der fcl-Datei betrifft, so wird das Modell nicht geladen, wenn ein Fehler in der Logik vorliegt, und es wird so etwas wie ein kritischer Fehler angezeigt. Zumindest in C++ würde das Programm abstürzen, wenn ich ein Modell mit einem expliziten Fehler angeben würde:
what(): basic_string::_S_construct null not valid
TO: SergeyVP/ Es wurde kein untergeordnetes Modell erstellt und es wurden keine Variablen eingegeben. Ich habe also verstanden, dass Sie die Möglichkeit des Ladens getestet haben?
Ja, im Moment nur das Laden. Es hat keinen Sinn, ein Untermodell zu erstellen, wenn das Modell nicht geladen ist.
Sollen wir die Programme zur Überprüfung austauschen?
Es kostet mehr Zeit, sich mit der Bibliothek zu beschäftigen, als selbst drei elementare Funktionen der Fuzzy-Logik in den Code zu schreiben:
Nicht ganz. Die Funktion gibt -1 zurück, was bedeutet, dass sie die Datei nicht findet. Ich dachte, das Problem läge in der Bibliothek selbst, ich habe in C++ mit dll geprüft - alles funktioniert. Ich habe den Beispielcode und das Modell aus dem Beispiel auf der Website(in den Beispiel-Downloads) übernommen. Was die Struktur der fcl-Datei betrifft, so wird das Modell nicht geladen, wenn ein Fehler in der Logik vorliegt, und es wird so etwas wie ein kritischer Fehler angezeigt. Zumindest in C++ ist das Programm abgestürzt, wenn ich ein Modell mit einem expliziten Fehler angegeben habe:
what(): basic_string::_S_construct null not valid
Ja, im Moment wird nur geladen. Es hat keinen Sinn, ein Child zu erstellen, wenn das Modell nicht geladen ist.
Ich überprüfe das fcl-Modell in keiner Weise auf seine Korrektheit. Ich erstelle ein Modell in MATLAB und erhalte eine fis-Datei. Dann konvertiere ich fis in fcl mit dem Programm fuzzylite.Leider sieht es so aus, als ob es so sein wird. Ich werde es selbst schreiben müssen.
Das war's. Vielen Dank dafür.
"Ich habe den Beispielcode und das Modell aus dem Beispiel auf der Website(in den Beispieldownloads) übernommen".
Ich verstehe hier nicht, von welcher Seite? Bitte weisen Sie mich darauf hin.
Nun, vielleicht ist es einfacher, MATLAB mit MT4/MT5 zu verbinden? Alle weiteren Lösungen wurden bereits angeboten.
Ich werde wahrscheinlich in diese Richtung gehen, wenn diese Bibliothek nicht funktioniert.
Тут не понял, с какого сайта? Ткните плз.
Von der offiziellen Seite der Bibliothek - ffll.sourceforge.net.
Genauer gesagt: http://ffll.sourceforge.net/downloads.htm -> Download einer Beispielanwendung, die FFLL verwendet.
Es gibt C++-Code und ein einfaches fcl-Modell.
Nun, vielleicht ist es einfacher, MATLAB mit MT4/MT5 zu verbinden? Vor allem die Lösungen sind bereits vorgeschlagen worden.
Von der offiziellen Seite der Bibliothek - ffll.sourceforge.net.
Genauer gesagt: http://ffll.sourceforge.net/downloads.htm -> Download einer Beispielanwendung, die FFLL verwendet.
Es gibt C++-Code und ein einfaches fcl-Modell.
Wo kann man das nachlesen?Ich würde gerne den "Leiter des Transportgeschäfts" hören, der dieses Thema ankündigte und schrieb, dass alles wunderbar in MT4 funktionierte.
Das Problem ist, dass die .fcl-Datei nicht geladen wird.
Übrigens: Die Bibliothek unterstützt den Standard nicht vollständig. Es gibt Ausnahmen, Einschränkungen, etc. Und die Ausgabe sind nur Einzelelementmengen.