possible loss of data to type conversion
データ型が一致しないデータ同士で計算を行っている為、暗黙的に
キャストされデータ損失が発生している可能性があります。
TimeLocal()と
TimeCurrent()は
datetime型の値を返すので、その計算結果は
datetime型の
変数に代入する必要があります。
データ型について理解しておらず、
適当に
intを使う人が多いのですが、
データ型の種類だけは適切なものを正しく選んで使って下さい。
整数なら基本的に
intで構わないのですが、
小数点が含まれる実数は
doubleを使って下さい。
日付時間は
datetimeを使って下さい。
intと
doubleは、
水と油のように混ざり合うことが出来ない別物ですので、注意して下さい。
このコンパイルワーニングを無視して「結果が0になる」と言ったような問い合わせが多いです。
人間からしてみれば1(整数)と1.1(実数)は同じ数字にしか見えませんが、コンピュータでは全く別物として処理されています。
詳細な解説ページを作成しました。
ヒント:H2-1.データ型について①
よく理解出来なかった人は
この解説ページを良く読んで下さい。
読みもしないで「分からないんでどう修正すれば良いか教えて下さい」という人は・・・大丈夫ですか?実は会社のリストラ候補にリストアップされていませんか?
暗黙キャストでデータ損失が発生する可能性がある場合に出る警告なので、long型(8byte)の変数にint型(4byte)の値を代入しても警告は出ません。
基本的に大きなデータ型から小さいデータ型への代入か、異なる型への代入時に発生します。
スポンサーリンク
注意事項:
当サイトはMQL4言語(MT4用プログラム言語)について紹介している初心者向けサイトです。
自動売買を行うEAや売買シグナルのソフトウェアの配布などは行っておりません。
投資助言も行っておりません、投資助言を必要としている方は投資助言業者に相談して下さい。
当サイトに掲載している情報やサンプルソース利用によって損害が生じてもサイト管理人は責任を負いませんので、全て自己責任でお願い致します。
また当サイトではFXCM MT4ベースに紹介していますが、これはFXCMを特別お勧めしているわけでは無く、単純に管理人がFXCM口座をメインに取引をしていた為です。尚、FXCMジャパン証券は楽天証券に買収されました。
FX(外国為替保証金取引)は金融商品取引法に規定される通貨関連店頭デリバティブ取引です。
元本あるいは利益を保証した金融商品ではありません。
為替変動・金利変動・アルゴリズムによる急変動・各国要人の気まぐれ発言による暴落等のリスクにより、損失が生じるおそれがあります。
FXは少ない保証金を担保として大きな金額を取引出来る為、投資金額以上の損失を被る可能性があります。
詳細は証券会社の契約締結前交付書面・約款等を熟読して下さい。