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

 
FAQ:
友達のフィードにニュースが表示される、このボタンを新設しました。フィードに表示」をオフにしても、すでに切断されているものからのニュースが表示されると点灯します。
はい、それもありますね。
 

少なくとも、*requires terminal restart ウィンドウで、最大バー数を設定する必要があります。

コードも多いし......。

 

MQデモサーバーです。

設定中 - ウィンドウあたりの最大バー数 = 100000

2013.08.22 10:37:55     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:52     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:44     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:41     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:41     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:38     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:30     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:27     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:27     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:27     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:25     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:24     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:21     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:21     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:19     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:12     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:09     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:09     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:09     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:37:06     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100001;  ArrSize(close) ==100001
2013.08.22 10:37:02     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:59     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:59     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:56     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:38     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:36     prev_calc_Test (EURUSD,M1)      prev_calculated == 100000;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:32     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100000;  ArrSize(close) ==100000
2013.08.22 10:36:18     prev_calc_Test (EURUSD,M1)      prev_calculated == 0;  rates_total ==100168;  ArrSize(close) ==100168
 
MetaDriver:

ええ、そうです、試してみましたが、「おっと」となりました。

つまり、(私の理解では)無邪気で疑うことを知らないインディケータがrates_total=100000で呼び出され、CopyRates(,,100000,)の要求によりpop (array out of range in ...) - terminal has already only 50000 availableが発生します。

また、思い出した。

3ページで「Barsは正常に動作しています」と言われたとき。迷わずMAXバーを切り替えて確認しようとした。つながりが見えないので、端末をリロードせずに自作自演とは書かなかったのですが...。

Barsは使っていないのですが、もしかしたらそれがヒントになったのかもしれません。翌日には再現できなかったからです。そして、もう設定には入らず、いつも無制限にしています。

開発者向けだけあって、便利かもしれませんね。

 
Silent:

また、思い出した。

3ページで「Barsは大丈夫」と言われたとき。迷わずMAXバーを切り替えて確認しようとした。接続を見てないので、端末をリロードしないと全て構成されるとは書いてませんでしたが...。

Barsは使っていないのですが、もしかしたらそれがヒントになったのかもしれません。翌日には再現できなかったからです。そして、ただ、もう設定には手をつけず、いつも無制限にしています。

開発者向けの情報ですが、役に立つかもしれません。

私はずっと普通のprev_calculatedは使わず、グローバルにprev_calcを宣言してそれでカウントしています(楽しく生きて、とても太っています :)。

もちろん、このバグは修正されなければなりませんが。少なくともrates_totalが変化しなかった場合は、prev_calculatedをゼロにリセットしますが、より小さな値に変化した場合は、そうしなければなりません。

 
Urain:

通常のprev_calculatedはずっと使わず、グローバルにprev_calcを宣言してそれを考慮しています(楽しく暮らしていて、とても太っています :)。

...

ありがとうございます、ドキュメント用です :)

 
Silent:

ありがとうございます、ドキュメントに記載します :)

ServiceDeskの中にあるんです。
 
Urain:
それはServiceDeskにあります。

もう全部言われちゃってるんですよ。

プログラマーとして成熟しすぎていて、アドバイスの価値を理解していないだけだ。永遠のおバカさんである私にとっては、これは発見寸前です :) なので、(個人的な)ドキュメンテーションに。

 
Silent:

彼らはすでにすべてを伝えられている。

プログラマーが古すぎてアドバイスの価値がわからないだけだろう。私にとっては、永遠のダミーとして - これは発見の危機に瀕している :) ので、(個人的な)ドキュメントで。

じゃあ、個人的な資料では、こんなのがありますね。

if(prev_cal>rates_total-1)prev_cal=0;

履歴がウィンドウの最大バーまで切り詰められ、rates_totalが小さくなった場合、再計算を強制的に開始するようにしました。

このエラーは致命的なものではありませんが(次のティックで修正されます)、履歴が切り取られた同じティックでミスマッチによるグラフのシフトが 発生し、prev_cal>rates_totalとなるためサイクル条件により再計算が妨げられ、サイクルに入ることができなくなります。

 
Urain:

さて、個人的な資料では、次にこうです。

履歴がウィンドウのmaxbarsまで切り詰められ、rates_totalが小さくなった場合、強制的に再計算を開始する。

このエラーは致命的なものではありませんが(次のティックで修正されます)、履歴が切り取られた同じティックでミスマッチによるグラフのシフトが 発生し、prev_cal>rates_totalなのでサイクル条件により再計算がブロックされ、サイクルへの参入ができなくなります。

OK、ありがとうございます。