新しいバーを表示する - ページ 3

 

Alainさん、こんにちは。

コメントと改善点をありがとうございます。

最初のバージョンでは、"bool NewBar "はOnTick()内の関数 呼び出しで切り替えるグローバル変数でした。

あるいは、その小さなオブジェクトを作る。多分、最も賢い選択だろう。


そして、もちろん、「同じ計算は2度としない」ことです。

ヘルムート

 
datetime iTime[];
datetime recent;
datetime projection;
int OnInit()
  {
//---
  int pull=CopyTime(NULL,0,0,1,iTime);
  recent=iTime[0];
  projection=recent+PeriodSeconds();
//---
   return(INIT_SUCCEEDED);
  }

void OnTick()
  {
//---
  if(TimeCurrent()>=projection)
   {
   Print("New Bar "+TimeToString(projection,TIME_DATE|TIME_MINUTES));
   projection=projection+PeriodSeconds();
   }
  }
 

ドーク・ヒルガー

言語は同じだが、共通でない機能の小さなサブセットを持っている<br / translate="no">。

なんてこった......絶対に違う!

MQは、製品の説明で指摘したように

MetaQuotes Language 5は、有名で人気のある プログラミング言語С++の概念に基づいて います。MQL5は、高レベルのオブジェクト指向プログラミング言語でもあります。

https://www.metatrader5.com/en/automated-trading/mql5

構造体、ポインタ、アドレスの扱いに若干の違いがあるほかは、最大のポイントです。MQL5はオブジェクト指向プログラミング言語のすべての機能を提供し、全く異なるプログラミングパラダイムを可能にします。この点から、MQL5はMQL4とは明らかに別のクラス、別の世代の言語に属しています。

もうひとつの利点は、スピードです。どこで読んだか覚えていませんが、MQL5は100倍速いそうです。MQL5の実行速度は、MQL4の100分の1である。

しかし、 プロフェッショナルなレベルでプログラミングの概念に慣れる 必要がある場合は、プログラムを作成するのに非常に時間が かかります。

これがMQの問題点です。一方では、プロフェッショナルの市場を獲得するために最新のプロフェッショナルな開発環境を提供する必要があり、他方では、プログラミング科学ではなく、トレーディングに興味を持つ個人およびセミプロの顧客を失うことは許されないのである。




 
MQはこのとき、混乱を招くようなことをたくさんしました。

たぶん、あなたの言うとおりでしょう。

この問題をより明確にするために、私たちに何ができるか考えてみましょう。

MQL4に関する問題はMQL4フォーラムに、MQL5に関する質問はMQL5フォーラムに投稿していただければと思います()。

とても簡単なことだと思いますが、いかがでしょうか?

最初のうちは、モデレーターが間違った投稿を正しいフォーラムに移動し、「すみません、フォーラムが違っていました - 参照してください」というヒントを残してくれれば、サービスとしては十分でしょう。

Willbur

 

ロレンソス・ルソス 氏(@LorentzosRoussos

だんだん簡単になってきましたね ;-)

私が心配しているのは、TimeCurrent()がすべてのケースでバーと同期しているかどうかということです。

月曜日に 2時間のテストをしてみようと思っています。

ウィルバー



 
であるべきです。 24 h
 
Willbur:

ロレンソス・ルソス 氏(@LorentzosRoussos

だんだん簡単になってきましたね ;-)

私が心配しているのは、TimeCurrent()がすべてのケースでバーと同期しているかどうかということです。

月曜日に 2時間のテストをしてみようと思っています。

ウィルバー



Alainが訂正してくれるでしょうが、あるバーの時間軸にティックがない場合、ギャップが見つかるかもしれません。
 
Willbur:

ドーク・ヒルガー

なんてことだ......絶対にダメだ!

MQが製品説明で指摘しているように

構造体、ポインター、アドレスの扱いに若干の違いがあるほかは、最大のポイントはMQL5は、オブジェクト指向のプログラム言語のすべての機能を提供し、完全に異なるプログラミングパラダイムを可能にします。




確かにそうですね :) でも、おっしゃることはわかります。私はオブジェクト指向のコーディングしかしないので、いつもMQL5をプログラミングしていると思っていましたが、今回知ったように、600番台の「Enhanced」MQL4はMQL5とは別物で、言われたとおり、関数 サブセットで小さな違いがあります - そしてこの構築以来MQL4はもう別の言語ではなくなっているのです。実際、Enhanced-MQL4はMetaTrader4用のMQL5です。それが、私が混乱した部分という意味です。私にとって、MQL5は常にOOPで、MQL4はトップダウンスパゲッティにすぎませんでした。そして、私はスパゲッティが好きではありません;)

Edit: 上の文章はどこから引用したもので、いつ掲載されたものですか?なぜなら、それは最初の仮定が正しいことを意味するからです:それはMQL5です...最高レベルの混乱;)

 
スパゲティが好きです。
 
Doerk Hilger:

間違いなくそうです :) しかし、私はいつも私がMQL5をプログラミングしていると思っています。なぜなら、私はオブジェクト指向のコードしか書きませんが、今知ったように、600を構築して以来、その「拡張」MQL4は単にMQL5以外のものではありませんが、言われたように、関数サブセットで小さな違いがあり、この構築以来MQL4はもはや別の言語ではありません。実際、Enhanced-MQL4はMetaTrader4用のMQL5です。それが、私が混乱した部分という意味です。私にとって、MQL5は常にOOPで、MQL4はトップダウンスパゲッティにすぎませんでした。そして、私はスパゲッティが好きではありません;)

Edit: 上の文章はどこから引用したもので、いつ掲載されたものですか?なぜなら、それは最初の仮定が正しかったことを意味するからです:それはMQL5です...その最高レベルでの混乱;)

エンハンスドMQL4?

そんなの聞いたこともない。

自分が何をやっているか分かっていると納得する前に、両方のプラットフォームのドキュメントを読むべきかもしれませんね。