エラー、バグ、質問 - ページ 40

 
Interesting:

> バグを回避する方法ではなく、バグそのものを修正することに興味があるのです。完全になくしてほしい。

失礼とか侮辱とかはないと思いますが、本当に殺意を覚えました...。

質問のポイントに(提案)。

これはMQL4ではなく、Period() はTFの秒数/分数を明示的に表現するものではありません。

ある期間の秒数を取得するには、関数PeriodSeconds を使用します。


また、Periodを数値で表現しようとすると、結果としてENUM_TIMEFRAMES 列挙のPeriodの識別子に対応する数値が得られることになる。

さて、Period()関数のヘルプを開いてみましょう。B何を見るか?

現在のチャートタイムフレームの値を返します。

ENUM_TIMEFRAMESPeriod()。

戻り値

現在のチャートのタイムフレーム値が格納される_Period変数の内容。 ENUM_TIMEFRAMES列挙の 値のいずれかを 指定することができる。

ENUM_TIMEFRAMES]リンクをクリックすると、期間を一覧表示するテーブルが 開きます。

PERIOD_H1 1時間

全てはMQL4と同じです。16386という数字がどう関係するのか?

Methaqvotesはいつも通り、ユーザーのためにHelpを書くのではなく、自分たちのためのノートブックとして使っているのです。彼らは何が何であるかを知っており、テキストを読むときにユーザーの脳内で何が起こるかを気にしていません。どうやら、ロシア語の基本的な文体(少なくともABCの本レベル)を自分のものにするプロの編集者がいないようだ。:(

MQL4をマスターする際に、メタクオーツで提示される資料の無知に嫌気がさしただけです。MQL5でもう一度やり直さなければならない気がします。

 
drknn:

さて、Period()のヘルプを開いてみます。B 何が見えるか?

ENUM_TIMEFRAMESを クリックすると、期間の一覧表が 表示されます。

PERIOD_H1 1時間

16386という数字がどう関係するのか?

メタボはレパートリーの中で、ユーザーのためにヘルプを書くのではなく、自分のためのノートとして使っています。彼らは何が何であるかを知っており、テキストを読むときにユーザーの脳内で何が起こるかを気にしていません。どうやらロシア語の基本的な文体(少なくともABCの本レベル)を自分のものにするプロの編集者がいないようだ。:(

しかし、ENUM_TIMEFRAMESの PERIOD_H1の コード値は 16385 であり、それ以前は60(分数)であった。

この種のキャリブレーションは、MQL4のヘルプで行われたように、分子(識別子)の個々の値に対するコードをMQがまだ公開していないことに起因しています。

私個人は(たぶん他の人も)、ヘルプでこのCODES(値)を指定してほしいとお願いしたのですが、まだされていませんね。

追記

MQL4とMQL5のPeriod()のヘルプを開くと、すぐに目に飛び込んでくるのが以下の内容です(少なくともそのはずです)。

MQL4 - 現在のチャートについて、期間の 分数を返します。

MQL5 -現在のチャートのタイムフレームの値を返します

一般の開発者はこれで十分ですが、より低いレベルの作業(例えばDLLに情報を渡したり、マイグレーション用のライブラリを作ったり)をしたい場合は、数値コードを知っておく必要があります。

MQL4ではこのコードは秒数に相当するのですが(秒数を返すので)、MQL5ではルールが違っていて...。

Периоды графиков - Документация на MQL4
  • docs.mql4.com
Периоды графиков - Документация на MQL4
 

MQL4 およびMQL5 におけるPeriod() のコード値の要約表は以下のようになります。


アイデンティティ
MQL 5 コード
MQL 4 コード
商品説明
period_current / null
0
0
PERIOD_M11
1
1分
PERIOD_M22
Х
2分
PERIOD_M33
Х3分
PERIOD_M44
Х 4分
PERIOD_M55
5
5分
PERIOD_M66
Х 6分
PERIOD_M1010
Х 10分
PERIOD_M1212
Х 12分
PERIOD_M1515
15
15分
PERIOD_M2020
Х 20分
PERIOD_M3030
30
30分
PERIOD_H116385
60
1時間
PERIOD_H216386Х2時間
PERIOD_H316387Х2時間
PERIOD_H416388240 4時間
PERIOD_H616390Х 6時間
PERIOD_H816392Х 8時間
PERIOD_H1216396Х 12時間
PERIOD_D1164081440 1日
PERIOD_W132769
10080 1週間
PERIOD_MN1
49153
43200 1ヶ月


追記

これではっきりしたかな...。:)

Периоды графиков - Документация на MQL4
  • docs.mql4.com
Периоды графиков - Документация на MQL4
 
Interesting:

MQL4とMQL5のPeriod()のコード値をまとめた表は、以下のようになります。

>

追記

これですべてが明らかになったかと思いますが......。:)

MQL5のバリュービットを見てみると...。
 
mql5:
MQL5のバリュービットを見てみると...。
すべてが正確に指定されているようです。それとも、あなたの投稿の主旨が理解できなかったのでしょうか...。
 
Interesting:
すべてが正確に記載されているようです。それとも、私があなたの投稿のポイントを逃しているのでしょうか...。
数字が正しいように見えるが、なぜそうなるかは、2進数の値を見ればわかる。
 
mql5:
数字が正しく見えるが、その理由は2進数値を見ればわかる。

あ、これのことか...。:)
 
Interesting:

MQL4と MQL 5のPeriod() のコード値の概要表は次のようになります。

追記

これですべてがクリアになるといいのですが......。:)

形式論理を知り、用語の違いにすぐに目が留まりました。MQL5のヘルプを読んでも、はっきりしないことが多いことです。メタクォーツがベータテスターのグループを集めるために端末を一般公開したことは明らかです。この措置は時間と費用の節約になります。しかし、明確さに欠けるリファレンスをユーザーに与えることは、彼らの大きな過ちです。例えば、最も重要な「MQL4変換」のセクションを開きます。

事前定義された変数

MQL5では、Ask、Bid、Barsのような定義済みの変数は存在しません。DigitsとPointの変数は、下表のようにスペルが若干変更されています。

この表は、Ask、Bid、Barsの 情報を提供していない。同じ Askという 単語で検索 しようとすると、 最新の価格を問い合わせるという、まったく理解不能な構成 になっている。 開発者は、このヘルプの部分を入力する段階で、当時このことを予見できなかったのでしょうか?くだらない、なぜそんなことが起こるのか?理由はただ一つ、体系性の欠如、つまり将来のエッセイの明確なプランがないことです。おそらく、バラバラに書かれた証明書を、接着剤で貼り合わせて「証明書」ができあがったのだろう。これでは何の意味もない。他人の原稿を読むのが好きな人なんていませんよね!?

よし、下書きとはいえ、例えばこんな風に違う書き方をするのは、そんなに難しいことだろうか。

定義済み変数

MQL5では、Ask、Bid、Barsのような定義済みの変数は存在しません。MQL5におけるこれらの値は、他のルールによって取得されます。どのように行われるかを明確に知るには、" "セクションをお読みください。111", "2222" и "3333".

DigitsとPointの変数は、表にあるようにスペルが若干変更されています。

それだ!!!!こんな簡単な動きで、こんなに時間と手間が省けるんですね。

MQL5のヘルプを読むのは、地図もコンパスもなく、木に登って方向を確認することもできない暗い森をさまようようなものです。欲望とは何だろう?そうですね、そういう森には一切入らないことです。開発者は森を知り尽くしている。ユーザーに対してガイドを与えようとしない態度は、少なくとも困惑を、そして最大で嫌悪感を抱かせる。

開発者からの「現在、これよりも重要なタスクがあります」といった回答を読むと、「なぜ、こんな汚い仕事を投稿したんだ」と問いたくなります。評判を落とすのはマイナスです。最初にすべてをチェックし、デバッグし、きちんとコーディングして、下書きでユーザーを苦しめない方が良かったのでは?

言葉はいらない。メタトレーダー4は何年前から使われているのですか?正解、多数。そして、これまで適切なMQL4言語の教科書がなかった。そんな教科書を作ろうとして、失敗した活動家がいた。彼は努力家だ、それだけだ。彼の本は良い教科書とは言えません。この作品は、教科書としてサイトに転がっています。なぜ教科書にならないのか?はい、それは簡単です - 初心者この本を読んで、その後、フォーラムに出かけて、私を驚かせることができるようなたわごとを尋ねる。もし適切な教科書があれば、このようなことは起こりません。読者は明確な情報を得ることができ、将来のコードで特定のリソースを使用することの妥当性を知ることができます。

長い間、すべてをあきらめて、MQL4用の適切なコードエディターと、この言語に関する適切なチュートリアルの2つを作ろうという誘惑に駆られていました。しかし、作業量が膨大で、満足感以外は何も得られないので、これらのアイデアは実施しないことにしました。

要するに、私は2、3年待って、メタクボがMQ5-creationを研ぎ澄ますのを待つつもりです。こんなひどい出来栄えの作品には、触れたくもない。すでに「総員玉砕」しています。MQ5を急遽リベンジするくらいなら、MQ4系を最初から最後までデバッグした方がいい。

がっかりです。

 
drknn:

形式論理を知り、用語の違いにすぐに目が留まりました。要は、MQL5の ヘルプを読んでも、よくわからないことが多いということです。メタクォーツがベータテスターのグループを集めるために端末を一般公開したことは明らかです。この措置は時間と費用の節約になります。しかし、明確さに欠けるリファレンスをユーザーに与えることは、彼らの大きな過ちです。例えば、メインセクションの「MQL4変換」を開くと・・・・・・。

がっかりです。

特定の機能(主にMQL5が常にアップデートされていることによる)を考慮すると、かなり許容範囲内だと思います。

もちろん、不正確な部分、多くの人が好む「周回遅れやエラー」はありますが、それを説明し、徐々に改善することができます。

MQL4からMQL5への移行というテーマは、それ自体が別レイヤーであり、開発者はおそらくMQL5に対応し、それからこの部分の変更を考えるべきでしょうから、私は少なくとも秋まではこの部分の重大な変更について忘れることにします。

追記

そこにいろいろなものが追加される可能性があるということです。例えば、MQL4からいくつかの関数をDEADセクションに移動させることができます(MQL4で行われていたことです)。

移行を円滑にするための作業がある部分行われなかったとしても、GREAT STONEBOOKどころか、大きな問題にはならないだろう......。

 
Interesting:

全く問題なく参考になる...

ご教示ありがとうございました :)