エラー、バグ、質問 - ページ 1803 1...179617971798179918001801180218031804180518061807180818091810...3185 新しいコメント 削除済み 2017.02.14 12:50 #18021 Slawa: または、ちょうどここで言われているように、バーの数、また、いくつかのサイクルをお願いします。長いアイドル時間の後にBars()関数の呼び出しがあった場合、インジケータの起動 - SymbolIsSynchronized()をチェックするようなものでしょうか。 削除済み 2017.02.14 12:51 #18022 Slawa: これは、指標にも当てはまります。1分タイマーを作成し、対象となるすべてのタイムスケールのバーの本数を 問い合わせる。タイミングの事実を確認することで、タイミングが保持されていないことを確認します。 ドキュメントに追加すると良いのでは...。 fxsaber 2017.02.14 14:40 #18023 Metaquotes-DemoのMarket WatchにMOEXシンボルだけを残しておくと、TimeCurrentは 15分遅れます。FOREXシンボルが1つ追加されると同時に、TimeCurrentは一気に15分先にジャンプします。 削除済み 2017.02.14 15:25 #18024 開発者の皆様へもう一度言いますが、できるだけ早くセンチメント値(SYMBOL_SESSION_...)とタンブラー(OnBookEvent())の時間をms単位で追加するようお願いします。すべてのデータを同期させることができます。 fxsaber 2017.02.14 17:32 #18025 Metaquotes-Demo、シンボルDIG-20170330SymbolInfoDouble(Symb,::SYMBOL_ASK) = 29006.0SymbolInfoDouble(Symb,SYMBOL_SESSION_PRICE_LIMIT_MIN) = 29528.0(ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(Symb,SYMBOL_TRADE_MODE) = SYMBOL_TRADE_MODE_FULL (4)SYMBOL_SESSION_PRICE_LIMIT_MIN: above Asc でエラー - BuyLimit が設定できない。 fxsaber 2017.02.14 18:03 #18026 fxsaber:あなたのバイクをシェアしてください:シンボルが取引可能かどうかを示すbool関数です。ENUM_DAY_OF_WEEK GetDayOfWeek( const datetime time ){ MqlDateTime sTime = {0}; TimeToStruct(time, sTime); return((ENUM_DAY_OF_WEEK)sTime.day_of_week);}// true - находимся в торговой сессииbool SessionTrade( string Symb = NULL ){ datetime TimeNow = TimeTradeServer(); const ENUM_DAY_OF_WEEK DayOfWeek = GetDayOfWeek(TimeNow); TimeNow %= 24 * 60 * 60; if ((Symb == NULL) || (Symb == "")) Symb = Symbol(); bool Res = false; datetime From, To; for (int i = 0; SymbolInfoSessionTrade(Symb, DayOfWeek, i, From, To) && (!Res); i++) Res = ((From <= TimeNow) && (TimeNow < To)); return(Res);}// Возвращает true, если символ торгуемый. Иначе - false.bool SymbolTrade( string Symb = NULL, const int Pause = -1 ){ MqlTick Tick; if ((Symb == NULL) || (Symb == "")) Symb = Symbol(); if (Pause >= 0) Sleep(Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch. return(SymbolInfoTick(Symb, Tick) ? ((Tick.bid != 0) && (Tick.ask != 0) && SessionTrade(Symb) && ((ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(Symb, SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_FULL)) : false);} mql5言語の特徴、微妙なニュアンスとテクニック Errors, bugs, questions Features of the mql5 Artyom Trishkin 2017.02.14 18:10 #18027 fxsaber: if (Pause >= 0) Sleep(Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch. インジケーターの中に入っていたら? fxsaber 2017.02.14 18:27 #18028 Artyom Trishkin: インジケーターの中に入っていたら? それゆえ、脚 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 fxsaber さん 2017.02.14 12:31 SymbolSelect(true)の直後に価格を要求すると、0になっている。_LastError == 0で、SymbolInfoTick == trueです。マーケットウォッチ用の新しいシンボルの価格がマーケットウォッチに配信されたことを知るにはどうすればよいですか? つまり、SymbolSelect(true)が行われておらず、特にPauseを設定していなければ、滑ることはないでしょう。 Artyom Trishkin 2017.02.14 19:27 #18029 fxsaber: それゆえ、脚があるのです。そのため、SymbolSelect(true)が行われておらず、特にPauseを設定していない場合は、滑ることはありません。 正直言って、理解できない。疑問に思ったのですが、インジケータでシンボルが準備できたかどうかは、どのように確認するのですか?Sleep() がインジケータで動作しない。 インジケータがあらかじめ知らないシンボルに何らかの統計データをプロットした場合、パネルから次のシンボルを選択しても、一度にそのシンボルのデータを取得できないことが多く、表には誤った情報が含まれてしまいます...。シンボルから受け取ったデータが正しく、さらに正しい計算を得るのに十分な量であることを確認するにはどうしたらよいでしょうか。 fxsaber 2017.02.14 20:02 #18030 Artyom Trishkin: 正直、ピンと来なかったんです。疑問に思ったのですが、インジケータでシンボルが準備できたかどうかは、どのように確認するのですか?Sleep()がインジケータで動作しない。インジケータが、事前に知らないシンボルの統計データをテーブルに表示した場合、パネルから次のシンボルを選択しても、そのシンボルのデータをすぐに取得できず、テーブルが誤った情報を表示することがよくあります...。記号から得られるデータが正しく、さらに正しい計算をするのに十分な量であることを、どうすれば確認できますか?スリープは、シンボルがマーケットウォッチにないときのみ必要です。指標開始前(および開始中)のマーケットウォッチにあるすべてのシンボルについては、スリップは必要ありません。 1...179617971798179918001801180218031804180518061807180818091810...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
または、ちょうどここで言われているように、バーの数、また、いくつかのサイクルをお願いします。
これは、指標にも当てはまります。1分タイマーを作成し、対象となるすべてのタイムスケールのバーの本数を 問い合わせる。
タイミングの事実を確認することで、タイミングが保持されていないことを確認します。
開発者の皆様へもう一度言いますが、できるだけ早くセンチメント値(SYMBOL_SESSION_...)とタンブラー(OnBookEvent())の時間をms単位で追加するようお願いします。すべてのデータを同期させることができます。
Metaquotes-Demo、シンボルDIG-20170330
SymbolInfoDouble(Symb,SYMBOL_SESSION_PRICE_LIMIT_MIN) = 29528.0
(ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(Symb,SYMBOL_TRADE_MODE) = SYMBOL_TRADE_MODE_FULL (4)
SYMBOL_SESSION_PRICE_LIMIT_MIN: above Asc でエラー - BuyLimit が設定できない。
あなたのバイクをシェアしてください:シンボルが取引可能かどうかを示すbool関数です。
{
MqlDateTime sTime = {0};
TimeToStruct(time, sTime);
return((ENUM_DAY_OF_WEEK)sTime.day_of_week);
}
// true - находимся в торговой сессии
bool SessionTrade( string Symb = NULL )
{
datetime TimeNow = TimeTradeServer();
const ENUM_DAY_OF_WEEK DayOfWeek = GetDayOfWeek(TimeNow);
TimeNow %= 24 * 60 * 60;
if ((Symb == NULL) || (Symb == ""))
Symb = Symbol();
bool Res = false;
datetime From, To;
for (int i = 0; SymbolInfoSessionTrade(Symb, DayOfWeek, i, From, To) && (!Res); i++)
Res = ((From <= TimeNow) && (TimeNow < To));
return(Res);
}
// Возвращает true, если символ торгуемый. Иначе - false.
bool SymbolTrade( string Symb = NULL, const int Pause = -1 )
{
MqlTick Tick;
if ((Symb == NULL) || (Symb == ""))
Symb = Symbol();
if (Pause >= 0)
Sleep(Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch.
return(SymbolInfoTick(Symb, Tick) ? ((Tick.bid != 0) && (Tick.ask != 0) && SessionTrade(Symb) &&
((ENUM_SYMBOL_TRADE_MODE)SymbolInfoInteger(Symb, SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_FULL)) : false);
}
if (Pause >= 0)
Sleep(Pause); // Если только что произошло добавление символа в Обзор рынка, нужно дождаться поступления данных в Marketwatch.
インジケーターの中に入っていたら?
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
fxsaber さん 2017.02.14 12:31
SymbolSelect(true)の直後に価格を要求すると、0になっている。_LastError == 0で、SymbolInfoTick == trueです。
マーケットウォッチ用の新しいシンボルの価格がマーケットウォッチに配信されたことを知るにはどうすればよいですか?
それゆえ、脚があるのです。
インジケータがあらかじめ知らないシンボルに何らかの統計データをプロットした場合、パネルから次のシンボルを選択しても、一度にそのシンボルのデータを取得できないことが多く、表には誤った情報が含まれてしまいます...。シンボルから受け取ったデータが正しく、さらに正しい計算を得るのに十分な量であることを確認するにはどうしたらよいでしょうか。
正直、ピンと来なかったんです。疑問に思ったのですが、インジケータでシンボルが準備できたかどうかは、どのように確認するのですか?Sleep()がインジケータで動作しない。インジケータが、事前に知らないシンボルの統計データをテーブルに表示した場合、パネルから次のシンボルを選択しても、そのシンボルのデータをすぐに取得できず、テーブルが誤った情報を表示することがよくあります...。記号から得られるデータが正しく、さらに正しい計算をするのに十分な量であることを、どうすれば確認できますか?