voidOnTick()
{
// хотим определить наступление нового дняstaticdatetime lastDay, lastHour;
bool newDay, newHour;
newDay = NewBar(PERIOD_D1, lastDay);
if(newDay)
Print("наступил новый день");
// и нового часа
newHour = NewBar(PERIOD_H1, lastHour);
if(newHour)
Print("наступил новый час");
}
int Flags=FILE_WRITE+FILE_TXT+FILE_COMMON;
int Info = FileOpen(fName,Flags)。
FileWrite(Info,What's Up); もう一方の端末で、読みます。FileOpenとF1上のカーソル - ヘルプを見る
皆さん、こんにちは。
私の時系列配列は、トレードイベント定義の文字列(新しいローソク 足が出現したとき)に更新されない、というか新しいローソク足が出現してもその値が変わりません。
T[i]はExpert Advisor起動時に最初に設定され、その後、新しいローソク足が表示されると、値が更新されます。
Iパラメータは、入力パラメータを基に設定されます。
面白いのは、TFを複数使って動作させ、そのためにforループを使わざるを得なかったバージョンでは、すべてうまくいったのに、ここでは失敗する--更新されない、というだけなのです...(
皆さん、こんにちは。
私の時系列配列は、トレードイベント定義の文字列(新しいローソク足が出現したとき)に更新されない、というか新しいローソク足が出現してもその値が変わりません。
T[i]はExpert Advisor起動時に最初に設定され、その後、新しいローソク足が表示されると、値が更新されます。
Iパラメータは、入力パラメータを基に設定されます。
面白いのは、forループを 使わなければならないバージョンでは、いくつかのTFを使って動作させたのですが、今は失敗するんですよねー、更新されないんです...(
どうやら正しくループから引き出されていなかったようだ...。
新しいバーを定義するためのカスタム関数は次のとおりです。
入力変数。
tf - 新しいバーの発生を判断するためのチャート期間 または期間値です。
lastbar - 参照で渡される変数で、最後のバーの時刻を格納します。
EAから初めて呼び出されると、すぐに新しいバーが報告されます。OnInit()に関数呼び出しを 追加することで修正しました。
スクリプトから最初に呼び出されたときは、すぐに新しいバーを報告します。 その後、常に偽になります。RefreshRates()を関数の先頭に追加することで修正しました。
EAから初めて呼び出されると、すぐに新しいバーが報告されます。OnInit()に関数呼び出しを追加することで修正しました。
スクリプトから最初に呼び出されたときは、すぐに新しいバーを報告します。 その後、常に偽になります。RefreshRates()を関数の先頭に追加することで修正しました。
1.最初にtrueと言うと、ごく普通に、今までバーがなかったら、出てきたものが新しいものになります。必要であれば、戦略上必要であれば、このように新しいバーや いくつかの追加を拒否することも可能です。思わず一目散に、あと2つ紹介する。
または
2.なぜ、スクリプトで新しいバーを定義するのですか?これはどこまで愚かなことなのでしょうか。
でも、なんでここがダメなんだろう...(( 大丈夫だと思うんだけどな(
Igemon:
失礼ですが、イゲモンさん、なぜこのような無茶をするのですか?どんな人がアドバイスしたんだ?