BTLMプチフリーズバグ対策。。orz

BTLMを非同期で計算しているのに、MT4が固まるのはおかしいなと思って調べたら実装間違いがありました。修正版をここに置きました。

RExecuteAsync()を呼んだら、RIsBusy(R)のチェックが終わらない限り、他のRの処理(RGetBool)をしてはいけなかったのでした..orz
なので、実行順序を入替えています。


今日は1日 BTLM の動きを、普通の線形回帰指標と比較して見ていましたが、単純な線形回帰指標では算出できない正確さで直近のトレンドとボラティリティ(値幅)を描画してました。BTLM 自体はただの解析ツールにすぎないので、トレンドが十分に長く継続しやすい通貨ペアや時間足を選べば、トータルで勝ち越すことも現実的かな...なんて思ったりします。

BTLM の活用方法を思いついた人や実際役立った人からのコメント歓迎です。

そろそろ大多数の人が導入に成功したと思うので、マニアックな話を少々..。

公開時に、「まったく同じ価格データで計算しても異なる結果を返す」のは、内部で MCMCマルコフ連鎖モンテカルロ法) という乱数を利用したシミュレーションを行っているからだと説明しました。当然ながら、その乱数シミュレーションの回数を増やせば、毎回得られる結果が同一になりやすくなります。
その調整方法は、

BTE = c(2000, 15000, 2),R=1

↑これを書き換えます。
上の表記では、「15000回計算し、最初の2000回分を破棄し、得られた結果のうちの2つに1つを採用する」というプロセスを1回(R=1)行う。
という定義になります。

BTE=c(2000,55000,2),R=3

↑このくらい増やすと計算時間はかなり掛かりますが、入力データに対してほぼ同じ結果が得られやすくなります。PCスペック次第では、R=1,2,3の順に試した方が無難でしょう..。論文では、10万回計算して、最初の5000回を破棄..なんて例もありますが、どれくらいが適切なのかよく分からないので、特に気にならなければデフォルトのままでも構わないと思います。