初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1310

 

MqlRates rates[];

レート[0].オープン>レート[0].クローズ

この状態を、現在のタイムフレームと、さらに2つ、3つ、5つのタイムフレームで一度に確認する方法を教えてください。テストの性能にどのような影響があるのでしょうか? マルチフレームEAやMT5のインジケーターのリンクを頂ければ幸いです。

 
Николай К:

MqlRates rates[];

レート[0].オープン>レート[0].クローズ

この状態を、現在のタイムフレームと、さらに2つ、3つ、5つのタイムフレームで一度に確認する方法を教えてください。テストの性能にどのような影響があるのでしょうか? マルチフレームEAやMT5のインジケーターのリンクを頂ければ幸いです。

各TFの配列rates_tf_**[]と、同じく各TFのCopyRatesを適切な構造体の配列にする。それがテストのスピードにどう影響するのか......それはまた別の問題です。しかし、それ以外には何もない。それとも私が知らないだけなのでしょうか...。
 


コード

FileWrite(file_handle, Period());

5分のタイムフレームで5を表示します。

AF 15分=15

そして、TF1h=1536で

4ч =16388

なぜそうなのか?

 
Aleksei Skrypnev:


コード

5分足で見ると、5と表示されます。

AF 15分=15

そして、TF 1H=1536に

なぜそうなのか?

まず、Period() を見てみましょう。

...この値はENUM_TIMEFRAMES列挙 型の値の いずれかである。

識別子

商品説明

PERIOD_CURRENT

当 期

PERIOD_M1

1分

PERIOD_M2

2分

PERIOD_M3

3分

PERIOD_M4

4分

PERIOD_M5

5分

PERIOD_M6

6分

PERIOD_M10

10分

PERIOD_M12

12分

PERIOD_M15

15分

PERIOD_M20

20分

PERIOD_M30

30分

PERIOD_H1

1時間

PERIOD_H2

2時間

PERIOD_H3

3時間

PERIOD_H4

4時間

PERIOD_H6

6時間

PERIOD_H8

8時間

PERIOD_H12

12時間

PERIOD_D1

1日

PERIOD_W1

1週間

PERIOD_MN1

1ヶ月


注)「PERIOD ...の値の1つ」。つまり、PERIOD_H6やPERIOD_M1、またはPERIODの任意の値を指定することができます。しかし、列挙の内部表現には全く興味がないはずである。今日は「15」、明日は「15478899662」になる可能性があります。しかし、プログラマーとしては全く気にする必要はありません。内部表現ではなく、値(PERIOD_M4, PERIOD_M15 ...)を使って作業すべきです。

Документация по MQL5: Проверка состояния / Period
Документация по MQL5: Проверка состояния / Period
  • www.mql5.com
Period - Проверка состояния - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vladimir Karputov:

Period() の初見

...値はENUM_TIMEFRAMES列挙値の いずれかとすることができる。



注)「PERIOD ...の値の1つ」。そのため、PERIOD_H6やPERIOD_M1、あるいは列挙された値の中から任意の値を選択することができる。しかし、列挙の内部表現には全く興味がないはずだ。今日は「15」、明日は「15478899662」になる可能性があります。しかし、プログラマーとしては、このことを全く気にする必要はありません。内部表現ではなく、値(PERIOD_M4, PERIOD_M15 ...)を操作しなければなりません。

もっと分かりやすいものが書き込まれると思ったのですが......)

もっとわかりやすいもの(Perod_H1のようなもの)をシンプルにファイルに書き込めないのか?

 
Aleksei Skrypnev:

もっと明確なものが書き込まれると思ったのですが)

もっとわかりやすいもの(Perod_H1と同じようなもの)を単純にファイルに書き込むことはできないのでしょうか?

もし、非常にわかりやすくする必要があれば、テキスト'PERIOD_H1' などでファイルに記述してください。

 

皆さんごきげんよう! なんということでしょう。MT4でEAをテストしていたのですが、一日中テストして、結局、夕方にはハードディスクにメモリが残っていないのを見て、すぐにテストのせいだと気づき、それをきれいにしようと思い、WindowsのMetaQuotes フォルダに行き、そこでたくさんのものを削除しました、結果として、MT4とMT5の両方、合計10個、すべてのプラットフォームが失われましたが、それらは動作します、完全に「きれい」です - 市場からの指標、EA、何もない!!私は本当に1つのMT5ターミナルで1つのアドバイザーが必要でした、私はコピーを保存していない、これ以上の活性化はありません、私は何をすべきか?

削除したファイルを復元するプログラムを使おうと思い、アップデート 時にEAファイルをエキスパートフォルダに入れてなんとか復元しましたが、ターミナルには 表示されず、マーケットアカウントからダウンロードもできず、インストールに失敗しましたと表示されます。

ファイル:
 

困ったことがあるので助けてください

コードの書き方は勉強中なので、リテラシーのなさは大目に見てください。

OnChartEvent 関数は、タイムフレームの変更やインジケータメニューの設定変更後にチャートのグラフィカルオブジェクトを更新する関数ですが、この関数の理解を助けて欲しいです。 インジケータが終了した場合、このインジケータのすべてのグラフィックオブジェクトをチャートから完全に削除することにしています。

まずグラフィカルなオブジェクトを削除してから、再度作成する必要があると理解しています。しかし、オブジェクトが削除されると、そのプロパティにアクセスできなくなり、そのオブジェクトをどうやって 再作成するのか.........。 それとも、私が理解していないのでしょうか?あるいは、チャート上のグラフィカルなオブジェクトを更新するという別の方法があるのでは?

どうすればいいのか、コメント付きで例を書いてください。


 
Sprut 185:

困ったことがあるので助けてください

コードの書き方は勉強中なので、リテラシーのなさは大目に見てください。

OnChartEvent 関数は、タイムフレームの変更やインジケータメニューの設定変更後にチャートのグラフィカルオブジェクトを更新する関数ですが、この関数の理解を助けて欲しいです。 インジケータが終了した場合、このインジケータのすべてのグラフィックオブジェクトをチャートから完全に削除することにしています。

まずグラフィカルなオブジェクトを削除してから、再度作成する必要があると理解しています。しかし、オブジェクトが削除されると、そのプロパティにアクセスできなくなり、そのオブジェクトをどうやって 再作成するのか.........。 それとも、私が理解していないのでしょうか?あるいは、チャート上のグラフィカルなオブジェクトを更新するという別の方法があるのでは?

どうすればいいのか、コメント付きで例を書いてください。


失礼だと思わないでください、ドキュメントにすべての例があります。グラフィカルなオブジェクトのパラメータを変更するObjectSet***関数にだけ注意すればよいのです。

Документация по MQL5: Графические объекты / ObjectSetDouble
Документация по MQL5: Графические объекты / ObjectSetDouble
  • www.mql5.com
ObjectSetDouble - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

失礼かもしれませんが、ドキュメントにはすべての例が載っています。グラフィカル・オブジェクトのパラメータを変更するObjectSet***関数にだけ注意すればよいのです。

ご参加ありがとうございました。

残念ながら、ObjectSet*** 関数は私のタスクには適していませんでした。

OnDeinit()関数を 使用して自分で解決しました。
void OnDeinit(const int reason)
  {
   ObjectsDeleteAll (0, -1, -1);
  }

これですべてが正常に動作するようになりました。

理由: