エラー、バグ、質問 - ページ 763 1...756757758759760761762763764765766767768769770...3185 新しいコメント Andrew Petras 2012.07.04 10:49 #7621 x100intraday:...マグニチュードポイントが極値(特殊なケース)、あるいは一般的なチャート座標(価格/時間)に拘束されるのであれば、「スケール」は何に拘束されるのでしょうね?書き込みの際にテンプレートに捨てられるスケールの正確な値がある場合...や1バーあたりのピップ数を変更した場合、新しいセッションで元のアウトラインを復元することができません。最初の点の正確な座標のみが保持されます。大雑把に言えば、明示的かつ単純な座標にポイントを固定したパターンの方が信頼性が高い。1点目は価格と時間、2点目は時間、価格はn/bでの尺度を考慮して算出。テンプレートに何が書いてあるのかわかりませんが、2倍、1点の価格、スケールの4つの値をすべて持つべきだと思います。そうすると、バーが欠けた場合に問題が発生する可能性があるのではないでしょうか。 Pavel Tsatsenko 2012.07.04 11:49 #7622 Silent:削除の問題ではなく、作成の問題です :)ループを間違えたスクリプトで同じことをされたことがあります。エキスパートリスト」でスクリプトを強制的に削除しても、エラーでポップアップするまでループを印刷した。作成エラーの理由は不明?3つのオブジェクトにはループは必要ないので、ループ無しで作成します。ただ、一人一人に合わせてやっています。if(ObjectFind(0,_name)!=0)//если не нашли создаем { ObjectCreate(0,_name,OBJ_RECTANGLE,0,_begin_time,_open,_end_time,_close); ObjectSetInteger(0,_name,OBJPROP_STYLE,STYLE_SOLID); ObjectSetInteger(0,_name,OBJPROP_WIDTH,Width); ObjectSetInteger(0,_name,OBJPROP_BACK,_Top); ObjectSetInteger(0,_name,OBJPROP_FILL,_BG); ObjectSetInteger(0,_name,OBJPROP_SELECTED,false); ObjectSetInteger(0,_name,OBJPROP_COLOR,_Color); } else //если нашли модифицируем { ObjectMove(0,_name,0,_begin_time,_open); ObjectMove(0,_name,1,_end_time,_close); ObjectSetInteger(0,_name,OBJPROP_COLOR,_Color); }一般的には、最初の手がかりは現れていますが、まだ早いです。 Alexey Da 2012.07.04 13:01 #7623 コード内でオブジェクトが作成 されたことを確認していますか? Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new www.mql5.com Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5 Andrew Petras 2012.07.04 13:01 #7624 kPVT:なぜ作成エラーになるのか理解できないのですが?... なぜなら kPVT です。...オブジェクトは削除されますが、再作成され、あたかもインジケータが動作し続けるかのように「動き」続けます。手動で削除すると、同じ名前で再び作成され、新しいティックが入るたびに「移動」し続ける。...インジケータはティック ごとにそれらを検索し、作成または修正するものだと理解しています。もしかして:すでに存在し、変更されている場合 - 何もしない(ブロック)? Pavel Tsatsenko 2012.07.04 14:53 #7625 alexvd:コード内でオブジェクトが作成 されたことを確認していますか?サイレント たぶん:すでにあると変更された場合 - 行うには何も(ブロック)が欠落している?その理由は次の通りです。インジケーター#2からインジケーターハンドル#1を取得した場合、インジケーター#2を削除するまで、インジケーター#1のdeinitは完了しません。バッファー・コンストラクションがある場合、それらは削除されますが、グラフィカル・オブジェクトは残ります。ここでは、テスト用の2つのインジケータを紹介します。1.test_del_obj、test_idの順にアタッチします。2.test_del_obj を削除します - test_del_obj のキューブは残ります。3.test_id の削除 - キューブが削除され、test_del_obj インジケータの deinit が今だけ実行されたことがログに表示されます。 ファイル: test_del_obj.mq5 3 kb test_id.mq5 2 kb Pavel Tsatsenko 2012.07.04 16:49 #7626 もうひとつ質問です。インジケーターのハンドルがチャートに付いているのは特徴的ですか?test_del_obj インジケータハンドルの時限ポーリングを追加して test_id インジケータを変更すると、リクエストごとに値が 1 ずつ増加することが確認できます。 ファイル: test_id_timer.mq5 2 kb Andrey Vasiliev 2012.07.04 17:39 #7627 ArrayResize()が正しく動作しない動的な配列の サイズを小さくするとき、ArrayResize() は配列の間違った側から要素を切り取る。コード double Arr[]; ArrayResize(Arr,5); Arr[0]=101; Arr[1]=102; Arr[2]=103; Arr[3]=104; Arr[4]=105; Print("Начальный массив: ",Arr[0],":",Arr[1],":",Arr[2],":",Arr[3],":",Arr[4]); ArraySetAsSeries(Arr,true); ArrayResize(Arr,4); Print("Обрезанный массив: ",Arr[0],":",Arr[1],":",Arr[2],":",Arr[3]);結果2012.07.04 21:28:53 Ind2 (EURUSD,H4) Обрезанный массив: 104.0:103.0:102.0:101.0 2012.07.04 21:28:53 Ind2 (EURUSD,H4) Начальный массив: 101.0:102.0:103.0:104.0:105.0 MetaTrader 4でも同じコードと結果です。2012.07.04 21:28:35 ind2 EURUSD,H4: Обрезанный массив: 105:104:103:102 2012.07.04 21:28:35 ind2 EURUSD,H4: Начальный массив: 101:102:103:104:105 ファイル: Ind2.mq5 2 kb Arkadiy 2012.07.04 18:37 #7628 MT5開発者の皆様へ。FXサーバーにとって最も重要なことは、引用符の正確さです。そのため、MT5(MetaQuotes-Demoサーバー)の不正を調査してください。 1)以前読み込んだローソク足の出来高を変更 する - 例えば、今日8:00 EURUSD H4で、値は0:00 - 6171, 4:00 - 7049, 8:00 - 13361でした。 そして20時(ヨーロッパで)に読み込んだとき、値は0:00 - 7701, 4:00 - 8859, 8:00 - 16306となりました。一般的に、それはあなたがボリュームがねじ込まロシア語圏で起こっていることを確認することは困難ではないだろう。私は自分のためだけでなく、同志の求めに応じて発言する光栄に浴しているので、私は言う-ボリュームとその蓄積でモデルを使用している人は非常にイライラしています。 2) 左にAlpari MT4、右にMetaquotes MT5を置いて、Metaquotesの分足がAlpariよりずっと早く終了していることに驚いてみましょう。time.windows.comと手元の時計で確認したところ、metaquotesサーバーの時刻が進んでいることがわかりました。- Pipsトレーダーはここに不満を抱いています。取引にはかなりのランダムソースが存在するのです。 3) 一般的に無茶な希望ですが、bidとaskを別々に、または共同で保存と閲覧の両方に利用できるようにできませんか?と聞かれることがありますが、それは現実的でないと実感しています。MT3では一般的にbidとaskの間に何かがあったと理解しており、それはおそらく履歴に残っています。 現在はbidのみです。 TheXpert 2012.07.04 18:57 #7629 MoneyJinn:ArrayResize()が正しく動作しない そうなんです。AsSeriesは単なるフラグです。 Andrey Vasiliev 2012.07.04 19:41 #7630 TheXpert: すべて正しいです。AsSeriesは単なるフラグです。ArraySetAsSeries(Arr,true)によって影響を受ける配列 要素の挙動と、 4.の動作についてご覧ください。2011年末には、このトピックに関するコードを書いていたため、すべてが正しく動作していましたが、現在はもう動作していません。 1...756757758759760761762763764765766767768769770...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
...マグニチュードポイントが極値(特殊なケース)、あるいは一般的なチャート座標(価格/時間)に拘束されるのであれば、「スケール」は何に拘束されるのでしょうね?書き込みの際にテンプレートに捨てられるスケールの正確な値がある場合...や1バーあたりのピップ数を変更した場合、新しいセッションで元のアウトラインを復元することができません。最初の点の正確な座標のみが保持されます。大雑把に言えば、明示的かつ単純な座標にポイントを固定したパターンの方が信頼性が高い。
1点目は価格と時間、2点目は時間、価格はn/bでの尺度を考慮して算出。
テンプレートに何が書いてあるのかわかりませんが、2倍、1点の価格、スケールの4つの値をすべて持つべきだと思います。
そうすると、バーが欠けた場合に問題が発生する可能性があるのではないでしょうか。
削除の問題ではなく、作成の問題です :)
ループを間違えたスクリプトで同じことをされたことがあります。エキスパートリスト」でスクリプトを強制的に削除しても、エラーでポップアップするまでループを印刷した。
作成エラーの理由は不明?
3つのオブジェクトにはループは必要ないので、ループ無しで作成します。
ただ、一人一人に合わせてやっています。
一般的には、最初の手がかりは現れていますが、まだ早いです。
コード内でオブジェクトが作成 されたことを確認していますか?
なぜ作成エラーになるのか理解できないのですが?
...
...
オブジェクトは削除されますが、再作成され、あたかもインジケータが動作し続けるかのように「動き」続けます。
手動で削除すると、同じ名前で再び作成され、新しいティックが入るたびに「移動」し続ける。
...
インジケータはティック ごとにそれらを検索し、作成または修正するものだと理解しています。
もしかして:すでに存在し、変更されている場合 - 何もしない(ブロック)?
コード内でオブジェクトが作成 されたことを確認していますか?
たぶん:すでにあると変更された場合 - 行うには何も(ブロック)が欠落している?
その理由は次の通りです。
インジケーター#2からインジケーターハンドル#1を取得した場合、インジケーター#2を削除するまで、インジケーター#1のdeinitは完了しません。
バッファー・コンストラクションがある場合、それらは削除されますが、グラフィカル・オブジェクトは残ります。
ここでは、テスト用の2つのインジケータを紹介します。
1.test_del_obj、test_idの順にアタッチします。
2.test_del_obj を削除します - test_del_obj のキューブは残ります。
3.test_id の削除 - キューブが削除され、test_del_obj インジケータの deinit が今だけ実行されたことがログに表示されます。
もうひとつ質問です。
インジケーターのハンドルがチャートに付いているのは特徴的ですか?
test_del_obj インジケータハンドルの時限ポーリングを追加して test_id インジケータを変更すると、リクエストごとに値が 1 ずつ増加することが確認できます。
ArrayResize()が正しく動作しない
動的な配列の サイズを小さくするとき、ArrayResize() は配列の間違った側から要素を切り取る。
コード
結果
MetaTrader 4でも同じコードと結果です。
MT5開発者の皆様へ。FXサーバーにとって最も重要なことは、引用符の正確さです。そのため、MT5(MetaQuotes-Demoサーバー)の不正を調査してください。
1)以前読み込んだローソク足の出来高を変更 する - 例えば、今日8:00 EURUSD H4で、値は0:00 - 6171, 4:00 - 7049, 8:00 - 13361でした。 そして20時(ヨーロッパで)に読み込んだとき、値は0:00 - 7701, 4:00 - 8859, 8:00 - 16306となりました。一般的に、それはあなたがボリュームがねじ込まロシア語圏で起こっていることを確認することは困難ではないだろう。私は自分のためだけでなく、同志の求めに応じて発言する光栄に浴しているので、私は言う-ボリュームとその蓄積でモデルを使用している人は非常にイライラしています。
2) 左にAlpari MT4、右にMetaquotes MT5を置いて、Metaquotesの分足がAlpariよりずっと早く終了していることに驚いてみましょう。time.windows.comと手元の時計で確認したところ、metaquotesサーバーの時刻が進んでいることがわかりました。- Pipsトレーダーはここに不満を抱いています。取引にはかなりのランダムソースが存在するのです。
3) 一般的に無茶な希望ですが、bidとaskを別々に、または共同で保存と閲覧の両方に利用できるようにできませんか?と聞かれることがありますが、それは現実的でないと実感しています。MT3では一般的にbidとaskの間に何かがあったと理解しており、それはおそらく履歴に残っています。 現在はbidのみです。
ArrayResize()が正しく動作しない
すべて正しいです。AsSeriesは単なるフラグです。
ArraySetAsSeries(Arr,true)によって影響を受ける配列 要素の挙動と、 4.の動作についてご覧ください。
2011年末には、このトピックに関するコードを書いていたため、すべてが正しく動作していましたが、現在はもう動作していません。