MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 49

 
Interesting:
而没有代码,如何帮助?

这段代码有200行,+它完全没有注释(我翻译了函数和它对OOP rails的引用)。

我想有人遇到过类似的情况(我自己怀疑是构造函数和析构函数,我在基类和子类中都默认有它们(完全没有指定))。

如果我需要的话,我会把代码贴出来,反正我自己也会评论的。

但我明天再发,我现在要睡觉了。

 

shell32.dll 调用ShellExecuteA,会出现这个消息

能否 调用 "shell32.dll :: ShellExecuteA, DLL 不允许
Access violation write 0x00000000

我这样称呼它。

#import "shell32.dll"
int ShellExecuteA(int a0,string a1,string a2,string a3,string a4,int a5);
#import

PS.忘了启用dll调用权限,但如果你启用了dll调用权限,当你运行测试器时,终端就会崩溃。

 
VOLDEMAR:

Oppa,一个来自过去的声音 .... 你不会碰巧有第一个建筑,对吗?

当然是Bild 541。
 
Barbarian:

shell32.dll 调用ShellExecuteA,会出现这个消息

能否 调用 "shell32.dll :: ShellExecuteA, DLL 不允许
Access violation write 0x00000000

我这样称呼它。

#import "shell32.dll"
int ShellExecuteA(int a0,string a1,string a2,string a3,string a4,int a5);
#import

PS.忘了打开调用dll的权限,但如果你打开了dll的权限,当你运行测试器时,终端会崩溃


字符串现在是unicode。

你需要使用unicode版本的函数

#import "shell32.dll"
int ShellExecuteW(int a0,string a1,string a2,string a3,string a4,int a5);
#import

 
ALXIMIKS:

这段代码有200行,+它完全没有注释(我翻译了函数和它对OOP rails的引用)。

我想有人遇到过类似的情况(我自己怀疑是构造函数和析构函数,我在基类和子类中都默认有它们(完全没有指定))。

如果我需要的话,我会把代码贴出来,反正我自己也会评论的。

但我明天再发,我今晚要睡觉。


如果没有什么秘密,请公布代码和播放步骤或Serveskiced。谢谢

 
stringo:

字符串是unicode。

你需要使用unicode版本的函数

是的,没有那么简单,看起来你还需要在字符串字面的前面写上L。
 
digits:

帮助我理解为什么这个在509上编译的代码在从EA上调用时可以工作。

在EA中,代码的调用和处理是这样的。

但如果代码是在ME中编译的,从build 540开始,EA的日志文件就写了。

而EA不能正常工作或根本不工作。


你在Build 541中试过吗?

到目前为止,我曾试图根据你的资料进行复制,但没有成功。你能在servicedesk上发布所有来源和细节(操作系统、符号、经纪人、安装文件夹、权限等)吗?

 
ALXIMIKS:

你能告诉我崩溃的可能原因吗))

我通过OOP制作了指标中的主要计算函数(我已经研究了几天了)。

一切工作正常(在3000巴时,计算速度增加了2-3倍)。

但当我试图运行2个指标时,它 崩溃了,一切都崩溃了 ......


最好是直接去servicedesk,并附上所有来源和说明。
 
空白的OnStart()
{
//---
//+------------------------------------------------------------------+
//| 脚本显示有关工具的信息
//+------------------------------------------------------------------+
Print("Symbol=",Symbol())。
Print("报价货币中的点尺寸=",MarketInfo(Symbol(),MODE_POINT))。
Print("证券价格变化的最小步数,单位为点=",MarketInfo(Symbol(),MODE_TICKSIZE))。
}

LOG

2013.11.15 12:43:11.716 ttt EURUSD,M1: 删除

2013.11.15 12:43:11.716 ttt EURUSD,M1:证券价格变化的最小步长为1e-005.0

2013.11.15 12:43:11.716 ttt EURUSD,M1:Pip size in quote currency=1e-005.0

2013.11.15 12:43:11.716 ttt EURUSD,M1: Symbol=EURUSD

2013.11.15 12:43:11.707 ttt EURUSD,M1:加载成功


 
HIDDEN:
空白的OnStart()
{
//---
//+------------------------------------------------------------------+
//| 脚本显示有关工具的信息。
//+------------------------------------------------------------------+
Print("Symbol=",Symbol())。
Print("报价货币中的点尺寸=",MarketInfo(Symbol(),MODE_POINT))。
Print("证券价格变化的最小步数,单位为点=",MarketInfo(Symbol(),MODE_TICKSIZE))。
}

LOG

2013.11.15 12:43:11.716 ttt EURUSD,M1: 删除

2013.11.15 12:43:11.716 ttt EURUSD,M1:证券价格变化的最小步长为1e-005.0

2013.11.15 12:43:11.716 ttt EURUSD,M1:Pip size in quote currency=1e-005.0

2013.11.15 12:43:11.716 ttt EURUSD,M1: Symbol=EURUSD

2013.11.15 12:43:11.707 ttt EURUSD,M1:加载成功


对数据输出的科学格式感到困惑?

1e-005.0 = 0.00001.毕竟是五位数
要以小数点表示进行打印,请在Print内使用DoubleToStr,或转到Print的新版本:PrintFormat。