Комбинация флагов видимости объекта определяет таймфреймы графика, на которых объект отображаем. Для установки/получения значения свойства OBJPROP_TIMEFRAMES можно использовать функции ObjectSetInteger()/ObjectGetInteger...
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---
C201022_090654 c_1(* new C201022_090641); //works
C201022_090654 c_3(* new C201022_092325(1)); //works//---'new' - parameter passed as reference, variable expected
C201022_090654 c_2(* new C201022_090641(1)); //not works
^
}
開発者の皆様へのメッセージです。特定の状況下でcopy_rates_from_pos を介してデータを受信すると、Python スクリプトがハングアップする。
状況を説明します。ブローカーは約4kの商品を持っています。
楽器の一次選定は、あるルールに従って検索・フィルタリングして行っています。
ターミナルにある商品の1つに履歴がありません(つまり、マーケットウォッチとシンボルリストで、商品は存在しますが、データは空です)。
スクリプトを実行しようとしたとき。rates_d1 = mt5.copy_rates_from_pos(curSymbol.name, mt5.TIMEFRAME_D1,1, analysis_days),
スクリプトはただハングアップするだけです。エラーそのものが発生せず、すべてがこの行でハングアップするため、Noneを試したり確認したりするのは役に立ちません。
rates_d1 = mt5.copy_rates_from_pos(curSymbol.name, mt5.TIMEFRAME_D1,0, analysis_days),
, つまり0から始まるバー番号を指定しようとすると、ハングせず、空のテーブルが返されます。
追記また、copy_rates_from_posでデータをFIRSTで取得すると、要求されたバーの数が履歴の数よりも多いという同様の問題が発生しました。また、スクリプトがハングアップする。第二の請求については、このような誤りはない。そのため、エラーを繰り返すことは難しいようです(おそらく、そのシンボルの履歴をすべて削除することで、初めて可能になるのでしょう)。
間違っているか見逃しているかもしれませんが、この関数はデータを返すかエラーを出すはずなので、バグと思われます。
開発者の皆様、もし私の勘違いや考慮不足があれば、ご指摘ください。
あなたのデータを基にソースコードを書き、様々な取引サーバーでテストする時間を誰かに求めていますか?
それはないでしょう。他人の時間を尊重する:ソース、サーバー、マシン構成など、問題を再現するためのデータを完全に提供すること。
ソースは簡潔で、コメント付きなので、そこに書かれていることを解析するのに無駄な時間がかかりません。何を手に入れたかったのか、何を手に入れたのかを伝える。
パスワードで保護されたZIPアーカイブです。
ロックされたアーカイブは、MQLでサポートされていますか?
ロックされたアーカイブは、MQLでサポートされていますか?
どうだろう。
開発者の皆様へのメッセージです。特定の状況下で copy_rates_from_pos を介してデータを受信すると、Python スクリプトがハングアップする。
状況を説明します。ブローカーは約4kの商品を持っています。
楽器の一次選定は、あるルールに従って検索・フィルタリングして行っています。
ターミナルにある商品の1つに履歴がありません(つまり、マーケットウォッチとシンボルリストで、商品は存在しますが、データは空です)。
スクリプトを実行しようとしたとき。rates_d1 = mt5.copy_rates_from_pos(curSymbol.name, mt5.TIMEFRAME_D1,1, analysis_days),
スクリプトはただハングアップするだけです。エラーそのものが発生せず、すべてがこの行でハングアップするため、Noneを試したり確認したりするのは役に立ちません。
rates_d1 = mt5.copy_rates_from_pos(curSymbol.name, mt5.TIMEFRAME_D1,0, analysis_days),
, つまり0から始まるバー番号を指定しようとすると、ハングせず、空のテーブルが返されます。
追記また、copy_rates_from_posでデータをFIRSTで取得すると、要求されたバーの数が履歴の数よりも多いという同様の問題が発生しました。また、スクリプトがハングアップする。第二の請求については、このような誤りはない。そのため、エラーを繰り返すことは難しいようです(おそらく、そのシンボルの履歴をすべて削除することで、初めて可能になると思われます)。
何か勘違いしていたのか、見落としていたのか、関数はデータを返すか、エラーを出すかのどちらかでなければならないので、バグと思われます。
再現、修正。
開発者の皆様へのメッセージです。特定の状況下で copy_rates_from_pos を介してデータを受信すると、Python スクリプトがハングアップする。
状況を説明します。ブローカーは約4kの商品を持っています。
楽器の一次選定は、あるルールに従って検索・フィルタリングして行っています。
ターミナルにある商品の1つに履歴がありません(つまり、マーケットウォッチとシンボルリストで、商品は存在しますが、データは空です)。
スクリプトを実行しようとしたとき。rates_d1 = mt5.copy_rates_from_pos(curSymbol.name, mt5.TIMEFRAME_D1,1, analysis_days),
スクリプトはただハングアップするだけです。エラーそのものが発生せず、すべてがこの行でハングアップするため、Noneを試したり確認したりするのは役に立ちません。
rates_d1 = mt5.copy_rates_from_pos(curSymbol.name, mt5.TIMEFRAME_D1,0, analysis_days),
, つまり0から始まるバー番号を指定しようとすると、ハングせず、空のテーブルが返されます。
追記また、copy_rates_from_posでデータをFIRSTで取得すると、要求されたバーの数が履歴の数よりも多いという同様の問題が発生しました。また、スクリプトがハングアップする。第二の請求については、このような誤りはない。そのため、エラーを繰り返すことは難しいようです(おそらく、そのシンボルの履歴をすべて削除することで、初めて可能になるのでしょう)。
間違っているか見逃しているかもしれませんが、この関数はデータを返すかエラーを出すはずなので、バグと思われます。
TesterHideIndicators(false)の動作が停止しました。
TesterHideIndicatorは、その後に作成されるインジケータの可視化フラグを 設定します。
以前に作成したインジケータの可視化フラグは 変更されません。
以下の専門家に確認することができます。
ビジュアライザーと簡易テスト後に開いたチャートでは、MACDは 表示されず、移動平均線が表示されています。
だから、意図したとおりに動作する
コンパイルエラー です。何か感想はありますか?
明示的にdereference文を使用する
A100:
Ошибка при компиляции:
以前、この質問について調べたところ、このようなことがわかりました。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
セルゲイ・デジブリク, 2020.04.04 21:46
バグ MT5(build 2375) 関数へのポインタの配列が使用されている場合、そのポインタを介して関数を呼び出すとコンパイルエラーに なる