MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 149

 

皆さん、明けましておめでとうございます。


インジケータに8個以上のバッファを使用することが可能かどうか、またDRAW_FILLINGなどの メソッドが正しく動作するかどうか教えていただけないでしょうか。

実行可能な例を教えてください。

というのも、コンパイラは文句を言わないのですが、おかしなことがあるのです。MQL5で何もしていないことを考慮すると、間違っているかもしれませんね :)


コンパイラにエラーが発生しました。'TimeTradeServer' - 関数が定義されていません。

機能が失われたということでしょうか。


 
ALXIMIKS:

3)メモリは4〜8ギガ以上...ダとi5、i7プロセッサは珍しくない...。

で、4K端末は32bitで、記憶違いでなければ2G以上のRAMは使えないのですが、その辺は考えたことがありますか?

1) バッファが8個しかないことについてですが、これはおそらくアーキテクチャかRAMのせいでしょう。

3.64bitOSの場合、最大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より上位のバージョンは出ているのでしょうか?

ただ、端末がまた更新されてないんじゃないかという疑惑があるんです。

5日まで更新はありません。休日の読み方を知らない疑惑があります;)レナートはごく最近、そのことについて書いている。
 
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回は考えることをお勧めします。ベータ版はテスト中なので、不具合が嫌ならやらないほうがいい