struct BarData
{
datetime time; // время начала периода double open; // цена открытия double high; // наивысшая цена за период double low; // наименьшая цена за период double close; // цена закрытия long tick_volume; // тиковый объем
};
Структура исторических данных - Структуры данных - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
この間
わからない?
履歴の中で最も近い最小値は Low_1_Level よりも小さいので, .
コードを実行して、その動作を確認してください。
全期間、エラーが発生しない
ログを添付します
全期間、エラーが発生しない
ログを添付します。
エラーは出ていないようですが、ログには
ログに 19:31:53.126 2016.12.15 00:00:00 Array EURUSD,H1: i = 456 Bar_data_D1 [i][2] = 1.04789 がありますね。
Min_D:104789 が low_D1 1.03660 よりも高いので、規約上、そうなるはずがない。
を置き換えるとエラーになり、正しく表示されます。
実際には、expression2 はエラーを隠しているだけ です。
疑問があります。なぜ、ゼロではなく、最初の要素でループを開始するのですか?
もしよろしければ、正しい書き方を例示してください。
トレードの経験はありますが、MQL4はまだ勉強し始めたばかりです。
MqlRatesを使用する場合は、配列を宣言してください。
MqlRates Bar_data_D1[];
つまり、2次元の配列ではなく、1次元の配列を得ることができる。MqlRatesは標準的な構造体です(MQL4 Referenceの「言語の基礎」-「データ型」-「構造体、クラス、インターフェース」に記載されています)。この場合、必要なフィールドをすべて備えています。こんな風に声をかけることができます。
i は配列のインデックスである.
同じように、ローソク足のパラメータを記録するための独自の構造を作成することができます。Mqlratesより2つのフィールド(spreadとreal_volume)だけ小さくなりますが、これは必要ではありません。このような構成になります。
このような構造体の配列を宣言すると、次のようになります。
構造体のメンバへのアクセスは、MqlRates構造 体のメンバへのアクセスと同様である。
そのとおりです。
MqlRates経由の場合、このように配列を宣言します。
つまり、2次元の配列ではなく、1次元の配列を得ることができる。MqlRatesは標準的な構造体です(MQL4リファレンスの「言語の基礎」-「データ型」-「構造体、クラス、インターフェース」で説明されています)。この場合、必要なフィールドをすべて備えています。こんな風に声をかけることができます。
i は配列のインデックスである.
同じように、ローソク足のパラメータを記録するための独自の構造を作成することができます。Mqlratesより2つのフィールド(spreadとreal_volume)だけ小さくなりますが、これは必要ではありません。このような構成になります。
このような構造体の配列を宣言すると、次のようになります。
構造体のメンバへのアクセスは、MqlRates構造 体のメンバへのアクセスと同様である。
OK、明日やってみるよ!
よろしくお願いします。わかったらお知らせします。