FX帯域損小利大売買法

アクセスカウンタ

zoom RSS Visual Basic 乱数の偏りを解決する

<<   作成日時 : 2015/03/29 16:04   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

FX帯域損小利大売買法のトレーニングソフトをVisual Studio2013(開発言語Visual Basic)で作ることにして、まず値幅1円でランダムに上下するチャート用のプログラムを書いていくことにしました。

VBのRandomというものはそのまま使うとランダムとして機能しない(簡単に説明するとランダムなのに同じ数字が続いてしまう)ので、よく使用される配列に数値を入れてRandomでシャッフルさせる方法でやってみたのですが、これでもまだ偏ってしまいます。

具体的に説明すると、配列に1〜10の数値を入れてランダムで発生させたA番とB番のインデックスに入っている数値を入れ替える、これを2000回繰り返した後に任意のインデックスから数値を取り出して、その数値が5以下なら1円上昇する、6以上なら1円下落するといったプログラムです。

ところがこれだけシャッフルしてもまだ一方向に偏っておりまして、365回変動するチャートにすると小刻みに上下はするものの結果は全部上昇相場になってしまいます。6以上と5以下を逆にすると全部下落相場になってしまいます。これは意図的にトレンドを発生させるプログラムには利用できそうですが今は完全にランダムなチャートにしたいので使えません。

さらに5以下と6以上をやめて偶数と奇数で判定するようにしても一方向に片寄ります。

だったら上昇するプログラムと下落するプログラムを交互に使ってやればどうかと考え、-1 * -1 = 1 で符号が反転することを利用して 

For Nextステートメントの最後に変数 *= -1 を入れ If 文で変数が1の場合は5以下で1円上昇 6以上で1円下落するプログラム、変数が-1の場合は5以下で1円下落 6以上で1円上昇、という具合に1回1回判定がスイッチするようにしてみたところ今度はチャートがランダムに変動するようになりました。

これで Visual Basic のランダムが偏る問題は解決です。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
Visual Basic 乱数の偏りを解決する FX帯域損小利大売買法/BIGLOBEウェブリブログ
文字サイズ:       閉じる