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]の期間損益額 は 入出金を加える。

ということになると思います。


口座管理ユーティリティー、日誌作成補助口座管理ユーティリティー、日誌作成補助 | GogoJungle GogoJungleにて
 ダウンロード販売開始 
 2/28まで
 2500円→2000円






MT4,5用裁量取引支援ユーティリティー emkyuPAD
スキャルピング・デイトレード支援ユーティリティースキャルピング・デイトレード支援ユーティリティー | GogoJungle    スキャルピング・デイトレード支援ユーティリティースキャルピング・デイトレード支援ユーティリティー | GogoJungle


emkyuRadius ホームページ