初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1413

 

こんにちは。mt5で問題が発生しました。

2016年以降の通貨ペア相場の履歴が読み込まれません。ブローカー - Gerchik.

試してみました:

1 - ストラテジーテスターから履歴をダウンロード。

2 - ツールのターミナルから履歴をダウンロード。

3 - mt5サーバーの正常にロードされたペアから履歴をコピー。無駄。プログラムを再起動するとこれらのファイルが削除され、また2016年までの履歴しか表示されない。

4 - ブローカーのテクニカルサポートは、末尾にZの文字がないペアを実行するように言ったが、彼らはZで終わるすべての通貨ペアを持っている - EURUSDz、AUDCADz。

ブローカーとそのサーバーに問題があるのだと思いますが、なぜコピーした履歴まで削除してしまうのでしょうか?履歴を正常にアップロードする方法をどなたか教えてください。

 
gyperion #:

こんにちは。mt5の問題で困っています。

2016年以降の通貨ペア相場の履歴が読み込まれません。ブローカー - Gerchik.

試しました:

1 - ストラテジーテスターで履歴をダウンロード。

2 - ツールターミナルから。愚かにも2016年までの履歴しか表示されない。

3 - mt5サーバーの通常ロードされたペアから履歴をコピー。無駄。プログラムを再起動するとこれらのファイルが削除され、また履歴は2016年までしか表示されない。

4 - ブローカーのテクニカルサポートは、最後にZの文字がないペアを実行するように言ったが、彼らはZで終わるすべての通貨ペアを持っている - EURUSDz、AUDCADz。

ブローカーとそのサーバーに問題があるのだと思いますが、なぜコピーした履歴まで削除してしまうのでしょうか?履歴を正常にアップロードする方法をどなたか教えてください。

ということは、彼ら自身があまり古い厨房ではないので、履歴がないのかも?

 
Aleksey Vyazmikin #:

ということは、あまり古いキッチンではないので、歴史がないのでは?

また、ロシアから仕事をするための台所ではないものはあるのだろうか?そんなことはどうでもいい。問題は、歴史がないとしても、どうやってアップロードするかということだ。
 
gyperion #:
ロシアで働かない手はないだろう?そんなことはどうでもいい。問題は、相手が持っていなくても、どうやってストーリーをダウンロードするか?

お金がなくても貸してくれますか?

 
gyperion #:
ロシアで働かない手はないだろう?それは本当に問題ではない。問題は、彼らがそれを持っていない場合でも、歴史をアップロードする方法ですか?

カスタム文字を通してあなたの歴史を 作る。

Importing High Quality Tick Data to MetaTrader 5
Importing High Quality Tick Data to MetaTrader 5
  • 2021.11.28
  • www.mql5.com
In order to vet a potential trading strategy, it is imperative to ensure that the results obtained f r om optimizations and strategy tests are a true reflection of the performance of your EA
 
Nauris Zukas #:

カスタムキャラクターを通して、あなたのストーリーを作って ください。

部分的にはうまくいったが、重要なのはうまくいったということだ。私は掘り続けます。ありがとうございました。
 

皆さん、こんにちは。私の最初の取引ロボット(Expert Advisor)を書きたいと思います。バックテストでは完璧に動作し、テスト結果も立派なものです。しかし、口座の種類、シンボルの特性、他のEAとの干渉など、考慮しなければならないことがいろいろあります。

私はこのために4つの変数を持っています:

bool isHedging; bool isFIFO; ulong positionTicket; double positionVolume;

最初の2つの変数はinitメソッドで設定します:

if ((bool)AccountInfoInteger(ACCOUNT_HEDGE_ALLOWED)) isHedging = true;
else isHedging = false;
if ((bool)AccountInfoInteger(ACCOUNT_FIFO_CLOSE)) isFIFO = true;
else isFIFO = false;

ポジションをオープン したい場合、私はまずFIFOで問題を引き起こす可能性があるかどうかをチェックします(つまり、ロングポジションをオープンしたい場合、同じボリュームのロングポジションがすでにあるかどうか、またはそれぞれのシンボルのショートポジションがあるかどうかをチェックします。)そして最後に、私はOrderSendメソッドを使用し、それが成功したかどうかを設定します:

positionVolume = tradeResult.volume;
positionTicket = tradeResult.deal;

実行されたStopLossまたはTakeProfitで、私はOnTradeTransactionメソッドを通して、positionTicket変数がtransaction.positionと一致するかどうかをチェックすることで、私の(内部)EAのポジションが決済されたかどうかを認識します。

ネッティング口座のポジションを決済したい場合は、単純にロングポジションを同じ数量のショートトレードで決済します。

ヘッジ口座のポジションを決済したい場合は、trade.PositionClose(positionTicket, slippage)で決済します;

FIFOヘッジ口座のポジションをクローズしたい場合は、ポジションの方向(ロング/ショート)と数量が一致する、それぞれのシンボルの最も古いポジションをクローズします。

今、私は何か基本的なことを見落としていると確信しています。上記のように(内部)EAポジションをクローズする際、ネッティング口座のStopLossとTakeProfitもクローズされるようにするにはどうすればよいでしょうか?EA を FIFO に準拠させる、よりエレガントで効率的な方法はありますか?非 FIFO ヘッジ口座で、EA 内のポジションを MarketOrder でオープンし、編集せず、その後クローズしたい場合、trade.PositionClose(positionTicket, slippage)(positionTicket は保存された tradeResult.deal の値)で心配することなくこのポジションをクローズできるように、tradeResule.deal の値は常に同じですか?

数日間答えを探していますが、私の懸念をすべて解決できるようなものはまだ見つかっていません。どなたか助けていただけると幸いです。

 
Benjamin Fotteler #:

何か基本的なことを見落としていたようです。上記のように(内部)EAポジションをクローズするときに、ネッティング口座のStopLossとTakeProfitもクローズされるようにするにはどうすればよいでしょうか?EA を FIFO に準拠させる、よりエレガントで効率的な方法はありますか?非 FIFO ヘッジ口座で、MarketOrder で EA のポジションをオープンし、編集せず、その後クローズしたい場合、trade.PositionClose(positionTicket, slippage) でこのポジションをクローズしても、positionTicket が保存された tradeResult.deal 値になるように、tradeResule.deal 値は常に同じですか?

数日間答えを探していますが、私の懸念をすべて解決できるようなものはまだ見つかっていません。どなたか助けていただけると幸いです。

ネッティング口座では、1つのシンボルにつき1つのポジションしかありません。EAが1つのシンボルしか取引していない場合、これはPositionTotal()で読み取ることができます - または、さらに単純なPositionSelect()が間違っているか(=none)、またはそれ以降の取引でも選択されています。

Documentation on MQL5: Trade Functions / PositionSelect
Documentation on MQL5: Trade Functions / PositionSelect
  • www.mql5.com
PositionSelect - Trade Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

その通りだ。ヒントをありがとう。しかし、例えば、別のEAが同じシンボルで 動作し、0.5ロットのポジションと100ポイントのストップロスをオープンした場合、私のEAは0.5の「EA内部ポジション」と150ポイントのストップロスをオープンします。残りの0.5ロットのストップロスは100ポイントですか、150ポイントですか?それとも、このような場合、SendRequestを介して「私の」0.5ロットに対して独立したストップロスを設定することは、ネッティングモードでは不可能なのでしょうか?

つまり、私は他のEAからよく考えられたストップロスを単純に変更したくありませんが、単純に私自身のストップロスを放棄したくありません。私の「問題」に対する効率的な解決策は、そのシンボルのオープンポジションがないときだけネットモードで「EA内部ポジション」をオープンする以外にあるでしょうか?

 
Benjamin Fotteler シンボルで 動作し、0.5ロットのポジションと100ポイントのストップロスをオープンした場合、私のEAは0.5の「EA内部ポジション」と150ポイントのストップロスをオープンします。残りの0.5ロットのストップロスは100ポイントですか、150ポイントですか?それとも、このような場合、SendRequestを使用して「私の」0.5ロットに対して独立したストップロスを設定することは、ネッティングモードでは不可能なのでしょうか?

つまり、私は他のEAからよく考えられたストップロスを単純に変更したくありませんが、単純に私自身のストップロスを放棄したくありません。私の「問題」に対する効率的な解決策は、そのシンボルのオープンポジションがないときだけネットモードで「EA内部ポジション」をオープンする以外にあるでしょうか?

ネット口座(!)で、例えばEURUSDの最初のEAが0.01ロットを買い(買い)、2番目のEAが0.05ロットを売る(売り)場合、口座には0.04の売りポジションしかありません。チケット番号は当分の間、ここでは全く関係ありません。そしてEURUSDの唯一のポジションに対する2番目の注文が新しい(その= SLとTPを設定すると、最初の注文のそれらは上書きされます。

指定された場合、SLとTPが1つずつあるポジションは1つだけです。

理由: