タグ別アーカイブ: プログラム

Cygwinとmacの計算結果の違い 一旦解決

為替の予測プログラムの計算結果が
Cygwinとmacで違ってしまっていたので
しばらく悩んでいました

開発はmacでやりたいけれど
FXの発注はWindowsの方が便利なので
プログラムの実行をCygwinでやっていたんです

どうやらCygwinの計算結果がmacで実装した時と違っているのに気づいたのがお盆あたり

配列で組んでいたのを、vectorやmapで実装しなおした時期にあたります
ついでにfloat演算だったのをdoubleに書きなおしたり
思い当たる変更箇所がたくさんありすぎて特定に時間がかかりました

  • 初期化されないクラスやメンバ変数
  • 演算の丸め

特に、printfの浮動小数点型の丸め表示がCygwinとmacで違うために
かなり惑わされました…

実際に為替の予測結果に影響していたのは、
実数を割り算して整数に丸めるところでした

切り捨てしたいなら、floorを使わないと、結果が違ってしまうようです

macの中では、差はないのですが、Cygwinでは動作が違うんですね

以下、実際のコード

他に、初期化されていない変数がどこかにあるようなのだけれど
macでvalgrindをかけても見つからず

徹底的に初期化を追加したものの解決しないので
使用前に無駄な代入文をいれて回避しました

これは今後の課題

シグナル消滅

はっきりした方向感のない状態が続いています。

そろそろ大爆発が起こる前触れでしょうか。
証券会社からも、注意喚起のメールが何通か届いていますし、みなさん様子を見ているのでしょうね。

なんとなく出ている目処としては、
EURUSD 1.40
辺りです。

その他のシミュレーション結果は、以下のとおり。

通貨 売買方向 ターゲット ロスカット
EURJPY BUY 142.500 141.280
EURUSD BUY 1.399 1.381
NZDUSD BUY 0.856 0.886

明日からは、見やすく整形して記録できる予定です。