point↔pipsへの変換値を取得する関数(オリジナル関数)

オリジナル関数

どうも!和菓子職人トレーダー潤奈です( ゚Д゚)
今回はpointからpipsに変換値を取得する為のオリジナル関数を紹介します。

オリジナル関数って?という方はこちらのEA講座でオリジナル関数の説明をしていますのでまずこちらをご覧下さい( ゚Д゚)

スポンサーリンク

概要

MQL4を使用して取引におけるポジションの調整を行う方法について解説します。
特に、通貨ペアの価格表記の桁数に応じて、1pipの価値を適切に調整する関数としてAdjustPoint関数の実装を紹介します。
これは、様々な通貨ペアでEA(エキスパートアドバイザー)を動作させる際に、ポジションサイズを正確に管理するために非常に重要です( ゚Д゚)

コード全文

まずグローバル変数として使用出来るようにpointValue変数として宣言しておきます。

次にAdjustPoint関数のコードは以下の通りです。

コード説明

OnInit関数

OnInit関数は、EAがチャート上で初期化される時に呼び出されます。
この関数内でAdjustPoint関数を呼び出し、グローバル変数pointValueに1pipの価値を格納して、ポジションサイズの調整に使用出来るようにします。

AdjustPoint関数の宣言

double型で宣言をして、引数に通貨ペア名を渡します。

通貨ペアの小数点以下の桁数取得

MarketInfo関数を使用して、指定された通貨ペアの価格の小数点以下の桁数を取得します。

これは通貨ペアの価格表記の特性を理解するために必要です。例えば、USDJPYのようなペアは通常2桁または3桁の小数点以下桁数を持ち、EURUSDのようなペアは4桁または5桁の小数点以下桁数を持ちます。

桁数に基づく調整値の取得

switch文を用いて、桁数に応じて1pipの価値を取得します。
2桁または3桁の通貨ペアでは0.01を、4桁または5桁の通貨ペアでは0.0001の値を返します。

return文とデフォルトの返り値

前項に繋がりますが、各case文の後には該当する値をreturn文を用いて返します。
もし、上記のケースに一致しない桁数が指定された場合、関数はデフォルト値として0.0を返すように記述します。

使用事例

AdjustPoint関数は、トレードの際のポジションサイズを計算する上で役立ちます。以下はこの関数を使用する具体的な事例ですので、上手く組み込んで下さい( ゚Д゚)

事例:ストップロスとテイクプロフィットの設定

パラメーターで〇〇Pipsで設定したいと思った時、価格の値と価値単位が違うのでそのまま使用出来ません。EAによってはpointで記述している物もありますが、出来ればPipsで揃えたいと思う方もいらっしゃると思います。

この例ではAdjustPoint関数を使用して、特定の通貨ペアの1pipの価値を計算し、それを基にストップロスとテイクプロフィットの価格を設定しています。
これにより通貨ペアの価格桁数に関係なく、一貫したトレード戦略を適用できます。

まとめ

いかがでしたでしょうか。
この記事では異なる通貨ペアの価格表記の桁数に基づいて調整値を取得する方法を解説しました。
AdjustPoint関数は、EAの開発においてポジションサイズの管理を行う為の基礎として活用することで、EAが多様な通貨ペアに対応する事が出来ると思います。

では、少しでも参考になれば( ゚Д゚)

【免責事項】

※当ソースコードにおける如何なる損失もご自身の自己責任となります。投資資産における運用の結果生じた損害の全部若しくは一部について一切の責任及び負担を負わないものとします。
※当ソースコードにつきましても、バグや不具合がないことを保証するものではありません。

※当ソースコードについてはサポート等については行っておりません。
※このブログで掲載されている情報は、投資等の勧誘又は推奨を目的としたものではありません。
※掲載されている内容は予告なしに変更することがあります。

コメント

タイトルとURLをコピーしました