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

 
Aleksandr Slavskii #:

テスターでポジションをクローズした時間を知るには?

ポジション1、2、3をオープンします。

ポジション3、2、1をクローズ

テスター・レポートでもテスター自体でも、特定のポジションのクローズ時間を調べる方法がわかりません。

テスターが作成したレポートも同様で、ポジションのクローズ時間を調べる方法はありません。


ポジションのオープンとクローズの時間を知りたいのですが。どうやって?

fxsaberは そのライブラリの一つで次のように書いています:"Testerキャッシュを作成し、そのフォーマットを開くのを助けてくれた開発者に感謝します。

私はopt ファイルのフォーマットしか見つけられませんでした。

フォーラムでtst-files - single pass formatを 公開している場所を知っている人がいたら リンクを教えてください。

fxsaber さん、もしお読みになりましたら、返信をお願いします。

マーケット・エグジット・トレードを探す

DEAL_ENTRY_IN

市場参入

DEAL_ENTRY_OUT

市場からの退出

ディール・エントリー・インアウト

反転

ディール・エントリー・アウト

カウンター・ポジションで決済

この取引のチケットでポジションIDを探す

ディールチケット

取引のチケット。各取引に割り当てられる一意の番号。

ロング

DEAL_ORDER

取引が成立した注文

ロング

DEAL_TIME

取引が実行された時刻。

日時

DEAL_TIME_MSC

1970.01.01からのミリ秒単位でのトランザクション実行時間

長い

DEAL_TYPE

ディールタイプ

ENUM_DEAL_TYPE

DEAL_ENTRY

取引の方向 - エントリー、エグジット、またはリバーサル

ENUM_DEAL_ENTRY

DEAL_MAGIC

取引のマジックナンバー (ORDER_MAGIC を参照)

ロング

DEAL_REASON

取引の理由または発生源

enum_deal_reason

ディールポジションID

このディールが参加したポジションの識別子。各ポジションは一意な識別子を持ち、その識別子はポジションの存続期間中、その商品で執行されたすべてのディールに割り当てられる。

ロング


一般的に、ディールがマーケットから退出する時刻は、ポジションがクローズする時刻である。

 
Alexey Viktorov #:

探す ...

ありがとう。でも、私が探しているのはそういうことじゃないんだ。

どうやら私はまた質問を正しく定式化することに失敗したようだ :(

私はReportTester.xlsxまたは.tstファイルからポジション情報を抽出する方法に興味があります

あなたが提案したものはレポートにはありません。

 
MrBrooklin #:

   //лот = процент риска от баланса / (размер стоплосса * Размер минимального изменения цены в валюте депозита / Минимальный шаг изменения цены в пунктах)
   eLot=AccountInfoDouble(ACCOUNT_BALANCE)*eRisk/100/(MathAbs(ePrice-eStopLoss)*SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_SIZE));
 
Aleksei Stepanenko #:

アレクセイ、コードをありがとう!明日、君の数式をもっと詳しく調べてみるよ。

よろしく、ウラジミール。

 
どういたしまして)
ここで価格と損失は価格です。損失がpipsの場合はpointを使います。
 
Aleksei Stepanenko #:
どういたしまして)
ここで価格と損失は価格です。損失がpipsの場合はpointを 使います。

アレクセイ、ストップロスをポイントに変換すると、ナンセンスになるんだ。スクリプトではインターネットで見つけた計算式を使ったんだ。どこで見つけたかは覚えていない。この計算式を使ってエクセルで表を作り、必要なときに使った。こんな感じだ:

そのため、それがどれほど真実なのかを明らかにするために、私はコミュニティを頼ったのである。エクセルの表の数式自体はこんな感じです:

лот = (баланс * риск (в %) * 0,01) / (стоп-лосс (в пунктах) * курс валюты (в моем случае в руб.))

ありがとう、ウラジミール。

 

ウラジーミル、すべてうまくいく

input int eLoss=2000;
input double eRisk=5.0;

double eLot=AccountInfoDouble(ACCOUNT_BALANCE)*eRisk/100/(eLoss*SymbolInfoDouble(eSymbol,SYMBOL_POINT)*SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(eSymbol,SYMBOL_TRADE_TICK_SIZE));
 
Aleksei Stepanenko #:

ったな。

アレクセイ、申し訳ないが、私たちは理解し合えなかった。誤解していたのは私の方だ。私は、あなたが私の関数にポイントを適用することを勧めていると思った。))

ありがとう、ウラジミール。

 
ああ、わかった)
 
Aleksei Stepanenko #:

ウラジーミル、すべてうまくいく

除算器をゼロにチェックすることなく、たくさんの除算ができる。爆発的。

理由: