MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1485

 
Vladislav Andruschenko:


をチェックしました。

MT4では - OnStartは、インジケータで動作します。


インジケータがアンロードされていない


MT5で-OnStartがインジケータで実行 されない!



だから、mt4で禁止されてないのはむしろ見落としなんだよ。

すべてそこで実行される...何かを言う前に、ダブルチェックをするんです。新しいリリースは多くの驚きをもたらすからです :-)

--

"インジケータを作成 する" .................................ぼそぼそOnStart()関数を残す

 
Maxim Kuznetsov:

すべてそこで行われる...何かを言う前に、私はダブルチェックを行います。新しいリリースは多くの驚きをもたらすからです :-)

--

"インジケータを作成 する" ...といった具合に。OnStart()関数を残す


ほったらかし?


mt5では実行できません。ビルドフラット2940です。

それともOnCalculateを削除したのでしょうか?



aaaaaaaaaaaaaaaaaa :-) スクリプトを作成し、indicators フォルダに置く。

#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void OnStart()
  {
   Print ("GG OnStart");
  }

ユニークです。

例外というか、indicatorsフォルダにスクリプトを突っ込んだだけで、ターミナルがガブリとやってくれましたね。

 

皆さん、こんにちは。

私は、mql4で 1分足のTFのテスター用のコードを書いています、モデルはすべてティック です。

以下のコードで直近1時間のローソクの最小 値をできるだけ早く変数に 保存する方法を教えてください。

datetime some_time;
void OnTick()
{
if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
some_time = (время образования iLow( NULL ,PERIOD_H1,1))
}


ありがとう
ございます。

 
ANDREY:

皆さん、こんにちは。

私は、mql4で 1分足のTFのテスター用のコードを書いています、モデルはすべてティック です。

以下のコードで直近1時間のローソクの最小 値をできるだけ早く変数に 保存する方法を教えてください。


ありがとう
ございます。

some_time = iTime( NULL ,PERIOD_H1,1);
 
ANDREY:

皆さん、こんにちは。

私は、mql4で 1分足のTFのテスター用のコードを書いています、モデルはすべてティック です。

以下のコードで直近1時間のローソクの最小 値をできるだけ早く変数に 保存する方法を教えてください。


ありがとう
ございます。

datetime some_time;
void OnTick()
{
   if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)
      some_time = TimeCurrent();
}
 
PapaYozh:
間違っている、それは前のローソクの時間を必要とする
 

そう、不注意だったのです。

しかし、最小限の形成時間は、入ってくる相場をリアルタイムで追跡することによってのみ得ることができます。

すなわち、あなたはまだ0番目のローソクの最小値の形成の時間を追跡し、それが1stになったとき、コードでそれを使用する必要があります。

あなたが提案したものは、安値の時間ではなく、キャンドルの開始時間を返します。

PS.

最初はBidと1本目のローソクのLowを比較するところに間違いがあるようです。Bidは1stキャンドルとは関係ありません。

という感じでしょうか。

datetime some_time;
void OnTick()
{
   if (Bid - iLow( NULL ,PERIOD_H1,0)>=0.0030)
      some_time = TimeCurrent();
}
 
PapaYozh:

そう、不注意だったのです。

しかし、最小の時間は、入ってくる相場をリアルタイムで追跡しなければ得られない。

すなわち、我々はまだ0番目のローソクの最小時間を追跡し、それが1stになったときにコードでそれを使用する必要があります。

あなたが提案するものは、キャンドルの最小の時間ではなく、開始の時間を返します。

それこそ、最小値の形成時刻が欲しいなら、こんな風にすればいいんです。

datetime some_time;
void OnTick()
{
   if (Bid - iLow( NULL ,PERIOD_H1,0)>=0.0030)
      some_time = TimeCurrent();
}
 
MakarFX:

それこそ、最低限の教育時間が必要なら、こんな感じです。

ありがとうございます。

 
ANDREY:

ありがとうございます。一番正しい答えは PapaYozhさんの「......」だと思います。しかし、最小の時刻は、入ってくる相場をリアルタイムで監視しなければ得られない。

だから、やはり0本目のローソクの最小値の時間を記録しておいて、それが1本目になったときにコードで使う・・・ということになる」
彼の言うことはわかるのですが、1時間足のローソク足N1の最小値を、気配値を受信するたびに追跡せずに、分足のローソクの最小値を取得する方法があるのではと思ったのです。

この場合、some_timeは現在のローソクの開始時刻と 同じになります...。PapaYozhが確認します。