问题标签 [metatrader4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
low-latency - MQL4,大型 EA 的代码布局
这主要是一个理论问题(但总是欢迎示例代码)。
真正的问题是:如何正确编写 EA 的“框架”来测试来自多个自定义指标的多个场景?
我(忙)构建 EA 的方式不是非常专注于一种策略,而是会尝试“测试”多种策略并“挑选”最合适的一种。
所以我创建了一些自定义指标,它们都返回一个“状态数据”数组。
例如我有以下指标:
- 交叉移动平均线指标,当平均线被交叉时给出一个信号,以及当前位置从 MA 移动的百分比。
- 布林带指标,返回波段之间的“空间”,并在波段开始“挤压”时发出信号。
- 多时间框架“方向/趋势”指标(是向上或向下移动的某个时间框架)。如果时间框架方向发生变化,它将返回当前方向并发出信号。
- ADX 指标,用于检查“小规模”运动和选择最佳买入/卖出点。
我可以写一个巨大的场景,但我认为它可以做得更好。因为如果,假设所有时间框架都在下降(下降趋势),你可以有一个特殊的场景来处理大量的下降运动。但是,如果没有当前的趋势,那么不同的情景将最适合。
所以,我觉得最好制作多个场景(仍然在 1 个 EA 中)。首先收集所有自定义指标数据,然后每个场景使用该数据来计算其内容。然后它会返回一个“分数”并挑选出最好的分数。
但是我怎样才能以最好的“概述”方式布局代码呢?
我应该为每个场景创建一个类并给他们一个带有数据的手动“打勾”吗?只是将它们分成多个文件和#include
它们?
或者也许是事件驱动的?创建的类只是继续运行、计算和设置某些指标事件的侦听器并以自己的方式进行(那太棒了)
任何想法都非常受欢迎!
更新2016-01-11,12:00
我现在没有时间创建 UML .. 但我现在执行以下操作 ->
Order
(Order
是单例,只是执行订单请求)Indicator
(每个指标扩展的基类)Strategy
(每个策略扩展的基类)IndicatorFetcher
(保存所有指标,在每个刻度上运行)StrategyRunner
(保存所有策略,在每个刻度上运行,之后IndicatorFetcher
)
每个Strategy
实例都可以访问IndicatorFetcher
(持有包含所有指标数据的概览,并使用Order
单例执行交易)。
file - 在策略测试器中运行 EA 时,MT4 无法打开文件错误 4103
我使用读取配置文件的指标编写了一个 EA。此配置文件放在文件夹中MQL4\Files
。
当我使用实时图表运行 EA 时,它运行良好。但是当我尝试使用策略测试器测试这个 EA 时,它返回一个4103 error: can not open file.
知道为什么会这样吗?
以及如何解决这个问题?
mql4 - 如何从 MQL4 (.mq4) 中的当前类获取文件名?
为了防止一些样板代码,我想读取一个类正在执行的文件的文件名。
没有MQL4
可用的默认功能,但应该可以使用本机 Windows 功能( a GetModuleFileName()
from kernel32.dll
)
来源 - https://msdn.microsoft.com/nl-nl/library/windows/desktop/ms683197(v=vs.85).aspx
我确实阅读了有关#import
,Kernel32.dll
并从那里窃取了一些功能,但它似乎不起作用。
它给了我以下错误->
2015.01.05 00:15 Cannot find 'GetModuleFileName' in 'kernel32.dll'
它解释了自己,getModuleFileName
不在kernel32.dll
有谁知道如何获取当前文件名?
metatrader4 - 在 OnCalculate 中获取蜡烛的数量和体积
我想知道如何获取蜡烛量和“计数器”有问题的蜡烛。当我捕捉到tick_volume[rates_total]
与使用“音量”指示器时呈现给我的音量不同时。难道我做错了什么?
algorithmic-trading - 如何在 MQL4 中从 CSV 文件绘制图表?
我是 and 的新手MQL
,MetaTrader 4
但
我想读取一个.CSV
-file 并将我得到的值绘制到Expert Advisor
我正在处理的图表中。
每个.CSV
文件的格式为:
其中EURUSD
part是_Symbol
另一个程序生成的,1
是句号,所有其他都是要绘制的数据。
是否有任何形式可以在 a 内完成Expert Advisor
,或者我需要使用 aCustom Indicator
吗?
如果是这种情况,我该如何以最简单的方式做到这一点?
PS:我在 a 中读取了数据struct
:
mql4 - 如何计算移动平均线最后穿过多少根柱线?
我正在编写一个 MQL4 自定义指标,它会告诉我们在多少根柱线之前穿过了一组特定的移动平均线。
具体来说,我希望输出告诉我
“过去 10 根柱线的 20 周期
MA( .. PRICE_OPEN )
低于MA( .. PRICE_CLOSE )
”。
以int
数字的形式。
我想知道自当前柱以来有多少柱ma1
高于或低于ma2
多少柱。
mql4 - 如何阻止 MetaTrader 终端 4 [MT4] 离线图表更新价格
如何阻止MetaTrader Terminal 4离线图表自行更新价格?
由于与经纪人的时区不同,我想自己更新价格。我已经检查了所有属性和MQL4
论坛。没运气。
trading - 如何使 [EA] 的演示版在 MetaTrader 真实账户上运行?
我有一个ExpertAdvisor
( EA
),名为 Hedging Recovery EA,它可以在我的模拟 MetaTrader 账户上正常工作,现在我要创建一个存款 5 美元的账户,并要在上面存入 +1000 美元,但我不确定, 如果EA
可行,因为我听说演示 EA 仅适用于演示 MetaTrader 账户。
如果是真的,我怎样才能让它在真实账户上运行?
这是说的可执行格式EA
:
http ://www.mediafire.com/download/cezoct5m7cgqngm/Hedging+Recovery.ex4
mql4 - 在 [ MQL4 ] 中编写专家顾问
因此,如果我想要一个MQL4
采用开盘价的 EA,当当前价格低于开盘价 10 点时,它会下一个买单,当它比开盘价高出 10 个点时,它会卖出。一次只有一个订单,并且每天都在变化。
Q1:这怎么可能不间断?
Q2:这还能盈利吗?
我知道这对某些人来说很简单,但对我来说却令人沮丧。
quantitative-finance - 需要 EA 的帮助
我正在尝试编写此逻辑:
if
no open orders
and
buy logic ( DayOpen - 10 * Point )
then
buy
if
bought
Sell
when
the one
(也是唯一的一个)bought order reaches Take Profit price.
这是我到目前为止所拥有的: