Qual você prefere: Metatrader (MQL) ou cTrader (cAlgo)? - Page 2
Página 2 de 742 FirstFirst 1 2
Results 11 to 13 of 13

Thread: Qual você prefere: Metatrader (MQL) ou cTrader (cAlgo)?

  1. #11
    1 Anexo(s)
    Estou apenas curioso sobre vocês lá fora. Alguém aqui realmente usa muito o MetaTrader (para escrever MQL), mas muito poucos usam o cTrader (cAlgo)? Além das vantagens que o corretor tem a oferecer, sinto que o MetaTrader não é a melhor plataforma para construir EAs. MQL = C , ...
    Alguns pontos sobre seu post que me vêm à mente (lista incompleta):A maioria dos seus exemplos aponta para problemas causados ​​por confundir uma linguagem de programação e um framework de aplicação. MQL não é C . MQL é uma linguagem de script muito mais parecida com C. O suporte de classes e structs faz com que pareça similar a C , mas C/C são linguagens reais e MQL não é. O MQL é compilado em byte-code e executado por um interpretador, mais semelhante ao JavaScript. As funções internas disponíveis cobrem algumas funcionalidades disponíveis em C. Uma data como 31 de março de 2020 12:00:00 não é expressa como um número inteiro, mas como D'2020.03.31 12:00:00'. É difícil imaginar algo mais fácil. Um parâmetro de entrada datetime oferece suporte ao seletor DateTime nativo fornecido pelo sistema operacional. É difícil imaginar algo melhor. A tarefa que a linguagem de programação em um aplicativo de negociação deve resolver não é fornecer um ambiente de programação funcionalmente completo. A tarefa é expressar a lógica de negociação de uma maneira fácil. Por exemplo, o EasyLangugae no Tradestation é muito melhor que o MQL, mas sua funcionalidade em comparação com o MQL é limitada. Isso é por uma razão e intencional. Se você precisar de suporte completo à programação com todos os recursos com os quais está acostumado no desenvolvimento regular de aplicativos, poderá alternar facilmente para outro idioma e fazer a ponte entre ambos. Em MQL isso é feito através do uso de DLLs (C/C , Pascal, C#) e aqui está a grande vantagem do MQL. De todas as plataformas/idiomas de negociação disponíveis, o MQL tem a interface mais fácil e simples para fazer a ponte para outro idioma. O MQL é tão bom por causa dessa API fácil, que não precisa oferecer suporte a todos os recursos que você está perdendo. Tente fazer o mesmo em qualquer outra plataforma de negociação (você escolhe) e você entenderá o que quero dizer. Agora estou longe de dizer que o MQL é o melhor e não pode ser melhorado. As peças que mais faltam são o tratamento de exceções e uma interface COM como no EasyLanguage. Mas a maior dor na bunda não é a funcionalidade limitada. É bugginess de muitos recursos. Você precisa definir seus requisitos em um idioma e na plataforma. Isso é simplicidade, extensibilidade, a possibilidade de superar. Todos juntos, o combo MetaTrader/MQL não é tão ruim e muito melhor do que muitos outros. Um ponto importante: um ambiente seria perfeito se o projeto, teste e execução de uma estratégia pudessem ser realizados no mesmo ambiente de plataforma e linguagem. Infelizmente, aqui é onde o MT4/MT5/MQL é uma merda porque o teste e a otimização são ridículos. NinjaTrader para o resgate. Por outro lado, o NinjaTrader é inutilizável para execução automatizada. Com o cAlgo, você realmente tem um ambiente de desenvolvimento muito limpo, mas ainda esbarra em paredes em quase todas as etapas. Ainda não é o seu tempo cAlgo, ainda não... Portanto, uma plataforma perfeita existe apenas para pessoas com um orçamento sério (por exemplo, um para Deltix) e nossa tarefa de varejo é tirar o melhor proveito desse mundo imperfeito do varejo.
    ...escrever EAs deveria ser como escrever um aplicativo de negócios, deve ser robusto, rápido, rápido, simples, mantendo as coisas menos importantes ao longo do caminho...
    O que você está procurando existe, mas você tem que pagar por isso. É assim que o coelho corre. (So ​​läuft der Hase) :-)
    https://www.tradingintuitivo.com/att...1099109203.pdf

  2. #12
    Postagens interessantes. O problema é que não são tantas as pessoas que usam o Ctrader quanto o mt4/mt5. Portanto, é difícil fazer uma comparação. Outra linguagem seria pinescript por tradingview, ou python/C# em geral.

  3. #13
    {quote} Minha exigência é muito alta, talvez, porque eu sou muito preguiçoso.
    Eu quero alcançar uma negociação totalmente automatizada, mas parece ser semiautomatizada. Porque ainda preciso ver a lista de datas e horários para marcar no EA. Estou procurando um sistema de negociação que possa ser totalmente automatizado, menos monitoramento, menos emoção no jogo, olhar de vez em quando e depois esquecer. Com isso em mente, preciso de uma série de configurações complexas como esta: {image}
    Se você é muito preguiçoso, deve usar python, a linguagem dos deuses. O MT5 agora possui uma API python integrada. Esse tipo de coisa é tão trivial em python que criei uma demo rapidinha em alguns minutos. Json config: código inserido { terminal_config: { caminho: C:\\Users\\nicho\\Desktop\\Terminal1\\terminal64.e xe, portátil: true, servidor: AMPGlobalUSA-Demo, login: 1150938, senha: kasjhflkj, timeout : 5000, assurance_trade_enabled: true, raise_on_errors: true }, main_config: { símbolos: #91;EURUSD, USDJPY#93;, timeframe: 15, volume: 1.0, session_delta: { days: 1, hours: 3 }, sessions: # 91; {hora: 11 de março de 2020 20:30:00}, {hora: 12 de março de 2020 12:15:00} #93; } } Programa Python: Código inserido import json from pathlib import Path import pandas as pd from dateutil import parser from datetime import timedelta import pymt5adapter as mta class HelloWorld: def __init__(self, config): self.config = config def echo_example_from_config(self) : timeframe = mta.TIMEFRAME(self.config#91;'timeframe'#93 print('timeframe from config=', timeframe) symbols = #91;mta.symbol_info(s) for s in self.config#91 ;'símbolos'#93;#93; df = pd.DataFrame(s._asdict() para s em símbolos) print(df) bar = mta.copy_rates_from_pos(symbols#91;0#93;.name, timeframe, start_pos=0, count=1)#91; 0#93; print(dict(zip(bar.dtype.names, bar))) session_delta = timedelta(**self.config#91;'session_delta'#93 for i, session in enumerate(self.config#91;'sessions '#93: time = parser.parse(session#91;'time'#93 print(fparsed time from config #91;{i}#93; {time!r}, end=' - ') print('delta =', time - session_delta) def echo_account_info(self): account = mta.account_info() print(f'Details for the {account.company} account') df = pd.DataFrame(account._asdict() .items(), columns=#91;'Propriedade da conta', 'Value'#93 print(df) if __name__ == '__main__': config = json.loads(Path('config.json').read_text ()) com mta.connected(**config#91;'terminal_config'#93: program = HelloWorld(config#91;'main_config'#93 program.echo_example_from_config() program.echo_account_info() Saída do terminal inserida Código timeframe de config= TIMEFRAME.M15 nome dígitos ponto 0 EURUSD 5 0,00001 1 USDJPY 3 0,00100 tempo analisado da configuração #91;0#93; datetime.datetime(2020, 3, 11, 20, 30) -- 2020-03-10 17:30:00 tempo analisado da configuração #91;1#93; datetime.datetime(2020, 3, 12, 12, 15) -- 2020-03-11 09:15:00 {'time': 1590678000, 'open': 1,1054, 'high': 1,10589, 'low': 1,10501 , 'close': 1.10561, 'tick_volume': 125, 'spread': 1, 'real_volume': 0} Detalhes da conta AMP Global Clearing LLC Valor da propriedade da conta 0 login 1150938 1 trade_mode0 2 alavancagem 100 3 limit_orders 0 4 margin_so_mode 0 5 trade_allowed True 6 trade_expert True 7 margin_mode 0 8 currency_digits 2 9 fifo_close False 10 saldo 1.00033e 07 11 crédito 0 12 lucro 137.5 13 patrimônio 1.00035e 07 14 margin_free1.07 14 margin_freee 07 16 margin_level 2.50087e 06 17 margin_so_call 50 18 margin_so_so 30 19 margin_initial 0 20 margin_maintenance 0 21 ativos 0 22 passivos 0 23 commission_blocked 0 24 nome 25 servidor AMPGlobalUSA-Demo 26 moeda USD 27 empresa AMP Global Clearing LLC

Permissões de Publicação

  • Não pode publicar novos tópicos
  • Não pode publicar respostas
  • Não pode publicar anexos
  • Não pode editar as suas publicações
  •  
  • Código BB está Ativo
  • Smilies estão Ativos
  • Código [IMG] está Ativo
  • Código [VIDEO] está Ativo
  • Código HTML está Desligado
O site da tradingintuitivo utiliza cookies
O site da tradingintuitivo utiliza cookies, alguns já foram definidos. Pode ler sobre a nossa utilização de cookies aqui. Por favor, clique no botão à direita para aceitar os nossos cookies. Se continuar a usar o site da tradingintuitivo, vamos supor que aceita os nossos cookies.