Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Se alguém já usou a biblioteca no MT4, por favor, diga-me qual a extensão do arquivo FCL e onde colocá-lo.
Escrevium indicador. A sequência é a mesma do artigo.
1. criar um modelo (sem erro)
IDm=ffll_new_model(); // criar modelo retorna o índice do modelo
if(IDm<0){
string txt=ffll_get_msg_textA(IDm); // obter mensagem de erro.
Alert("No model created "+txt);return(0);}
2) Carregue o arquivo com o programa (ele dá um erro). O arquivo está localizado no diretório. \{Expert\File . Tentei com a extensão .fcl .txt.
h=ffll_load_fcl_file(IDm, "Histo.txt"); // carregue o programa da linguagem de modelagem fuzzy
if(h<0){
txt=ffll_get_msg_textA(IDm); // obtenha a mensagem de erro.
Alert("Program file not loaded "+txt);return(0);}
3. criar uma filha.
ID1=ffll_new_child(IDm); // criar um modelo filho para o modelo fornecido retorna o índice do modelo
if(ID1<0){
txt=ffll_get_msg_textA(IDm); // receber mensagem de erro.
Alert("No daughter created "+txt);return(0);}
4. alimente os dados de entrada, parte por parte. Por exemplo.
IN=ffll_set_value(IDm,ID1,0,X); // defina o valor para a primeira variável de entrada
IN=ffll_set_value(IDm,ID1,1,Y); // defina o valor para a segunda variável de entrada
etc.
5. Obtenha a saída.
Res=ffll_get_output_value(IDm,ID1); // obter o valor da variável de saída
Compartilhe sua experiência.
Problema semelhante no MT5. Não abre o arquivo. Exemplo de código:
#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(){}
Recebo o seguinte resultado:
FUNCTION_BLOCK
Open success
Por que ele gera um erro? Pelo que entendi, o problema está na passagem de um parâmetro para a função ffll_load_fcl_file. (provavelmente algo relacionado a codificações ou conversão de tipos).
Um grande pedido àqueles que já trabalharam com essa biblioteca, por favor, respondam.
Pode estar relacionado à estrutura do arquivo .fcl/ Não encontrei um programa para verificar se está correto. O link no texto não funciona. Talvez alguém que já tenha passado por esse rake possa me responder.
Em princípio, a biblioteca é muito interessante (e se também estiver funcionando). O autor, infelizmente, foi visto e desapareceu. Não quer responder às perguntas. Não é um mistério compreensível (ou emprego).
TO: SergeyVP/ O modelo filho não foi criado e as variáveis não foram inseridas. Pelo que entendi, você verificou a possibilidade de carregamento?
Vamos trocar programas para verificação?
Levará mais tempo para lidar com a biblioteca do que para escrever três funções lógicas fuzzy elementares no código:
Bem, não é só isso. Funções acessórias, defuzzificação, etc. Não é mais fácil.
Não é bem assim. A função retorna -1, o que significa que ela não encontra o arquivo. Achei que o problema estava na própria biblioteca, verifiquei em C++ com a dll - tudo funciona. Peguei o código e o modelo de amostra do exemplo no site(nos downloads de amostra). Quanto à estrutura do arquivo fcl, se houver um erro na lógica, o modelo não será carregado e haverá algo como um erro crítico. Pelo menos em C++, se eu especificasse um modelo com um erro explícito, o programa travaria:
what(): basic_string::_S_construct null not valid
TO: SergeyVP/ Nenhum modelo filho foi criado e nenhuma variável foi inserida. Pelo que entendi, você estava testando a possibilidade de carregamento?
Sim, apenas o carregamento por enquanto. Não faz sentido criar um modelo filho se o modelo não estiver carregado.
Vamos trocar os programas para verificar?
Levará mais tempo para lidar com a biblioteca do que para escrever eu mesmo três funções elementares da lógica fuzzy no código:
Não exatamente. A função retorna -1, o que significa que ela não encontra o arquivo. Achei que o problema estava na própria biblioteca, verifiquei em C++ com a dll - tudo funciona. Peguei o código e o modelo de amostra do exemplo no site(nos downloads de amostra). Quanto à estrutura do arquivo fcl, se houver um erro na lógica, o modelo não será carregado e haverá algo como um erro crítico. Pelo menos em C++, se eu especificasse um modelo com um erro explícito, o programa travaria, emitindo:
what(): basic_string::_S_construct null not valid
Sim, apenas carregando por enquanto. Não faz sentido criar um filho se o modelo não estiver carregado.
Não verifico a correção do modelo fcl de forma alguma. Eu crio um modelo no MATLAB e obtenho o arquivo fis. Em seguida, converto fis em fcl usando o programa fuzzylite.Infelizmente, parece que é assim que será. Terei que escrevê-lo eu mesmo.
Entendi. Obrigado.
"Peguei o código e o modelo de amostra do exemplo no site(nos downloads de amostra)".
Não estou entendendo, de qual site? Por favor, me indique.
Bem, talvez seja mais fácil vincular o MATLAB ao MT4/MT5? Todas as outras soluções já foram oferecidas.
Provavelmente seguirei nessa direção, caso essa biblioteca não funcione.
Тут не понял, с какого сайта? Ткните плз.
Do site oficial da biblioteca - ffll.sourceforge.net.
Mais precisamente: http://ffll.sourceforge.net/downloads.htm -> Faça o download de um aplicativo de amostra que usa a FFLL.
Há um código C++ e um modelo fcl simples.
Bem, talvez seja mais fácil vincular o MATLAB ao MT4/MT5? Especialmente as soluções já foram propostas.
Do site oficial da biblioteca - ffll.sourceforge.net.
Mais precisamente: http://ffll.sourceforge.net/downloads.htm -> Faça o download de um aplicativo de amostra que usa a FFLL.
Há um código C++ e um modelo fcl simples.
Onde ler isso?Eu gostaria de ouvir o "chefe da loja de transportes" que anunciou este tópico e escreveu que tudo funcionou maravilhosamente no MT4.
O problema é que o arquivo .fcl não está carregado.
A propósito: a biblioteca não é totalmente compatível com o padrão. Há exceções, limitações, etc. E a saída é apenas conjuntos de um único elemento.