为MetaTrader 4开发了一个API函数库 - 页 6

 
<br / translate="no">还要注意,欧米茄 "不知道 "Mforex.h文件中的定义。也就是说,例如,当调用开仓函数时,你应该指定操作代码,例如,Sell - 1,而不是OP_SELL,等等。更多细节,请参见DevKit文档,其中描述了omega与外部库的工作方式。
好运!


我有DevKit的文档,但我在那里没有找到任何东西,英语是一个黑暗的森林。
但有一个从mforex.n文件中提取的内容。
订单
enum { OP_BUY=0,
OP_SELL。
OP_BUY_LIMIT。
OP_SELL_LIMIT。
OP_BUY_STOP。
OP_SELL_STOP。
OP_BALANCE。
呼叫中心:OP_CREDIT
};

这是否意味着,如果
OP_BUY=0则
OP_SELL=1和
OP_BUY_LIMIT=2等?

如果是这样,这并不难。

工具的名称是什么?
 
<br / translate="no"> 工具的名称呢?

你几乎已经为自己想好了一切。工具名称必须使用倒逗号,因为它将被传递给MT4而不被改变。当我创建MFOREX库时,我最初想以同样的方式对所有可用的货币对进行编号,但后来发现标准的方式不能提供交易工具的列表!这时,我才发现,原来我是在为所有的交易工具编号。因此,我们只是写 "USDCHF "或 "GBPUSD"。
你也可以在一个字符串变量中传递配对的名称。
好运!
 
非常感谢你,到目前为止,欧米茄的问题较少。
我发现了一个更大的问题。
MT4中的专家顾问坏了,即它自己不工作,它在列表中是灰色的,该怎么办?
我再次下载了它,它没有变化。

我从HELP下载了它。

在我们完成开发后,我们必须编译专家顾问。要做到这一点,在EA编辑器中运行 "文件-编译 "菜单命令,按F9或点击工具条按钮。作为成功编译的结果,将创建一个扩展名为*.EX4的程序可执行文件,它将被自动放置到/EXPERTS文件夹中。可以在客户终端的 "Navigator - Expert Advisors "窗口中查看已编译的Expert Advisors列表。如果编译不成功,专家顾问的图标将是灰色的。这意味着它不能被使用。
 
作为成功编译的结果,一个扩展名为*.EX4的可执行程序文件被创建,它被自动放在/EXPERTS文件夹中。可以在客户终端的 "导航仪-顾问 "窗口中查看已编译的EA列表。如果编译不成功,专家顾问的图标将是灰色的。这意味着它不能被使用。<br / translate="no">

你在这里是错的。专家顾问是完全可行的。灰色也意味着没有*.MQ4源文件。大多数商业性的EA都是这样以编译的形式发布的。尝试删除任何专家顾问的来源,并重新启动终端 - 专家顾问将变成灰色。
此外,我建议用新的文件替换Mem.dll文件。我已将后者转换为新建立的197交易终端。在我网站的文件中,Mem.dll已经改成了新版本。
http://www.min2006.ru
好运!
 
下午好,我有这个问题。
如果我想逐一进入市场,我还需要指定一个价格吗?
 
下午好,所以我有这样一个问题:<br/ translate="no">如果我想按市场进入,我还需要指定一个价格吗?

你好,这是一个标准程序。所有的专家顾问都是这样工作的:首先,你得到当前的价格(TikKot函数),然后你在这个价格形成一个新的订单(NewPos)。如果你开了一个买入订单,你将采取卖出价格,如果你卖出订单,你将采取买入价格。请看我网站上的C++或Delphi的例子。在那里你可以找到职位空缺的变种。好运!
 
所以昨天我在Omega中用不同的功能运行了一整天的DLL,发现Omega不断从DLL中挂起。电脑号码窗口弹出,甚至有一些,我不知道这是不是只在演示中出现的问题,还是什么?因此,我对数字窗口并不感到困扰,但欧米茄的挂起使它无法工作......
 
所以昨天我在Omega中用不同的功能运行了一整天的DLL,发现Omega不断从DLL中挂起。电脑号码窗口弹出,甚至有一些,我不知道这是不是只在演示中出现的问题,还是什么?因此,带有数字的窗口并没有真正困扰我,但欧米茄的悬挂使它无法工作......<br/ translate="no">

我无法回答任何具体问题。我还没有用Omega测试过这个库。显然,问题是库中的一个错误的函数调用。你是否为返回的数据数组预留了内存?我也可以建议你仔细调查MT4和库本身的日志(它工作时创建Protokol.dat文件)。 带有计算机号码的窗口只在演示版中弹出。好运!
 
你是否为返回的数据集保留了内存?<br / translate="no">


这是如何做到的?
 
<br/ translate="no">这是如何做到的?

这是任何编程语言的标准程序。在欧米茄的文档中可以看到。你需要声明一个数组,以便其后续使用。例如,要获得历史上的报价,你需要2000-5000个数组元素。对于数组,在操作之前,我们需要使用Omega来分配内存中的必要空间。 你看到日志中的内容了吗?