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

 
Igor Makanu :

또는 https://www.mql5.com/en/code/16006 을 엽니다.

@fxsaber 의 구현을 참조하십시오.

또는 지정된 라이브러리를 연결하고 어드바이저 코드를 MT4에서 MT5로 전송하면 99%의 경우 아무 것도 조정할 필요가 없으며 모든 것이 MT4에서와 같이 작동합니다.

지식이 증가하지 않도록하십시오 ...
 
Artyom Trishkin :
지식이 증가하지 않도록하십시오 ...

지식? 이것은 TS 개발이나 거래자에게 필요한 지식이 아닙니다!

당신은 하드 디스크 --> API --> 당신의 프로그램을 관리하기 위한 드라이버를 스스로 작성하지 않습니까? 플랫폼과 프로그래밍 언어의 기능만 사용하면 됩니다. 두 번의 클릭(몇 줄)으로 모든 것을 얻을 수 있습니다.

MQL5에서 주문 작업 의 정교하고 지루한 구현이 있다는 사실은 사실입니다.

아아, 이 주제는 단순히 흥미롭지 않습니다 - 주문을 여는 방법, 주문 상태 를 찾는 방법, 주문의 가격과 마감 시간을 찾는 방법 (나는 CTrade를 알고 있으며, 소스 코드를 부분적으로 열었습니다) - 이것은 거래 플랫폼이 두 번의 클릭으로 수행해야 하는 가장 기본적인 작업이며 이 모든 것이 질문을 제기해서는 안 됩니다.

추신: 5년 미만? iTime(), IClose() 함수가 MQL5에 어떻게 추가되었는지 .... 이것은 캐치업이며, 첫해 전체에서 악기의 이력에 액세스하거나 두 번의 클릭으로 주문할 수 없는 거래 플랫폼입니다. 코드 베이스가 "훌륭한 구현"으로 가득 차 있었습니다. 두 번의 클릭으로 거래 상품의 기록을 읽는 방법.... ok, hackneyed 주제

 
Igor Makanu :

지식? 이것은 TS 개발이나 거래자에게 필요한 지식이 아닙니다!

맞아요. 일반적으로 트레이더는 전략을 개발하기 위해 이것이 전혀 필요하지 않습니다. 마찬가지로 mql4에 대한 지식이 필요하지 않습니다.

이것이 프로그래머에게 필요한 것입니다. 그리고 그가하고있는 일을 이해하고 결과를 예상 결과와 비교할 수있는 경우에만.

얼마 전 다른 사람의 Expert Advisor를 편집해야 했습니다. 참조 조건에 따르면 특정 시점의 포지션은 손익분기점에 마감되어야 합니다. 사실, 고문은 포지션을 개설하고 즉시 폐쇄하고 규칙에 따라 이미 폐쇄한 새 포지션을 넣었습니다.

이 불명예를 몇 시간 동안 살펴본 후 처음부터 Expert Advisor를 작성하는 것이 좋습니다. 당신의 고문이었나?

 
Alexey Viktorov :

이 불명예를 몇 시간 동안 살펴본 후 처음부터 Expert Advisor를 작성하는 것이 좋습니다. 당신의 고문이었나?

확실히 내! ))))) - 나는 적어도 한 달 동안 내 코드를 동반하지만 일반적으로 모든 것이 처음으로 작동하지만 기술 사양이 정확하지 않을 수 있지만 이것은 작업 전달이 아니며 현재 작업입니다. 남의 코드를 자주 수정하는데 이건 별개의 이야기이고 시간이 많이 걸리고 결과는 알 수 없음 - 바로 경고합니다

로우 레벨 프로그래밍이 매혹적이라면, 말하자면 "배짱을 파고들다" - 계속하십시오. 개발자가 제공하는 표준 CTrade 라이브러리가 있습니다. 사용자가 작업하는 데 필요한 모든 최소한의 작업을 수행해야 합니다.

 
Igor Makanu :

확실히 내! ))))) - 나는 적어도 한 달 동안 내 코드를 동반하지만 기술 사양에 정확성이 없을 수도 있지만 일반적으로 모든 것이 처음으로 작동하지만 이것은 작업 전달이 아니며 현재 작업입니다. 남의 코드를 자주 수정하는데 이건 별개의 이야기이고 시간이 많이 걸리고 결과는 알 수 없음 - 바로 경고합니다

로우 레벨 프로그래밍이 매혹적이라면, 말하자면 "배짱을 파고들다" - 계속하십시오. 개발자가 제공하는 표준 CTrade 라이브러리가 있습니다. 사용자가 작업하는 데 필요한 모든 최소한의 작업을 수행해야 합니다.

따라서 이 기적의 코드 소유자와 작성자는 위치가 열리고 즉시 닫히는 그런 미묘함에 대해 알지 못했습니다. 여기에는 불만이 없습니다.

일반적으로 동의합니다. 완전히 개발자가 쥐를 잡지 못하는 것. 한 캐릭터의 진술에 따르면 고의적으로 벌레를 낳는다는 것은 이 벌레를 잡기 위해 고문을 당했다고 합니다. 이제 그들은 "전리품 이동"과 같은 단일 명령을 할 수 없습니다. 그리고 당신은 어떤 프로그래밍도 알 필요가 없습니다. "***에 장난치는 것은 왕의 일이 아닙니다. 내가 ***를 주문하겠습니다." 당신의 말이 어쩐지 들리는군요.

 
Alexey Viktorov : 그래서 이 기적의 코드의 소유자와 작성자는 포지션이 열리고 즉시 닫히는 그런 미묘함에 대해 알지 못했습니다. 따라서 불만이 없습니다. 일반적으로 귀하의 의견에 동의합니다. 완전히 개발자가 쥐를 잡지 못하는 것. 고의적으로 벌레를 낳는다고 한 캐릭터의 말에 따르면 이 벌레를 잡기 위해 고문을 당했다고 한다. 이제 그들은 "전리품 이동"과 같은 단일 팀을 만들 수 없습니다. 그리고 당신은 어떤 프로그래밍도 알 필요가 없습니다. "***에 장난치는 것은 왕의 일이 아닙니다. 내가 ***를 주문하겠습니다." 당신의 말이 어쩐지 들리는군요.

내가 이해하는 한, 우리는 여전히 일부 MQL5 코드에 대해 이야기하고 있습니까? - 이 언어로 공개 코드를 작성하지 않았으며 기성 솔루션만 사용합니다.

글쎄, 당신의 성능에 대해 - 모든 언어는 항상 라이브러리로 "무거워집니다", 라이브러리 개발자는 종종 단순한 사용자 프로그래머이지만, 그렇다고 해서 이러한 라이브러리가 대중화되고 매우 높은 품질로 만들어지는 것을 막지는 못합니다. MQL "sandbox" - GitHub에서 산책하기

 
Vladimir Karputov :

직접적인 유추는 없습니다. 포지션은 거래로 구성됩니다. 특정 포지션에 대한 정확한 데이터를 원하면 먼저 거래 내역에서 포지션을 다시 수집해야 합니다.

따라서 "거래"라는 개념으로 작업하는 것이 좋습니다.

일반적으로 구현은 "왜?"라는 질문에 대한 대답에 크게 의존합니다. 즉, 먼저 원하는 것과 그 이유를 정확히 설명하십시오.

거래의 이익을 포인트로 얻으십시오. MT4에서는 다음과 같이 수행되었습니다.

( OrderClosePrice() - OrderOpenPrice() )/ Point ;
 
secret :

거래의 이익을 포인트로 얻으십시오. MT4에서는 다음과 같이 수행되었습니다.

TRANSACTION의 수익은 받을 수 없습니다. 거래는 다음과 같을 수 있습니다.

ENUM_DEAL_TYPE - 거래 유형

ENUM_DEAL_TYPE

식별자

설명

DEAL_TYPE_BUY

구입

DEAL_TYPE_SELL 판매

***


닫힌 POSITION에 대한 정보를 얻어야 합니다(완전한 위치는 최소한 두 개의 TRANSACTIONS: 진입 및 퇴장으로 구성됨). 이를 위해:

  • 거래 내역을 통해 거래 내역에서 포지션을 수집하고 유효성을 확인합니다(포지션은 TRADES에서 수집할 수 있음을 상기시킵니다) - DEAL_POSITION_ID 거래 속성을 사용하십시오.
여기에서 제어 단어는 "거래 내역에서 포지션을 수집하고 그 유용성을 확인하십시오"입니다.
 
Vladimir Karputov :

분명한. 감사합니다) MT5에서 매우 이상한 용어입니다.

왜 개발자들은 기성품 위치 속성 을 역사에 만들지 않았는지 궁금합니다. MT4에 있었습니다.

 
secret :

분명한. 감사합니다) MT5에서 매우 이상한 용어입니다.

왜 개발자들은 기성품 위치 속성 을 역사에 만들지 않았는지 궁금합니다. MT4에 있었습니다.

그들이 그것을 한 것은 매우 좋습니다. 모든 위치에 대한 전체 변경 내역에 액세스할 수 있습니다. 4에서는 모든 것이 영장에 버려집니다. 영장은 집행하라는 명령일 뿐입니다. 상위 5위 안에는 주문-거래-포지션이 있습니다.
사유: