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

 
pro_:

我写的东西(第68页)还没有被修复,但我相信它也会很快被修复。
并将制作gravitsapa;)
 
artmedia70:
并将制作一个gravitsapa;)


妈妈,妈妈,我们该怎么做...
"当你同时用两种语言思考时,很难渗透到一种语言。" (c) Kin-dza-dza

因此,很难理解一种目前由两种语言(mql4和mql5)组成的语言。
我真的希望所有的库都能被重写,功能也能保留。

 
不要惊慌,先生们...... 保持两个半球在一起。:)
 
Lion.Fx:

妈妈,妈妈,我们该怎么做,.....
当你同时用两种语言思考时,你很难进入语言。(c) Kin-dza-dza

要理解一种目前由两种语言(mql4和mql5)组成的语言很困难。
我真的希望所有的库都能被重写,功能也能保留。


库中的ObjectCreate() 函数应该稍微修正一下。

例如,在"ChartObjectsBmpControls.mqh " 中代替。

ObjectCreate(chart_id,name,OBJ_BITMAP_LABEL,window,0,0.0)

做出.....................:

ObjectCreate(name,OBJ_BITMAP_LABEL,window,0,0.0) 
 
ALXIMIKS:


在库中,你只需要对ObjectCreate()函数进行一些调整就可以了

例如,在"ChartObjectsBmpControls.mqh " 中代替。

做出.....................:

为什么要改变它? 你可以同时保留它们。 最和谐的选择。
 
MetaDriver:
为什么要替换它们? 你可以同时保留它们。 最和谐的选择。


在一个新的构建中,它将重新编译库。

出路是继承并添加自己的功能,但如果开发者修复了这个问题,一切就没有意义了。

 
#property  strict

int iter=500000;

#define  S1      "abc"
#define  S2      "bcd"

void OnStart()
  {
        uint    startt,stopt;
   string s,s1;

   s1=S1; s="";
   Print("iter=",iter," s1=\"",s1,"\"");
   
//--- first method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) s+=s1; stopt=GetTickCount();
   Print("s+=s1, time=",(stopt-startt)," ms, strlen=",StringLen(s));

//--- second method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) StringAdd(s,s1); stopt=GetTickCount();
   Print("StringAdd(s,s1), time=",(stopt-startt)," ms, strlen=",StringLen(s));

//--- third method
   s1=S1; s="";
   startt=GetTickCount(); for(long i=0; i<iter; i++) s=StringConcatenate(s,s1); stopt=GetTickCount();
   Print("s=StringConcatenate(s,s1), time=",(stopt-startt)," ms, strlen=",StringLen(s));
}

teststr给出。

2013.12.08 21:12:41.866 teststr USDCHF,H1: 删除
2013.12.08 21:12:41.855 teststr USDCHF,H1: s=StringConcatenate(s,s1), time=57564 ms, strlen=451434
2013.12.08 21:11:44.295 teststr USDCHF,H1:StringAdd(s,s1), time=16 ms, strlen=1500000
2013。12.08 21:11:44.284 teststr USDCHF,H1: s+=s1, time=530 ms, strlen=1500000
2013.12.08 21:11:43.749 teststr USDCHF,H1: iter=500000 s1="abc"
2013.12.08 21:11:43.746 teststr USDCHF,H1: 载入成功


watch STRLEN....(在iter=3000或任何小的iter下都能正常工作)

建立555

 
我找到了一些对象在图表中不可见且参数为零的原因。如果对象的名称是由EA中的一些数据建立的,并且超过了一定的字符数而被截断,就会发生这种情况。这样一个对象的参数为零。在第509期中,它被输出了一个截断的名称,在555期中,它被输出,但价格 和时间坐标为零。
 

这很有趣。专家顾问的名称包括其子文件夹的名称。

这不必要地增加了专家名字的大小。

例如:如果专家顾问的名字是Expert,并且它存储在Terminal_directory/MQL4/experts/Orders/Nickname。

那么专家顾问的名字就不是专家,而是Orders\Customer_name\Expert。如果对象的名称包括Expert_name和object_name_time,它的字符数已经超标,对象将以零价格和零时间输出。

如果对象名称包括一个EA名称,在去初始化时被清理,这给对象名称本身留下的空间非常小。

这一点会不会被改变,还是会一直如此?

 
sanyooooook:

更新到555终端时,看不到脚本、专家顾问和指标的文件,它们都在终端目录中。

屏幕截图


能否请你澄清一下你的观点?

在你提供的截图中,有脚本、专家和指标