기고글 토론 "초보자를 위한 MQL5 Expert Advisor 코드 작성 가이드" - 페이지 30

 
timmytrade #:

테스터 - "지원되지 않는 채우기 모드"

3개의 다른 브로커에서 시도했습니다. 무엇이 문제인가요?

SYMBOL_FILLING_FOK를 SYMBOL_FILLING_IOC로 바꾸어 보세요.

안부, 블라디미르.

 
안녕하세요 사무엘, 귀하의 기사는 훌륭합니다. 2010.01.01-2010.07.01 및 2017.01.01-2017.07.01에 EUR/US H2 통화 쌍으로 테스트했기 때문에 지표 이동 평균 및 ADX를 사용하는 기술은 훌륭합니다. 훌륭합니다. 허머 행잉맨 + 스토캐스틱 인디케이터를 사용하는 것보다 낫습니다. 그리고 ThreeEMA 인디케이터보다 낫습니다. 고마워요. 이제 코드를 작업 중입니다.
 
mirac baver ozturk #:

안녕하세요, 여러분(특히 저자 여러분)

저는 이 글과 함께 코딩을 했습니다. 나는 그것을 많이 즐겼고 그것으로부터 많은 것을 배웠습니다.

유익한 기사를 작성해 주셔서 감사합니다.

하지만 문제가 있습니다. 내 EA가 주문을 하지 않았습니다. 작성자의 코드를 다운로드했지만 주문도 하지 않았습니다.

기사가 13년이 되었기 때문에 코드가 이제 구식이라고 생각합니다. 누구든지 도와줄 수 있나요?

내 코드는 아래 파일에 있습니다. 미리 감사드립니다.

이 코드는 이미 작동합니다.
 

번역되지 않은 영어 페이지에서 올바른 다운로드 페이지를 방문하세요.

이 페이지에서 다운로드: 초보자를 위한 MQL5 전문 어드바이저 작성을 위한 단계별 가이드 - MQL5 문서

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

 

여러분 안녕하세요;

하단의이 기사에서 다운로드 할 전체 코드 mlq5가 있습니다.

기능을 확인하기 위해 다운로드했는데 프로그램에 잘못된 알고리즘이 있음을 발견했습니다.

설정은 EURUSD, M1,100USD는 2025/01/01 ~ 2025/01/31에 시작됩니다.

첫 주문은 매도 주문이고 나중에 많은 매수 주문이 있습니다.

개념은 주문이 하나만 있어야하지만 165 줄에서 발생합니다.

지금 주문이 있었는지 여부를 확인하는 플래그는 2개의 플래그 변수(Buy_opned, Sell_opened)로 구분됩니다.

현재 이미 매도 주문이 있는 경우 216번째 줄(주문종료)에서 새로운 매수 주문이 발생해도 매도 주문이 있는 것으로 간주합니다.

다음 캔들을 기다립니다 172 줄의 명세서에서 Buy_open 플래그를 다시 켜짐으로 설정할 수 없습니다. 첫 번째 주문은 매도, 두 번째 주문은 매수이기 때문입니다.

그리고 예 다음 캔들 다시 216 줄에 매수 주문 (주문 종료)이 발생하고 돈이 없을 때까지 많은 주문 매수 주문이 발생합니다.

여기 차트를 참조하십시오.



주문 목록을 참조하십시오.


감사합니다.

니와스 제암푸에.

 
Niwath Jeamphue #:

여러분께;

하단의 이 기사에서 다운로드할 수 있는 전체 코드 mlq5가 있습니다.

기능을 확인하기 위해 다운로드했는데 프로그램에 잘못된 알고리즘이 있음을 발견했습니다.

설정은 EURUSD, M1,100USD 2025/01/01 ~ 2025/01/31에 시작됩니다.

첫 번째 주문은 매도 주문이고 나중에 많은 매수 주문이 있습니다.

개념은 주문이 하나만 있어야 하지만 165번째 줄부터 발생해야 합니다.

이제 주문이 있었는지 여부를 확인하는 플래그는 2개의 플래그 변수(Buy_opned, Sell_opened)로 분리되어 있습니다.

지금 이미 매도 주문이 있는 경우 216번째 줄(주문종료)에서 지금이 매도 주문인 경우에도 새로운 매수 주문을 생성합니다.

다음 캔들을 기다립니다 172 줄의 명세서에서 Buy_open 플래그를 다시 켜짐으로 설정할 수 없습니다. 첫 번째 주문은 매도, 두 번째 주문은 매수이기 때문입니다.

그리고 네 다음 캔들 다시 216 줄에 매수 주문 (주문 종료)이 발생하고 돈이 없을 때까지 많은 주문 매수 주문이 발생합니다.

여기 차트를 참조하십시오.



주문 목록을 참조하세요.


감사합니다.

니와스 제암푸에.

포지션 선택(_심볼)은 네팅 계좌를 사용하지 않는 한 사용해서는 안 됩니다.

헤징 계좌에서는 PositionGetTicket() 또는 PositionSelectByTicket()을 사용하여 포지션을 올바르게 선택해야 합니다. 설명서를 확인하세요.

 
Alain Verleyen #:

포지션 선택(_심볼)은 네팅 계좌를 사용하지 않는 한 사용해서는 안 됩니다.

헤징 계좌에서는 포지션GetTicket() 또는 포지션선택별티켓()을 사용하여 포지션을 올바르게 선택해야 합니다. 설명서를 확인하세요.

의견 주셔서 감사합니다. 하지만 소스 코드는 이 문서에서 최종 완성된 것임을 알려드리고 싶습니다.

https://www.mql5.com/ko/articles/download/100/my_first_ea.mq5

직접 시도해 보시면 제 요점을 이해하실 것입니다.

감사합니다.

 
Niwath Jeamphue #:

의견을 보내주셔서 감사합니다. 하지만 소스 코드는 이 글의 최종 완성본이라는 점을 말씀드리고 싶습니다.

https://www.mql5.com/ko/articles/download/100/my_first_ea.mq5

직접 시도해 보시면 제 요점을 이해하실 것입니다.

감사합니다.

이 기사는 2010년에 작성된 것으로, 당시에는 외환을 포함한 모든 계좌가 MT5에서 네팅 계좌였습니다.

2016년에 도입된 헤징 계좌: https: //www.mql5.com/en/articles/2299

MetaTrader 5 features hedging position accounting system
MetaTrader 5 features hedging position accounting system
  • 2016.03.21
  • www.mql5.com
In order to expand possibilities of retail Forex traders, we have added the second accounting system — hedging. Now, it is possible to have multiple positions per symbol, including oppositely directed ones. This paves the way to implementing trading strategies based on the so-called "locking" — if the price moves against a trader, they can open a position in the opposite direction.
 

Niwath Jeamphue #:

직접 사용해 보시면 제 관점을 이해하실 수 있을 것입니다.

감사합니다.

안녕하세요. 귀하의 관점을 이해합니다. 첨부 파일에서 전문가 어드바이저의 소스 코드를 변경하여 네팅 또는 헤지 등 어떤 계좌를 사용하든 하나의 포지션 만 열리도록했습니다.

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

파일:
 
MrBrooklin #:

안녕하세요. 귀하의 관점을 이해합니다. 첨부 파일에서 어떤 계좌(네팅 또는 헤지)를 사용하든 하나의 포지션만 열리도록 Expert Advisor의 소스 코드를 변경했습니다.

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

헤지 계좌 ,MrBrooklin . 감사합니다. 그러나 나는 많은 주문이 아닌 주문 만받는 것을 선호합니다.

나는 원래에서 알고리즘을 변경했습니다.

매수 및 매도 오픈 플래그 지우기

만약 (포지션선택(_심볼)==true)

매수 포지션이 발견되면 Buy_opened 플래그 설정

그렇지 않으면 매도 포지션인 경우 매도_개설 플래그 설정

Zone1 : 조건에 따라 매수 주문 개설 시도 및 !.flag Buy_opened 설정

Zone2 : 조건에 따라 매도 주문 개설 시도 및 !플래그 Sell_opened

를 새 알고리즘에 추가하면 이제 정상적으로 작동합니다.

만약 (포지션총계() > 0) 리턴

매수 및 매도 오픈 플래그 지우기

매수 포지션이 발견되면 Buy_opened 플래그를 설정합니다.

그렇지 않으면 매도 포지션인 경우 매도_개시 플래그 설정

Zone1 : 조건에 따라 매수 주문 개설을 시도하고 !플래그 Buy_opened 설정

Zone2 : 조건에 따라 매도 주문 개설 시도 및 !flag 매도_개시됨