초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1475

 
Aleksandr Slavskii #:

테스터에서 포지션 청산 시점을 어떻게 알 수 있나요?

포지션 1, 2, 3을 오픈합니다.

포지션 3, 2, 1 청산

테스터 보고서나 테스터 자체에서 특정 포지션의 청산 시간을 알아내는 방법을 찾지 못했습니다.

테스터가 작성한 보고서에서도 마찬가지이며 포지션 청산 시간을 알 수 있는 방법이 없습니다.


포지션의 개시 및 청산 시간을 알아야 합니다. 어떻게 알 수 있나요?

라이브러리 중 하나에 fxsaber는 "테스터 캐시를 만들고 포맷을 열어준 개발자에게 감사드립니다.

옵트 파일 형식만 찾을 수 있었습니다.

포럼에서 단일 패스 형식인 tst 파일을 공개하는 위치를 아는 사람이 있으면 링크를 알려주세요. 위치_ID를 찾을 수 있을지도 모르니까요.

fxsaber 님이 읽으시면 답장해 주세요.

시장 종료 거래 찾기

DEAL_ENTRY_IN

시장 진입

DEAL_ENTRY_OUT

시장 종료

DEAL_ENTRY_INOUT

반전

DEAL_ENTRY_OUT_BY

카운터 포지션으로 청산

을 클릭하고 이 거래의 티켓에서 포지션 ID를 찾습니다.

DEAL_TICKET

거래의 티켓. 각 거래에 할당되는 고유 번호입니다.

long

DEAL_ORDER

거래가 체결된 기준이 되는주문입니다.

long

DEAL_TIME

트랜잭션 실행 시간

datetime

DEAL_TIME_MSC

1970년 01월 01일 이후 트랜잭션 시간(밀리초)

long

DEAL_TYPE

거래 유형

ENUM_DEAL_TYPE

DEAL_ENTRY

거래 방향 - 시장 진입, 시장 퇴장 또는 반전

ENUM_DEAL_ENTRY

DEAL_MAGIC

거래의 매직넘버(ORDER_MAGIC참조)

long

DEAL_REASON

거래의 이유 또는 출처

ENUM_DEAL_REASON

DEAL_POSITION_ID

이 거래에 참여한 개시, 변경 또는 청산포지션의 식별자입니다. 각 포지션에는 고유 식별자가 있으며, 포지션 기간 동안 해당 상품에서 체결된 모든 거래에 할당됩니다.

long


일반적으로 거래가 시장에서 종료되는 시점은 포지션 청산 시점입니다.

 
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 #:

코드를 알려줘서 고마워요, Alexey! 내일은 수식에 대해 더 자세히 설명해 드리겠습니다.

감사합니다, 블라디미르.

 
감사합니다)
여기서 가격과 손실은 가격입니다. 손실이 핍 단위인 경우 포인트를 사용합니다.
 
Aleksei Stepanenko #:
천만에요)
여기서 가격과 손실은 가격입니다. 손실이 핍 단위인 경우 포인트를 사용합니다.

알렉세이, 손절매를 포인트로 변환하면 말도 안됩니다. 문제는 스크립트에서 인터넷에서 찾은 공식을 사용했다는 것입니다. 어디서 왔는지 기억이 나지 않습니다. 이 공식을 사용하여 Excel에서 표를 만들어 필요할 때 사용했습니다. 다음은 그 모습입니다:

그래서 그것이 얼마나 사실인지 명확히하기 위해 커뮤니티를 찾았습니다. 엑셀 테이블의 수식 자체는 다음과 같습니다:

лот = (баланс * риск (в %) * 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 #:

블라디미르, 모든 것이 작동합니다.

디바이더를 0으로 확인하지 않고도 많은 분할이 가능합니다. 폭발적입니다.