MQLプログラミングについて6
MQLでのプログラミングでよく出るエラーが、
Array out of range
Zero divide
です。Array out of rangeは配列のインデックス(配列の番地)の範囲外を指定した場合に出ます。
Zero divideは、割り算実行時に除数がゼロと等しい場合に発生します。任意の外部データの値によって除数の値が決まる場合に発生します。
emkyuPAD で、本日、週間、月間の口座残高割合での損益(%)の表示、及びラート発報機能があります。


[A]損益(%)= 損益額 ÷ 口座残高
もととなる口座残高を現在の値とせず、本日、週間、月間
の各期間のスタート時の残高とする為、
[B]各期間のスタート時の口座残高 = 現在の残高 ー 期間損益
としています。
もし、現在の残高 = 期間損益 なら
各期間のスタート時の口座残高 = 0となり、zero divideとなります。
考えられる場面は
1,口座残高が0である場合。
この場合は取引をおこなえないので問題なし。
2,新規開設、または口座残高0円から再入金した場合
この場合を考慮して対応が必要。
入出金を別扱いにすることも考えましたが、実際の口座残高を知る為には入出金を外すことはできず、対策として
1,現在の残高 ー 期間損益の間は、機能を停止する。
2,停止している状態を明示する。
もう一つの問題点として、このままでは入出金が損益額として表示されてしまいますので
[A]の期間損益額 は 入出金を含まず。
[B]の期間損益額 は 入出金を加える。
ということになると思います。
MT4,5用裁量取引支援ユーティリティー emkyuPAD


emkyuRadius ホームページ
MQLでのプログラミングでよく出るエラーが、
Array out of range
Zero divide
です。Array out of rangeは配列のインデックス(配列の番地)の範囲外を指定した場合に出ます。
Zero divideは、割り算実行時に除数がゼロと等しい場合に発生します。任意の外部データの値によって除数の値が決まる場合に発生します。
emkyuPAD で、本日、週間、月間の口座残高割合での損益(%)の表示、及びラート発報機能があります。


[A]損益(%)= 損益額 ÷ 口座残高
もととなる口座残高を現在の値とせず、本日、週間、月間
の各期間のスタート時の残高とする為、
[B]各期間のスタート時の口座残高 = 現在の残高 ー 期間損益
としています。
もし、現在の残高 = 期間損益 なら
各期間のスタート時の口座残高 = 0となり、zero divideとなります。
考えられる場面は
1,口座残高が0である場合。
この場合は取引をおこなえないので問題なし。
2,新規開設、または口座残高0円から再入金した場合
この場合を考慮して対応が必要。
入出金を別扱いにすることも考えましたが、実際の口座残高を知る為には入出金を外すことはできず、対策として
1,現在の残高 ー 期間損益の間は、機能を停止する。
2,停止している状態を明示する。
もう一つの問題点として、このままでは入出金が損益額として表示されてしまいますので
[A]の期間損益額 は 入出金を含まず。
[B]の期間損益額 は 入出金を加える。
ということになると思います。
| GogoJungleにて ダウンロード販売開始 2/28まで 2500円→2000円 |
MT4,5用裁量取引支援ユーティリティー emkyuPAD

emkyuRadius ホームページ