Terminal
- Aprimorado o novo relatório de negociação. Corrigida a exibição dos valores totais dos swaps, bem como o gráfico de lucros para os símbolos.
- Otimizadas as páginas de depósito e saque. Saiba mais sobre a nova integração da plataforma com sistemas de pagamento lendo nossa anterior notícia sobre o build 3950.
- Otimizado o recálculo de operações financeiras em toda a plataforma, incluindo o testador de estratégias. Os lucros, as margens e muitos outros parâmetros agora são calculados mais rapidamente.
- Atualizadas as traduções da interface do usuário.
MQL5
- adicionados os métodos Conjugate para os tipos complex, vetor<complex> e matrix<complex>. Eles realizam a conjugação para números complexos.
//+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { complex a=1+1i; complex b=a.Conjugate(); Print(a, " ", b); /* (1,1) (1,-1) */ vectorc va= {0.1+0.1i, 0.2+0.2i, 0.3+0.3i}; vectorc vb=va.Conjugate(); Print(va, " ", vb); /* [(0.1,0.1),(0.2,0.2),(0.3,0.3)] [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)] */ matrixc ma(2, 3); ma.Row(va, 0); ma.Row(vb, 1); matrixc mb=ma.Conjugate(); Print(ma); Print(mb); /* [[(0.1,0.1),(0.2,0.2),(0.3,0.3)] [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]] [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)] [(0.1,0.1),(0.2,0.2),(0.3,0.3)]] */ ma=mb.Transpose().Conjugate(); Print(ma); /* [[(0.1,0.1),(0.1,-0.1)] [(0.2,0.2),(0.2,-0.2)] [(0.3,0.3),(0.3,-0.3)]] */ }
- Adicionado o processamento da saída do modelo ONNX do tipo Sequence of maps.
Para modelos ONNX que fornecem sequências Map (ONNX_TYPE_SEQUENCE of ONNX_TYPE_MAP) na camada de saída, um array dinâmico ou fixo de estruturas deve ser passado como parâmetro de saída. Os dois primeiros campos dessa estrutura devem corresponder aos tipos de chave e valor de ONNX_TYPE_MAP e devem ser arrays fixos ou dinâmicos.
Veja o modelo iris.onnx criado pelo seguinte script Python:
from sys import argv data_path=argv[0] last_index=data_path.rfind("\\")+1 data_path=data_path[0:last_index] from sklearn.datasets import load_iris iris_dataset = load_iris() from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0) from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier(n_neighbors=1) knn.fit(X_train, y_train) # Convert into ONNX format from skl2onnx import convert_sklearn from skl2onnx.common.data_types import FloatTensorType initial_type = [('float_input', FloatTensorType([None, 4]))] onx = convert_sklearn(knn, initial_types=initial_type) path = data_path+"iris.onnx" with open(path, "wb") as f: f.write(onx.SerializeToString())
Abra o arquivo onnx criado no MetaEditor:
A saída "output_probability" é uma sequência Map, cuja chave tem o tipo INT64 (que corresponde ao tipo long da linguagem MQL5) e o valor do tipo float. Para obter dados dessa saída, declaramos a seguinte estrutura:
struct MyMap { long key[]; float value[]; };
Aqui usamos arrays dinâmicos com tipos apropriados. Nesse caso, é possível usar arrays fixos, já que para esse modelo o Map sempre contém 3 pares de chave+valor.
Como uma sequência é retornada do Map, como parâmetro para aceitar os dados com a saída output_probability deve ser passada um array de tais estruturas - dinâmico ou fixo, com base nas propriedades do modelo específico. Por exemplo:
//--- declaramos um array para receber dados da camada de saída output_probability MyMap output_probability[]; ... //--- execução do modelo OnnxRun(model,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);
MetaEditor
- Corrigida a exibição do tipo de parâmetro de saída no visualizador de modelos ONNX.
MetaTrader 5 Web Terminal build 3980
- Adicionada a seção de contato da corretora ao menu principal.
- Adicionado o tratamento de erro de autorização com certificado SSL. Esse tipo de autorização não é compatível com o terminal da Web e, em vez disso, a autorização por senha de uso único pode ser ativada.
- Corrigido o link para download da versão desktop da plataforma no menu principal.
- Alterado o diálogo de gerenciamento de contas. Se a corretora não tiver contas de demonstração ou reais disponíveis, o item de menu correspondente ficará oculto.
Veja as notícias anteriores:
- MetaTrader 5 build 3950: Retirada/depósito no terminal e relatório de negociação atualizado
- MetaTrader 5 build 3800: ordens Book or Cancel, assistência de IA ao escrever código e suporte aprimorado para ONNX
- MetaTrader 5 build 3660: Aprimoramentos e correções
- MetaTrader 5 build 3640: terminal web disponível em 11 idiomas
- MetaTrader 5 build 3620: melhorias no terminal web, suporte ONNX e multiplicação mais rápida de matrizes em MQL5