ロットサイズ自動計算機能? - ページ 4

 

インクルードファイルは正しいファイルフォルダにありますか?

 
Antonsan:

私だけに起こったバグですか?
MetaEditor mq4で、#includeの行を入れると、どのファイルもコンパイルできません。
また、#includeの行を入れたmq4ファイルをコンパイルしたこともありません。
行のみ有効
# Include <stderror.mqh>
# Include <stdlib.mqh>.
# <WinUser32.mqh> をインクルードしてください。

phillipの投稿に加えて、。

もし、あなたが上記のようなコードを持っているならば、言語ドキュメントを注意深く読むことを検討してください。

includeの 間に空白を 入れない

大文字のIを 使わない ... 小文字のiを 使う

 

Analyze Currency ファイルで、SymbolType() メソッドに問題があるようです。

私は CADJPY を取引しており、私の accountcurrency() は USD ですが、常に SymbolType = 6 を返します。

理由は、MarketInfo("USDJPY", MODE_LOTSIZE)がいつも0を返すからです。

例:MarketInfo("CADJPY", MODE_LOTSIZE)は問題なく動作します。

これはMetaTraderの問題なのでしょうか、どうして他のペアのプロパティを 取得できないのでしょうか?

 

リコッターはどこのブローカーを使っていますか? 彼らはUSDJPYを取引するために提供していますか?

コードが正しく実装されているか確認するために、FXDDをダウンロードしてデモ口座を 開設し、CADJPYであなたのコードを試してみてください。 インクルードファイルが正しくセットアップされていれば、動作するはずです。

 
1005phillip:

Ricotterさんはどこのブローカーをお使いですか? そのブローカーではUSDJPYを取引できますか?

あなたのコードが正しく実装されているか確認するために、FXDDをダウンロードしてデモ口座を開設し、あなたのコードをCADJPYで試してみてください。 インクルードファイルが正しくセットアップされていれば、動作するはずです。

もう少しテストをしてみました。 すべてを取り除き、start()関数の 中でMarketInfoの呼び出しだけを追加しました。 ライブ取引では問題なく動作しますが、テスターを使用すると、テストを実行しているシンボル以外では0が返されます。

FXDDでテストしてみます、ありがとうございました。

 
Ricotter:

もう少しテストをしてみました。すべてを取り除き、start()関数の中でMarketInfoの呼び出しだけを追加しました。ライブ取引では問題なく動作しますが、テスターを使用すると、テストを実行しているシンボル以外では0が返されます。

FXDDでテストしてみます、ありがとうございました。

FXDDでも同じです。CADJPYのペア に対してテスターを実行しながらMarketInfo("USDJPY", MODE_LOTSIZE)を呼び出そうとすると、0を返します。 USDCADとUSDJPYの履歴もダウンロードしました。

 
Ricotter:

FXDDでも同じです。CADJPYのペアに対してテスターを実行しながらMarketInfo("USDJPY", MODE_LOTSIZE)を呼び出そうとすると、0を返します。 USDCADとUSDJPYの履歴もダウンロードしました。

MarketInfo()はテスターでテストされたシンボルに対してのみ機能します。全てのテスターの制限事項はこちら→https://www.mql5.com/en/articles/1512。
 
gordon:
MarketInfo()はTesterでテストされたシンボルに対してのみ機能します。全てのテスターの制限事項はこちら→https://www.mql5.com/en/articles/1512。

ありがとうございます。

 

このコードはあなたのために複数のことを行います。それはシンボル()に関係なく、あなたがリスクとストップロス価格に基づいてポジションを取るために最大ロットサイズを計算します。一旦そのロットサイズ値があれば、それはまたあなたの利益確定価格に基づいた利益の可能性を計算することができます。

しかし、MT4のバックテスターの基本的な設計上の制限により、バックテスト中にEAが他の通貨ペアの 過去の価格データにアクセスできないため、クロスで正しくバックテストを行うことができないことに留意する必要があります。つまり、バックテスターによって口座の通貨に換算された取引自体の利益/損失は単純に間違っているということです。

私がリンクしたコードでは、近道はせず、分析的に正しく計算します。なぜなら、コードは市場の評価を正しく計算しようとし、バックテスターはそれを妨げ、その結果、コードは単にエラー警告を返すからです(ブローカーが何らかの方法で通貨定義を破った場合、現実のフォワードテストでそうなるように)。

 
1005phillip:

このコードはあなたに代わって複数のことを行います。それはシンボル()にとらわれず、あなたがリスクとストップロス価格に基づいてポジションを取るための最大ロットサイズを計算します。一旦そのロットサイズ値があれば、それはまた、あなたの利益確定価格に基づいて潜在的な利益を計算することができます。

しかし、MT4のバックテスターの基本的な設計上の制限により、バックテスト中にEAが他の通貨ペアの過去の価格データにアクセスできないため、クロスで正しくバックテストを行うことができないことに留意する必要があります。つまり、バックテスターによって口座の通貨に換算された取引自体の利益/損失は単純に間違っているということです。

私がリンクしたコードでは、近道はせず、分析的に正しく計算します。なぜなら、コードは市場の評価を正しく計算しようとし、バックテスターはそれを妨げ、その結果、コードは単にエラー警告を返すからです(ブローカーが何らかの方法で通貨定義を破った場合、現実のフォワードテストでそうなるように)。

こいつはファイル履歴を使ってやっている。

https://www.mql5.com/en/articles/1493