Scribbler使用時に時々cTraderのエラーが出る
Scribblerはチャート上にトレンドラインや図形などを手軽に描くための管理人ajinoriお気に入りのインジケーターなのですが、
-
【cTrader】チャートにささっといろいろ描きたい!【Tools】
Scribbler cTraderはトレンドラインや水平線を引くためのボタンがまとまっていて、いちいち選ぶのが大変じゃありませんか?トレンドラインを描いた後に水平線を描くためのマウスの操作が面倒なんで ...
続きを見る
なんと前回のcTrader version4.1へのアップデート後あたりから、ときどきこのようなエラーメッセージが表示されるようになってしまいました。
「Scribblerは重大なパフォーマンス上の問題があるからアプリケーション止まるかも!全部消しとくね!」みたいな。なにも全部消さなくてもいいじゃない。
私の環境では稀にでるだけなのですが、ご利用いただいてる方からの情報によりますと環境によっては必ずエラーが出るようで使用に支障をきたしているようです。(わたひでさん、情報ありがとうございます!)
原因
たぶんメッセージがいう通り「重たすぎ」ということなのだと思います。ラインなどの描画中にエラーがでるため、マウス移動時の処理が重たいということなのでしょう。
私の環境でも出るときと出ない時があり、詳細は不明なのですが「一定時間あたりのCPU使用率平均が一定割合を超えたとき」みたいな条件でエラーが出てる気がします。
おそらくPCのスペックや使用状況、チャート枚数や他インジの使用状況なども関わってるのではないかと。
対応
コードを一部変更してみました。機能はほぼ変わりませんがエラーが出て困ってる方は下記に差し替えてみてください。(特に困ってない方はそのままご利用ください。今回中身を書き替えてたせいで別のバグが生まれてしまってる可能性もあるので)
ただエラーに直結しそうな部分はそこまで変更できてないため、解決にはなってないかもしれません。
私の環境でわざと負荷かけるような使い方をしたらやっぱり同じエラーが出ました。
相変わらずエラーが出て困るという方は下記をお試しください。
SmartChannelを利用しない
スマートチャネルは、デフォルトだとSキーで描けるようになってるトレンドラインとチャネルを組み合わせたオブジェクトです。描画中にチャネル幅の計算など行っているため、描画時の計算処理が他に比べて重たくエラーが出やすいです。
Sキーは他に割り当てて使用してください。トレンドラインだけならTキーで描けます。
マウスポインタの移動速度を調整する
PC自体の使い勝手に関わるので一概におすすめはできないのですが、マウスポインタの移動速度は速いほうがエラーが出にくくなりそうです。
(2021/1/26 更新・追記 )・・・と思ったのですが、マウスポインタを遅くしたほうがエラーが出なくなったという報告もありました。(コメント参照)
詳細は不明ですがマウスポインタの速さがエラーのでやすさに関係するのは間違いなさそうです。エラーが出る方は試してみてください。
変更方法は、画面左下ウィンドウズメニュー→設定(歯車)→デバイスと選んで、マウスからカーソル速度を変更できます。
SmartDrawパラメータをNoにする
これはエラーに直接関係するかわかりませんが、他のインジとともに使ってる場合にYesだと重たい原因の一つになっていることが多いため一応あげときます。
ラインなどを描く際に他のオブジェクトに触れなくするための機能です。Noにするとラインなどの始点終点を重ねて描きたい場合に少しだけ不便ですが、普段の使用にはさほど影響ありません。
SubAreaDrawパラメータをNoにする
今回追加したパラメータです。デフォルトではSubChartインジケータとの連携のためインジケータエリアにも描画できるようになっているのですが、不要な方はNoにしてください。
これもエラーには直接関係ないかもしれませんが、処理自体は少し軽くなるはずです。
これでエラーがでなくなりますように
この他にもインジケーターを減らす、チャート枚数を減らすなども効果があるかもしれませんが、自分のFXのやり方変えてまで使うほどのものでもないと思うので・・・
ここで紹介した方法ためしてもエラーが出るという方はコメントから使用状況を教えていただけるとありがたいです。修正できるとは限りませんが、なにか解決のヒントになるかもしれません。