Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Birisi kütüphaneyi MT4'te kullandıysa, lütfen bana FCL dosyasının hangi uzantıya sahip olması gerektiğini ve nereye koyacağımı söyleyin.
Bir gösterge yazdım. Sıralama makaledeki gibidir.
1. bir model oluşturun (hata yok)
IDm=ffll_new_model(); // create model returns model index
if(IDm<0){
string txt=ffll_get_msg_textA(IDm); // get error message.
Alert("No model created "+txt);return(0);}
2.Dosyayı program ile yükleyin (hata verir). Dosya dir içinde yer almaktadır. \{Uzman\Dosya . .fcl .txt uzantısı ile denedim.
h=ffll_load_fcl_file(IDm, "Histo.txt"); // bulanık modelleme dili programını yükle
if(h<0){
txt=ffll_get_msg_textA(IDm); // hata mesajı al.
Alert("Program dosyası yüklenmedi "+txt);return(0);}
3.Bir kız çocuğu oluşturun.
ID1=ffll_new_child(IDm); // verilen model için bir alt model oluşturun model indeksini döndürür
if(ID1<0){
txt=ffll_get_msg_textA(IDm); // bir hata mesajı alın.
Alert("No daughter created "+txt);return(0);}
4.Giriş verilerini parça parça besleyin. Yani.
IN=ffll_set_value(IDm,ID1,0,X); // ilk giriş değişkeninin değerini ayarla
IN=ffll_set_value(IDm,ID1,1,Y); // ikinci giriş değişkeninin değerini ayarla
vs.
5. Çıktıyı alın.
Res=ffll_get_output_value(IDm,ID1); // çıktı değişkeni için değeri al
Deneyiminizi paylaşın.
MT5'te de benzer sorun. Dosyayı açmıyor. Örnek kod:
#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(){}
Aşağıdaki çıktıyı alıyorum:
FUNCTION_BLOCK
Open success
Neden bir hata oluşturuyor? Anladığım kadarıyla sorun, ffll_load_fcl_file fonksiyonuna bir parametre aktar ılmasında. (muhtemelen kodlamalar veya tür dönüştürme ile ilgili bir şey).
Bu kütüphane ile çalışmış olanlardan büyük bir ricam var, lütfen cevap verin.
.fcl dosyasının yapısıyla ilgili olabilir/ Doğru olup olmadığını kontrol edecek bir program bulamadım. Metindeki bağlantı çalışmıyor. Belki bu işi daha önce yapmış olan biri bana geri yazabilir.
Kütüphane prensip olarak çok ilginç (ve eğer çalışıyorsa). Yazar ne yazık ki gözden kayboldu ve ortadan kayboldu. Sorulara cevap vermek istemiyor. Anlaşılabilir bir gizem (ya da istihdam) değil.
Kime: SergeyVP/ Kız model oluşturulmadı ve değişkenler girilmedi. Anladığım kadarıyla yükleme olasılığını kontrol ettiniz?
Kontrol için programları değiştirelim mi?
Kütüphaneyle uğraşmak, kodda üç temel bulanık mantık işlevini kendiniz yazmaktan daha fazla zaman alacaktır:
Sadece bu da değil. Aksesuar fonksiyonları, bulanıklaştırma vb. Daha kolay değil.
Pek sayılmaz. Fonksiyon -1 döndürüyor, bu da dosyayı bulamadığı anlamına geliyor. Sorunun kütüphanenin kendisinde olduğunu düşündüm, C++'da dll ile kontrol ettim - her şey çalışıyor. Örnek kodu ve modeli sitedeki örnekten aldım(örnek indirmelerde). Fcl dosyasının yapısına gelince eğer mantıkta bir hata varsa model yüklenmeyecek ve kritik hata gibi bir şey olacak. En azından C++'da, açık bir hata ile bir model belirlersem, program çökecektir:
what(): basic_string::_S_construct null not valid
TO: SergeyVP/ Hiçbir alt model oluşturulmadı ve hiçbir değişken girilmedi. Anladığım kadarıyla yükleme olasılığını test ediyordunuz?
Evet, şimdilik sadece yükleme. Model yüklenmemişse alt model oluşturmanın bir anlamı yok.
Kontrol etmek için programları değiştirelim mi?
Kütüphane ile uğraşmak, bulanık mantığın üç temel fonksiyonunu kodda kendim yazmaktan daha fazla zaman alacaktır:
Tam olarak değil. Fonksiyon -1 döndürüyor, bu da dosyayı bulamadığı anlamına geliyor. Sorunun kütüphanenin kendisinde olduğunu düşündüm, C++'da dll ile kontrol ettim - her şey çalışıyor. Örnek kodu ve modeli sitedeki örnekten aldım(örnek indirmelerde). Fcl dosyasının yapısına gelince eğer mantıkta bir hata varsa model yüklenmeyecek ve kritik hata gibi bir şey olacak. En azından C++'da, açık bir hata ile bir model belirlersem, program çökecek, yayınlanacak:
what(): basic_string::_S_construct null not valid
Evet, şimdilik sadece yükleniyor. Model yüklenmemişse bir çocuk oluşturmanın bir anlamı yoktur.
Fcl modelini herhangi bir şekilde doğruluk açısından kontrol etmiyorum. MATLAB'de bir model yapıyorum, fis dosyasını alıyorum. Sonra fuzzylite programını kullanarak fis'i fcl'ye dönüştürüyorum.Maalesef böyle olacak gibi görünüyor. Kendim yazmak zorunda kalacağım.
Anladım. Teşekkür ederim.
"Örnek kod ve model sitedeki örnekten alınmıştır(örnek indirmelerde)".
Anlamıyorum, hangi siteden? Lütfen beni yönlendirin.
Belki de MATLAB'ı MT4/MT5 ile bağlamak daha kolaydır? Daha fazla çözüm zaten sunuldu.
Bu kütüphane çalışmazsa muhtemelen bu yönde hareket edeceğim.
Тут не понял, с какого сайта? Ткните плз.
Kütüphanenin resmi sitesinden - ffll.sourceforge.net.
Daha doğrusu: http://ffll.sourceforge.net/downloads.htm -> FFLL kullanan örnek bir uygulama indirin.
C++ kodu ve basit bir fcl modeli var.
Peki, belki MATLAB'ı MT4/MT5 ile bağlamak daha kolaydır? Özellikle çözümler zaten önerildi.
Kütüphanenin resmi sitesinden - ffll.sourceforge.net.
Daha doğrusu: http://ffll.sourceforge.net/downloads.htm -> FFLL kullanan örnek bir uygulama indirin.
C++ kodu ve basit bir fcl modeli var.
Bunu nerede okuyabilirim?Bu konuyu duyuran ve MT4'te her şeyin harika bir şekilde çalıştığını yazan "nakliye dükkanının başını" duymak istiyorum.
Sorun .fcl dosyasının yüklenmemiş olmasıdır.
Bu arada: kütüphane standardı tam olarak desteklemiyor. İstisnalar, sınırlamalar vb. var. Ve çıktı yalnızca tek elemanlı kümelerdir.