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

 
pro_:

私が書いたこと(68ページ)はまだ修正されていませんが、これもすぐに修正されると思います。
そして、グラビツァーパは作られるでしょう ;)
 
artmedia70:
そして、グラビツァーパが作られる;)


ママ、ママ、どうしたらいいの...
"2つの言語で同時に考えると、言語を浸透させるのはとても難しい" (c) Kin-dza-dza

ですから、現在2つの言語(mql4とmql5)で構成されている言語を理解することは困難です。
すべてのライブラリが書き直され、機能が残ることを心から願っています。

 
慌てないでください、皆さん... 両方の半球を一緒にしておく。:)
 
Lion.Fx:

ママ、ママ、どうしよう、・・・・・・。
2つの言語で同時に考えていると、なかなか言語が頭に入ってこないんです。(c) キン・ザ・ザ

現在、2つの言語(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 " の代わりに、"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 Advisorの名前には、そのサブフォルダの名前も含まれます。

このため、専門家の名前のサイズが不必要に大きくなってしまいます。

例:Expert Advisorの名前がExpertでTerminal_directoryの⇄Orders⇄Nicknameに 保存されている場合。

の場合、Expert Advisorの名前はExpertではなく、OrdersCustomer_nameのCounterExpertに なります。オブジェクトの名前にExpert_nameとobject_name_timeが含まれている場合、すでに文字数オーバーとなり、0価格、0時間で出力されます。

オブジェクト名に、初期化時にクリーンアップされるEA名を含めると、オブジェクト名自体のためのスペースはほとんど残らない。

これは変わるのか、それともこのままなのか。

 
sanyooooook:

555に更新された端末は、スクリプト、Expert Advisorsと指標のファイルが表示されません、彼らは、端末ディレクトリにあります。

スクリーンショット


言いたいことを明確にしていただけますか?

提示されたスクリーンショットでは、スクリプト、エキスパート、インジケータがあります。