这个问题的原文有点不同,大约一年前,这个答案被接受:
自动热键可以用来买卖外汇货币对吗?
是的,但生产级解决方案将为此使用其他方法
虽然AHK
和其他 UI 层脚本工具允许自动单击/自动填充内容,但这种方法与运行的河流背道而驰。
几十年来,常见的外汇交易终端都有自己的编程工具,允许平台集成的方式来实现这个和类似的想法。
是的,正确的-“势利”-激发了好看的“也”-终端,仅依赖于 web-GUI 层(不是 webAPI,只是基于浏览器的 GUI 层),不需要提供这样的一个成熟的工具集,但坦率地说,如果它在几年内没有被市场广泛接受,谁愿意在任何此类网络工具包上冒险任何 AUM(无论是私人的还是基金运营的),只是为了一些好的,“当代”外观的用户界面?当然,MARCOM 和公关人员努力说服用户这样做,但这关乎风险和金钱,对吧?
让我们以EasyLanguage
, MQL4
,C#
语言为例。
外汇交易可以使用您的经纪商提供的那些工具,例如:
- NinjaTrader 的 NinjaTrader 与
C#
编程语言
- TradeStation 的 TradeStation 与
EasyLanguage
编程语言
MQL4
带有编程语言的 MetaQuotes 的 MetaTrader 终端 4
MQL5
带有编程语言的 MetaQuotes 的 MetaTrader 终端 5
提到了这几个,关键概念是要意识到你的想法已经存在了几十年,专业的交易台自动化已经尝试了很多方法来处理这个问题。
结果?
在这种困境中,最好的办法就是花一些时间使用 Broker 支持的软件IDE
工具链来熟悉相关的编程模型——有些概念乍一看可能会令人惊讶,但在时间上具有相当长的传统- 敏感/资源高效的代码执行系统设计,所以要勇于掌握原理,因为您的专业知识将从这种专业知识中获得很多 - 例如,MetaTrader4终端就是一个这样的软件平台,它允许您推出:
1x
独奏专家顾问 - 作为每个 MT4.Graph 窗口的事件驱动代码执行算法
Nx
每个 MT4.Graph 窗口的并发自定义指标事件驱动的受限代码库
1x
每个 MT4.Graph* 窗口的独奏脚本异步代码执行单元
这个清单非常重要,因为您没有其他方法可以自动化复杂的交易算法,但是这个(当然,除了 UI 层自动化,但是对于所有与交易相关的上下文都是盲目的(所以采取非常危险它认真))。
技术指标在一个公共线程下执行,这对实时鲁棒性构成了限制,另外一些限制适用于可能在指标中编码/编译/执行的允许/禁止操作(所有这些都旨在避免任何和所有可能的阻塞情况(参考. 所有人的单线程... ) )
这就是说,您可能已经注意到,Expert Advisor
和Technical Indicator
-s 都是外部同步的(暂时忘记关于非并行共享线程执行的硅级详细信息,由于资源/代码执行调度而具有主要的纳秒级异步性)并以anFxMarketEVENT
到达信号的形式绑定到外部发布(一旦价格移动,MT4.Server
将QUOTE
下游消息发送到MT4.Terminal
,也称为Tick),一旦(如果)收到,就会触发MQL4
代码执行设施localhost
:
OnTick(){ ...}
# in case of Expert Advisor
OnCalculate(){...}
# in case of Custom Technical Indicator
为什么这一切?
一个好点 - 好吧,FOREX 不是一个田园诗般的伊甸园,而是一个巨大、快速和残酷的战场地狱。当图表在屏幕上无声地描绘时,市场咆哮着,随着两个强大力量之间永无休止的战争的演变,纳秒到纳秒5.300.000.000.000 USD
每天交换超过大约价值的资金,
这超过615.000.000 USD / sec
了平均水平
,
你的实践经验已经看到,一旦基本面新闻似乎让掌管外汇市场上这些群众力量的泰坦们感到惊讶,三重地狱的混乱就会演变。
这就是说,您的代码工作应该使用交易平台集成工具,而不是依赖任何外部模拟填充和点击代理。
纳秒确实很重要。
不要犹豫,阅读更多关于算法交易的信息并询问更多细节。