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

 

大家新年快乐!


请您告诉我,是否可以为指标使用8个以上的缓冲区,以及DRAW_FILLING 等方法是否能正常工作?

我可以有一些可行的例子吗?

因为我有一些奇怪的事情,虽然编译器没有抱怨。考虑到我没有在MQL5中做过任何事情,我可能弄错了 :)


编译器出现了错误。'TimeTradeServer' - 未定义函数

这是否意味着功能已经丧失?


 
ALXIMIKS:

3)内存可以是4-8G或更多....da,i5和i7处理器并不罕见......

而4K终端是32位的,如果我没记错的话,不能使用超过2g的内存,你有没有想过这个问题?

1)关于只有8个缓冲区,这很可能是由于架构,或RAM的原因,我不太清楚。

3.在64位操作系统上最大为4GB。

1.这是一个人为的限制。你可以拥有更多,但他们不愿意。可能太多东西要重做。

 

从参考资料来看。

StringBufferLen

返回分配给字符串的缓冲区的大小。

int StringBufferLen(
string string_var // string
)

最小缓冲区大小为16。

但实际上分配给字符串的缓冲区的最小尺寸是123。

当使用

弦外之音

用指定的字符初始化字符串,并提供指定的字符串大小。

bool StringInit(
string& string_var, // 要初始化的字符串
int new_len=0, // 初始化后要求的字符串长度
ushort character=0 // 要填充字符串的字符
)

缓冲区大小 仍然 等于123,参考文献中的例子是不正确的(StringBufferLen(str) =123)。

void OnStart()
  {
   string str;
   StringInit(str,20,'_');
   Print("str = ",str);
   StringFill(str,0);
   Print("str = ",str,": StringBufferLen(str) = ", StringBufferLen(str));
  }
// Результат
//   str = ____________________
//   str =  : StringBufferLen(str) = 20
//

MQL4 参考/ 字符串函数/ StringFill


 

新年快乐,同事们!

目前的最新版本是什么?是否已经发布了高于568的版本?

我只是怀疑,终端又没有自我更新。

 
Night63:

新年快乐,同事们!

目前的最新版本是什么?是否已经发布了高于568的版本?

我只是怀疑,终端又没有自我更新。

在五号之前不会有任何更新。有一种怀疑是你在假期中不知道如何阅读;)雷纳特最近写到了这一点。
 
artmedia70:
有一种怀疑,人们在假期中不知道如何阅读;)雷纳特最近写到了这一点。


"最近"--这是去年的事!;)

谢谢你!真的很想念它。

 
Y.A.K._:

祝大家新年快乐!


你能告诉我是否可以为指标使用8个以上的缓冲区,以及像DRAW_FILLING 这样的方法是否能正常工作?

我可以有一些可行的例子吗?

因为我有一些奇怪的事情,虽然编译器没有抱怨。考虑到我没有在MQL5中做过任何事情,我可能弄错了 :)


编译器出现了错误。'TimeTradeServer' - 未定义函数

这是否意味着该功能已经消失了?


这些问题已经充斥着实质内容。
 

新年快乐!

试图创建一个带有文字的图形标签,但它不工作。

bool Graf(string txt,int x,int y,string text,int widch,int heigt,color colbg,color coltx,int cor)
  {
   if(ObjectFind(txt)==-1)
   ObjectCreate(0,txt,OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(0,txt,OBJPROP_CORNER,cor);
   ObjectSetInteger(0,txt,OBJPROP_ANCHOR,ANCHOR_LEFT);
   ObjectSetInteger(0,txt,OBJPROP_BGCOLOR,colbg);
   ObjectSetInteger(0,txt,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,txt,OBJPROP_YDISTANCE,y);
   ObjectSetString (0,txt,OBJPROP_TOOLTIP,name);
   ObjectSetString (0,txt,OBJPROP_TEXT,text);
   ObjectSetInteger(0,txt,OBJPROP_XSIZE,widch);
   ObjectSetInteger(0,txt,OBJPROP_YSIZE,heigt);
   ObjectSetString (0,txt,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,txt,OBJPROP_COLOR,coltx);
   ObjectSetInteger(0,txt,OBJPROP_BORDER_COLOR,C'80,80,80');
   ObjectSetInteger(0,txt,OBJPROP_SELECTABLE,true);
   ObjectSetInteger(0,txt,OBJPROP_SELECTED,true);   
   ObjectSetInteger(0,txt,OBJPROP_FONTSIZE,10);
   ChartRedraw();
   return true;
  }

出现一个图形化的标签

但上面没有文字......。

如果我想在上面添加文字,创建额外的OBJ_Label,怎么办?

我不认为创建中间有文字的按钮有什么意义......。

 

是服务器不可用还是终端错误?

 
vadynik:

是服务器不可用还是终端错误?


该服务器是可用的。但我建议你在进行更新之前要考虑10次。测试版正在测试中,如果你不希望出现任何故障,你就不要做了。