MT4,5でストップロス、テイクプロフィットのラインにマウスを合わせると、損益額が表示されますが、ラインの設定時には通貨ペアの価格での設定しかできません。テイクプロフィット、ストップロス、までいくとどのくらいの金額になるか知りたいところです。MQL5では、1Lot(10万通貨)、1Point,(1Pipsの1/10)あたりの口座通貨での損益額を求める関数があるのですが、MQL4では非対応となっています(MQL5から移植してもエラーは出ず、0を返します)。探せばきっとMQL5.comに載っていると思うのですが見つけることができず、仕方ないので、自分で作ることにしました。
買付可能Lot算出のサンプルを参考に、パターンごとに分けて考えました。いろいろな呼び方があると思うので用語の定義から
証拠金通貨・・・通貨ペア名の前のほう。USDJPYならUSD。
利益通貨・・・・通過ペア名の後ろのほう USDJPYならJPY
口座通貨・・・・取引口座の通貨、
Buy,Sellでの違いもありますが、大きく分けて4パターン
1,利益通貨が口座通貨
2,証拠金通貨が口座通貨
1,2以外の場合 利益通貨と口座通貨の換算用通貨ペアを探し、その通貨ペアの並びでパターン分け。
3、利益通貨 口座通貨のペア
4,口座通貨 利益通貨のペア
例をいくつ上げますと。
口座通貨 JPY の例 ()内は換算用通貨ペア
1番の例 USDJPY
2番の例 ・・・・
3番の例 EURUSD (usdjpy)
4番の例 ・・・・
口座通貨 USDの場合
1番の例 EURUSD
2番の例 USDJPY
3番の例 EURGBP (gbpusd)
4番の例 EURJPY (usdjpy)
1番の場合は問題ないのですが、2番以降の場合は1pointあたりの損益×変動point数での計算では誤差が出そうです(ストップロス時の損失を出すには、ストップロス時の価格で計算)。3,4番の場合は時間がたてば換算用通貨ペアの価格の影響も出てきそうです。
現時点での1Lot、1pointあたりの損益額は
※point ・・・通過ペアの最小桁(ドル円は0.001 ユーロドルは0.00001)
【1番のパターン】
100000(1Lot) × 通貨ペアpoint(ドル円なら0.001)
【2番のパターン】
100000(1Lot) × point / 通貨ペアprice
【3番のパターン】
100000(1Lot) × point × 換算用通貨ペアprice
【4番のパターン】
100000(1Lot) × point / 換算用通貨ペアprice
確認
1,口座通貨 jpy、でEURUSDの場合
(3番のパターン)
100000 × 0.00001 × 103,317 =\103.317
2, 口座通貨 usd、でEURJPYの場合
(4番のパターン)
100000 × 0.001 / 103,317 =$0.967
次回のバージョンで、
1,TP,SLの総額表示機能を追加、
2,途転売買でのLot数が途転前ポジションのLot数を反映しなかった不具合を修正。
3,サブパネル表示にベースパネル及び、クローズボタンを追加、操作性、視認性の向上。
を行っています。

日本語版の説明動画をアップしました。
操作説明と実際の取引の様子です。



emkyuRadius ホームページ
買付可能Lot算出のサンプルを参考に、パターンごとに分けて考えました。いろいろな呼び方があると思うので用語の定義から
証拠金通貨・・・通貨ペア名の前のほう。USDJPYならUSD。
利益通貨・・・・通過ペア名の後ろのほう USDJPYならJPY
口座通貨・・・・取引口座の通貨、
Buy,Sellでの違いもありますが、大きく分けて4パターン
1,利益通貨が口座通貨
2,証拠金通貨が口座通貨
1,2以外の場合 利益通貨と口座通貨の換算用通貨ペアを探し、その通貨ペアの並びでパターン分け。
3、利益通貨 口座通貨のペア
4,口座通貨 利益通貨のペア
例をいくつ上げますと。
口座通貨 JPY の例 ()内は換算用通貨ペア
1番の例 USDJPY
2番の例 ・・・・
3番の例 EURUSD (usdjpy)
4番の例 ・・・・
口座通貨 USDの場合
1番の例 EURUSD
2番の例 USDJPY
3番の例 EURGBP (gbpusd)
4番の例 EURJPY (usdjpy)
1番の場合は問題ないのですが、2番以降の場合は1pointあたりの損益×変動point数での計算では誤差が出そうです(ストップロス時の損失を出すには、ストップロス時の価格で計算)。3,4番の場合は時間がたてば換算用通貨ペアの価格の影響も出てきそうです。
現時点での1Lot、1pointあたりの損益額は
※point ・・・通過ペアの最小桁(ドル円は0.001 ユーロドルは0.00001)
【1番のパターン】
100000(1Lot) × 通貨ペアpoint(ドル円なら0.001)
【2番のパターン】
100000(1Lot) × point / 通貨ペアprice
【3番のパターン】
100000(1Lot) × point × 換算用通貨ペアprice
【4番のパターン】
100000(1Lot) × point / 換算用通貨ペアprice
確認
1,口座通貨 jpy、でEURUSDの場合
(3番のパターン)
100000 × 0.00001 × 103,317 =\103.317
2, 口座通貨 usd、でEURJPYの場合
(4番のパターン)
100000 × 0.001 / 103,317 =$0.967
次回のバージョンで、
1,TP,SLの総額表示機能を追加、
2,途転売買でのLot数が途転前ポジションのLot数を反映しなかった不具合を修正。
3,サブパネル表示にベースパネル及び、クローズボタンを追加、操作性、視認性の向上。
を行っています。

日本語版の説明動画をアップしました。
操作説明と実際の取引の様子です。

emkyuRadius ホームページ