エラー、バグ、質問 - ページ 763

 
x100intraday:

...マグニチュードポイントが極値(特殊なケース)、あるいは一般的なチャート座標(価格/時間)に拘束されるのであれば、「スケール」は何に拘束されるのでしょうね?書き込みの際にテンプレートに捨てられるスケールの正確な値がある場合...や1バーあたりのピップ数を変更した場合、新しいセッションで元のアウトラインを復元することができません。最初の点の正確な座標のみが保持されます。大雑把に言えば、明示的かつ単純な座標にポイントを固定したパターンの方が信頼性が高い。

1点目は価格と時間、2点目は時間、価格はn/bでの尺度を考慮して算出。

テンプレートに何が書いてあるのかわかりませんが、2倍、1点の価格、スケールの4つの値をすべて持つべきだと思います。

そうすると、バーが欠けた場合に問題が発生する可能性があるのではないでしょうか。

 
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);
     }

一般的には、最初の手がかりは現れていますが、まだ早いです。

 

コード内でオブジェクトが作成 されたことを確認していますか?

Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
kPVT:

なぜ作成エラーになるのか理解できないのですが?

...

なぜなら
kPVT です。

...

オブジェクトは削除されますが、再作成され、あたかもインジケータが動作し続けるかのように「動き」続けます。

手動で削除すると、同じ名前で再び作成され、新しいティックが入るたびに「移動」し続ける。

...

インジケータはティック ごとにそれらを検索し、作成または修正するものだと理解しています。

もしかして:すでに存在し、変更されている場合 - 何もしない(ブロック)?

 
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 インジケータハンドルの時限ポーリングを追加して test_id インジケータを変更すると、リクエストごとに値が 1 ずつ増加することが確認できます。

ファイル:
 

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
 

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のみです。

 
MoneyJinn:

ArrayResize()が正しく動作しない

そうなんです。AsSeriesは単なるフラグです。
 
TheXpert:
すべて正しいです。AsSeriesは単なるフラグです。

ArraySetAsSeries(Arr,true)によって影響を受ける配列 要素の挙動と、 4.の動作についてご覧ください。

2011年末には、このトピックに関するコードを書いていたため、すべてが正しく動作していましたが、現在はもう動作していません。