Welke heeft uw voorkeur: Metatrader (MQL) of cTrader (cAlgo)? - Page 2
Page 2 of 632 FirstFirst 12
Results 11 to 13 of 13

Thread: Welke heeft uw voorkeur: Metatrader (MQL) of cTrader (cAlgo)?

  1. #11
    1 Bijlage(n)
    Quote Originally Posted by ;
    Ik ben gewoon benieuwd naar jullie mensen daar. Gebruikt iemand hier echt veel MetaTrader (om MQL te schrijven), maar slechts weinigen gebruiken cTrader (cAlgo)? Afgezien van de voordelen die de makelaar te bieden heeft, ben ik van mening dat MetaTrader niet het beste platform is om EA's te bouwen. MQL = C , ...
    Enkele punten over je bericht die bij me opkomen (onvolledige lijst)e meeste van je voorbeelden wijzen op problemen die worden veroorzaakt door het verwarren van een programmeertaal en een applicatieframework. MQL is geen C . MQL is een scripttaal die veel meer lijkt op C. Door de ondersteuning van klassen en structs lijkt het op C , maar C/C zijn echte talen en MQL is dat niet. MQL wordt gecompileerd tot byte-code en wordt uitgevoerd door een interpreter, meer vergelijkbaar met JavaScript. De beschikbare ingebouwde functies dekken een aantal functies die beschikbaar zijn in C. Een datum als 31 maart 2020 12:00:00 wordt niet uitgedrukt als een geheel getal maar als D'2020.03.31 12:00:00'. Het is moeilijk om je iets gemakkelijkers voor te stellen. Een datetime-invoerparamater ondersteunt de native DateTime-kiezer die door het besturingssysteem wordt geleverd. Iets beters is moeilijk voor te stellen. De taak die de programmeertaal in een handelstoepassing moet oplossen, is niet het bieden van een functioneel complete programmeeromgeving. De taak is om op een eenvoudige manier handelslogica uit te drukken. EasyLangugae in Tradestation is bijvoorbeeld veel beter dan MQL, maar de functionaliteit in vergelijking met MQL is beperkt. Dat is met een reden en met opzet. Als u volledige programmeerondersteuning nodig heeft met alle functies die u gewend bent van reguliere applicatieontwikkeling, dan kunt u eenvoudig overschakelen naar een andere taal en een brug slaan tussen beide. In MQL gebeurt dat door het gebruik van DLL's (C/C , Pascal, C#) en dit is het grote voordeel van MQL. Van alle beschikbare handelsplatformen/talen heeft MQL de gemakkelijkste en meest eenvoudige interface om over te stappen naar een andere taal. MQL is zo goed vanwege die eenvoudige API, het hoeft niet alle functies te ondersteunen die je mist. Probeer hetzelfde te doen op elk ander handelsplatform (noem maar op) en u zult begrijpen wat ik bedoel. Nu ben ik verre van te zeggen dat MQL het beste is en niet kan worden verbeterd. De meest ontbrekende stukjes zijn exception handling en een COM-interface zoals in EasyLanguage. Maar de grootste pijn in de kont is niet de beperkte functionaliteit. Het is bugginess van vele functies. U moet uw vereisten voor een taal en op het platform defini�ren. Dat is eenvoud, uitbreidbaarheid, de mogelijkheid om te overbruggen. Alles bij elkaar is de MetaTrader/MQL-combo niet zo slecht en veel beter dan vele andere. Een belangrijk punt: een omgeving zou perfect zijn als het ontwerp, het testen en de uitvoering van een strategie in dezelfde platformomgeving en taal zou kunnen gebeuren. Helaas is hier waar MT4/MT5/MQL waardeloos is, omdat testen en optimaliseren belachelijk is. NinjaTrader te hulp. Aan de andere kant is NinjaTrader onbruikbaar voor geautomatiseerde uitvoering. Met cAlgo heb je inderdaad een zeer schone ontwikkelomgeving, maar toch loop je bij bijna elke stap tegen muren aan. Nog niet jouw tijd cAlgo, nog niet... Dus een perfect platform bestaat alleen voor mensen met een serieus budget (bijvoorbeeld een voor Deltix) en onze retailtaak is om het beste uit deze imperfecte retailwereld te halen.
    Quote Originally Posted by ;
    ...het schrijven van EA's zou net zoiets moeten zijn als het schrijven van een zakelijke applicatie, het moet robuust, snel, snel, eenvoudig zijn, zodat de minder belangrijke dingen op gang komen...
    Wat je zoekt bestaat, maar je moet ervoor betalen. Zo loopt het konijn. (Dus l�uft der Hase) :-)
    https://www.aforexa.com/attachments/...1099109203.pdf

  2. #12
    Interessante berichten. Het probleem is dat niet zoveel mensen Ctrader gebruiken als mt4/mt5. Een vergelijking is daarom moeilijk te maken. Een andere taal zou pinescript zijn door tradingview, of pythonC# in het algemeen.

  3. #13
    Quote Originally Posted by ;
    {quote} Mijn eis is misschien te hoog, dat komt omdat ik TE LUIS BEN.
    Ik wil wel volledig geautomatiseerd handelen, maar het lijkt semi-automatisch te gaan. Omdat ik nog steeds de lijst met datums en tijden moet zien om in de EA te taggen. Ik ben op zoek naar een handelssysteem dat volledig geautomatiseerd kan worden, minder controle, minder emotie in het spel, af en toe kijken en dan vergeten. Met dat in gedachten heb ik een aantal complexe configuraties nodig, precies zoals deze: {image}
    Als je te lui bent, zou je python moeten gebruiken, de taal van de goden. MT5 heeft nu een ge�ntegreerde python-API. Dit soort dingen is zo triviaal in python dat ik in een paar minuten een quickie-demo heb gemaakt. Json config: Code ingevoegd { terminal_config: { path: C:\\Users\\nicho\\Desktop\\Terminal1\\terminal64.e xe, portable: true, server: AMPGlobalUSA-Demo, login: 1150938, wachtwoord: kasjhflkj, time-out : 5000, assurance_trade_enabled: true, raise_on_errors: true }, main_config: {symbolen: #91;EURUSD, USDJPY#93;, tijdsbestek: 15, volume: 1.0, session_delta: {dagen: 1, uren: 3}, sessies: # 91; { tijd: 11 mrt 2020 20:30:00 }, { tijd: 12 mrt 2020 12:15:00 } #93; } } Python programma: Code ingevoegd import json van pathlib import Pad import panda's als pd van dateutil import parser van datetime import timedelta import pymt5adapter als 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) symbolen = #91;mta.symbol_info(s) voor s in self.config#91 ;'symbolen'#93;#93; df = pd.DataFrame(s._asdict() voor s in symbolen) 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 voor het {account.company} account') df = pd.DataFrame(account._asdict() .items(), columns=#91;'Account Property', 'Value'#93 print(df) if __name__ == '__main__': config = json.loads(Path('config.json').read_text ()) met mta.connected(**config#91;'terminal_config'#93: program = HelloWorld(config#91;'main_config'#93 program.echo_example_from_config() program.echo_account_info() Terminal-uitgang ingevoegd Code tijdsbestek van config= TIMEFRAME.M15 naam cijfers punt 0 EURUSD 5 0.00001 1 USDJPY 3 0.00100 geparseerde tijd van config #91;0#93; datetime.datetime(2020, 3, 11, 20, 30) -- 2020-03-10 17:30:00 tijd geparseerd van config #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} Details voor de AMP Global Clearing LLC-account Account Property Value 0 login 1150938 1 trade_mode0 2 leverage 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 credit 0 12 winst 137.5 13 eigen vermogen 1.00035e 07 14 marge 400 15 margin_free 1.00031e 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 activa 0 22 passiva 0 23 commission_blocked 0 24 naam 25 server AMPGlobalUSA-Demo 26 valuta USD 27 bedrijf AMP Global Clearing LLC

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.