初学者的问题 MQL5 MT5 MetaTrader 5 - 页 774 1...767768769770771772773774775776777778779780781...1503 新评论 Aleksey Vyazmikin 2017.08.23 06:45 #7731 0Aleksandr0: 它是什么?我对MQL4不是很了解,如果你告诉我需要得到什么,我就能用MQL5来写。 我认为这与历史盈亏计算有关。问题就在这里,我自己也不明白--这段代码是按照我的命令写的,是从一个班级里拉出来的。我也倾向于认为这段代码是为了平衡计算。但是,根据这个想法,随着新订单的打开和关闭,平衡的变化应该在阵列中被重置,但我没有看到...... fxsaber 2017.08.23 08:05 #7732 Aleksey Vyazmikin:请帮助我在MT5上重写代码 - 我对订单一无所知 :(#include <MT4Orders.mqh> Aleksey Vyazmikin 2017.08.23 08:27 #7733 fxsaber: 谢谢你,有这个类的EA编译了--我不知道是否会冲突...现在在运行测试时得到一个错误2017.08.23 11:22:59.929 Core 3 2016.06.01 00:00:00 DLL加载不被允许2017.08.23 11:22:59.929 Core 3 全局初始化失败2017.08.23 11:22:59.929 Core 3 全局初始化关键错误2017.08.23 11:22:59.929 Core 3 测试仪因专家初始化失败而停止。使用库调用 - 在MT4中一切都正确。#import "Kernel32.dll" bool CopyFileW(string lpExistingFileName,string lpNewFileName,bool bFailIfExists); #import 原因是什么呢? fxsaber 2017.08.23 08:35 #7734 Aleksey Vyazmikin: 谢谢你,EA编译了这个类 - 但我不知道它是否会冲突...不会的。现在在运行测试时得到一个错误2017.08.23 11:22:59.929 Core 3 2016.06.01 00:00:00 DLL加载不被允许2017.08.23 11:22:59.929 Core 3 全局初始化失败2017.08.23 11:22:59.929 Core 3 全局初始化关键错误2017.08.23 11:22:59.929 Core 3 测试仪因专家初始化失败而停止。使用库调用 - 在MT4中一切都正确。可能的原因是什么?在终端允许使用DLL。 Aleksey Vyazmikin 2017.08.23 08:49 #7735 fxsaber:它不会。在终端,允许使用DLL。你不会相信的--我做了,但没有效果--显然,缓存在那里,一段时间后会被清除--现在已经开始工作。谢谢你。 Aleksey Vyazmikin 2017.08.23 09:04 #7736 如何教代理写到同一个文件?现在,每个人都在自己的文件夹中创建自己的文件,这并不理想。 Alexey Viktorov 2017.08.23 09:45 #7737 Aleksey Vyazmikin:如何教代理写到同一个文件?现在,每个人都在自己的文件夹中创建自己的文件,这并不理想。阿列克谢,至少打开一次文档...那里准确地描述了哪个标志指向一般的文件夹,它打开了对文件的一般访问。等待答案是否比阅读文件更容易? Документация по MQL5: Файловые операции www.mql5.com Файловые операции - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Vladimir Karputov 2017.08.23 09:50 #7738 Aleksey Vyazmikin:如何教代理写到同一个文件?现在,每个人都在自己的文件夹中创建自己的文件,这并不理想。首先(第1步),你需要克服。...在它自己的文件夹中,...这是用FILE_COMMON标志完成的--所有代理现在将写到一个共同的文件夹(但每个代理仍将写到自己的文件)。例如EA。//+------------------------------------------------------------------+ //| Agents FILE_COMMON.mq5 | //| Copyright © 2017, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2017, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //--- input int s=0; //--- string InpFileName=""; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- Initialize the generator of random numbers MathSrand(GetTickCount()); InpFileName=IntegerToString(MathRand())+".txt"; //--- open the file ResetLastError(); int file_handle=FileOpen(InpFileName,FILE_WRITE|FILE_TXT|FILE_COMMON); if(file_handle!=INVALID_HANDLE) { //--- the string is formed, write it to the file FileWriteString(file_handle,InpFileName); //--- close the file FileClose(file_handle); PrintFormat("Data is written, %s file is closed",InpFileName); PrintFormat("Common path for all of the terminals installed on a computer: %s",TerminalInfoString(TERMINAL_COMMONDATA_PATH)); } else { PrintFormat("Failed to open %s file, Error code = %d",InpFileName,GetLastError()); return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ 要快速打开这个公共文件夹,请执行以下操作:在MetaEditor中,选择文件菜单中的 "打开公共数据文件夹"。现在运行这个EA进行优化,并观察随着测试的进行在公共数据文件夹中创建的新文件。 附加的文件: Agents_FILE_COMMON.mq5 5 kb Aleksey Vyazmikin 2017.08.23 10:32 #7739 Vladimir Karputov: 首先(第1步)需要被打败。这是用FILE_COMMON标志完成的--所有代理现在将写到一个共同的文件夹(但每个代理仍将写到自己的文件)。例如EA。要快速打开这个共享文件夹,请执行以下操作:在MetaEditor代码编辑器中,从文件菜单中选择 "打开公共数据文件夹"。现在运行这个EA进行优化,并观察随着测试的进行,在公共数据文件夹中如何创建新文件。我不想把它放到Common里,因为终端在自己的目录里运行,反正会有很多你说的文件,这也解决不了问题。 Vladimir Karputov 2017.08.23 10:36 #7740 Aleksey Vyazmikin: 我不想进入Common,因为终端在自己的目录中运行,仍然会有很多文件,如你所说,这并不能解决问题。它说:"......。步骤1......"关于第2步--现在自己想一想,即多个没有冲突的线程如何能写到一个文件。 1...767768769770771772773774775776777778779780781...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
它是什么?我对MQL4不是很了解,如果你告诉我需要得到什么,我就能用MQL5来写。
我认为这与历史盈亏计算有关。
问题就在这里,我自己也不明白--这段代码是按照我的命令写的,是从一个班级里拉出来的。我也倾向于认为这段代码是为了平衡计算。但是,根据这个想法,随着新订单的打开和关闭,平衡的变化应该在阵列中被重置,但我没有看到......
请帮助我在MT5上重写代码 - 我对订单一无所知 :(
#include <MT4Orders.mqh>
谢谢你,有这个类的EA编译了--我不知道是否会冲突...
现在在运行测试时得到一个错误
2017.08.23 11:22:59.929 Core 3 2016.06.01 00:00:00 DLL加载不被允许
2017.08.23 11:22:59.929 Core 3 全局初始化失败
2017.08.23 11:22:59.929 Core 3 全局初始化关键错误
2017.08.23 11:22:59.929 Core 3 测试仪因专家初始化失败而停止。
使用库调用 - 在MT4中一切都正确。
原因是什么呢?
谢谢你,EA编译了这个类 - 但我不知道它是否会冲突...
不会的。
现在在运行测试时得到一个错误
2017.08.23 11:22:59.929 Core 3 2016.06.01 00:00:00 DLL加载不被允许
2017.08.23 11:22:59.929 Core 3 全局初始化失败
2017.08.23 11:22:59.929 Core 3 全局初始化关键错误
2017.08.23 11:22:59.929 Core 3 测试仪因专家初始化失败而停止。
使用库调用 - 在MT4中一切都正确。
可能的原因是什么?
在终端允许使用DLL。
它不会。
在终端,允许使用DLL。
你不会相信的--我做了,但没有效果--显然,缓存在那里,一段时间后会被清除--现在已经开始工作。谢谢你。
如何教代理写到同一个文件?现在,每个人都在自己的文件夹中创建自己的文件,这并不理想。
如何教代理写到同一个文件?现在,每个人都在自己的文件夹中创建自己的文件,这并不理想。
阿列克谢,至少打开一次文档...那里准确地描述了哪个标志指向一般的文件夹,它打开了对文件的一般访问。等待答案是否比阅读文件更容易?
如何教代理写到同一个文件?现在,每个人都在自己的文件夹中创建自己的文件,这并不理想。
首先(第1步),你需要克服。
...在它自己的文件夹中,...
这是用FILE_COMMON标志完成的--所有代理现在将写到一个共同的文件夹(但每个代理仍将写到自己的文件)。
例如EA。
要快速打开这个公共文件夹,请执行以下操作:在MetaEditor中,选择文件菜单中的 "打开公共数据文件夹"。
现在运行这个EA进行优化,并观察随着测试的进行在公共数据文件夹中创建的新文件。
首先(第1步)需要被打败。
这是用FILE_COMMON标志完成的--所有代理现在将写到一个共同的文件夹(但每个代理仍将写到自己的文件)。
例如EA。
要快速打开这个共享文件夹,请执行以下操作:在MetaEditor代码编辑器中,从文件菜单中选择 "打开公共数据文件夹"。
现在运行这个EA进行优化,并观察随着测试的进行,在公共数据文件夹中如何创建新文件。
我不想把它放到Common里,因为终端在自己的目录里运行,反正会有很多你说的文件,这也解决不了问题。
我不想进入Common,因为终端在自己的目录中运行,仍然会有很多文件,如你所说,这并不能解决问题。
它说:"......。步骤1......"
关于第2步--现在自己想一想,即多个没有冲突的线程如何能写到一个文件。