FXTFのXAUUSDのレートがコンマ2桁についての対応方法を教えてください。

EAつくーる
川崎ドルえもん
2024/07/12 01:28
162

FXTFのXAUUSDでEAを動かそうとしたところ動きませんでした。
おそらくFXTFのXAUUSDのレートがコンマ3桁でなく、コンマ2桁だからだと思います。(FXTFのXAUUSDレート例2,415.88)
![スクリーンショット 2024-07-12 011508.png](スクリーンショット 2024-07-12 011508.png)

そこで、このあたりのコードを変えれば良いとは思っていますが、どのように変えればよろしいでしょうか?
![スクリーンショット 2024-07-12 012640.png](スクリーンショット 2024-07-12 012640.png)
![スクリーンショット 2024-07-12 012703.png](スクリーンショット 2024-07-12 012703.png)

コメント

GogoJungle
2024/07/12 15:45

ご指摘の通り、小数点以下の桁数が影響している可能性が高く、価格・pips換算用の関数のコードを手動で書き換える必要がございます。

具体的には下記3つの関数を書き換え、「☆」の部分に適切な値の入力をお願いいたします。
(「☆」に入れるべき値につきましては、小数点以下の桁数をずらすための1,10,100のような10の倍数の値となります)

なお、XAU/USD等のCFDに関しましては、証券会社ごとに表示される桁数が異なりますので、今後このQAをご覧になる方が混乱されることを避けるため、「XAU/USDならば絶対にこの値にすればよい」という断定的な値の提示は控えさせていただきます。
お手数ですが、取引対象、証券会社ごとに値を変えて実験をし、決定していただければ幸いでございます。

  1. 価格換算用関数
//--------------------------------------------------------------------------------------------------------+
//価格換算用関数
//   処理:pipsを価格に換算する。
//   引数:換算する値
//   戻り値:調整された価格
//--------------------------------------------------------------------------------------------------------+
double PipsToPrice(double value)
{
   int mult = ☆; // こちらの行を変更します
   return(value * Point * mult);
}
  1. pips換算用関数
//--------------------------------------------------------------------------------------------------------+
//pips換算用関数
//   処理:価格をpipsに換算する。
//   引数:換算する値
//   戻り値:調整されたpips
//--------------------------------------------------------------------------------------------------------+
double PriceToPips(double value)
{
   int mult = ☆; // こちらの行を変更します
   return(value / Point/ mult);
}
  1. pips換算用関数(指定した通貨ペアの小数点以下桁数をもとに価格をpipsに換算)
//--------------------------------------------------------------------------------------------------------+
//pips換算用関数
//   処理:指定した通貨ペアの小数点以下桁数をもとに価格をpipsに換算する。
//   引数:換算する値,換算する通貨ペア
//   戻り値:調整されたpips
//--------------------------------------------------------------------------------------------------------+
double PriceToPipsWithSymbol(double value, string symbol)
{
   double Symbol_Digits = MarketInfo(symbol,MODE_DIGITS);
   int mult = ☆; // こちらの行を変更します
   return(value / MarketInfo(symbol,MODE_POINT) / mult);
}

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。