기고글 토론 "MQL5 Cookbook: 지표를 사용하여 Expert Advisor의 거래 조건 설정"

 

새로운 기고글 MQL5 Cookbook: 지표를 사용하여 Expert Advisor의 거래 조건 설정 가 게재되었습니다:

이 글에서는 MQL5 Cookbook 시리즈의 이전 글에서 작업한 Expert Advisor를 계속 수정할 것입니다. 이번에는 Expert Advisor가 포지션 개방 조건을 확인하는 데 사용할 값의 지표로 향상됩니다. 재미를 더하기 위해 외부 매개변수에 드롭다운 목록을 만들어 세 가지 거래 지표 중 하나를 선택할 수 있습니다.

MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors

작성자: Anatoli Kazharski

 

아나톨리, 기사 감사합니다! MQL5 레시피 접근 방식이 매우 성공적이라고 생각합니다...

몇 가지 질문과 의견이 있습니다. 그리고 그들은 오히려 개발자에게 지시됩니다.

기사에서 :

"...Напомню, для режима исполнения Market Execution открыть позицию сразу с установленными уровнями Stop Loss и Take Profit не получится: нужно сначала открыть позицию, а потом уже модифицировать ее, установив эти уровни..."

그리고 말 그대로 바로:

빌드 803부터 시장가 체결 및 교환 체결 체결 유형의 경우 포지션을 열 때 손절매 및 이익실현 수준을 설정할 수 있습니다.

마지막 단락이 이전 단락의 의미를 취소한다는 것을 이해합니다.... 그렇다면 왜 이 정보가 처음에 "메타트레이더 5 클라이언트 터미널 빌드 803" 변경사항 목록에 포함되지 않았나요? 그리고 문서에 없는 이유는 무엇입니까?

 
denkir:
마지막 단락이 이전 단락의 의미를 취소한다는 것을 이해합니다.... 그렇다면 왜이 정보가 원래 "MetaTrader 5 클라이언트 터미널 빌드 803" 의 변경 목록에 포함되지 않았습니까? 그리고 문서에 없는 이유는 무엇입니까?

어떤 이유로 뉴스에 언급되지 않았지만이 기사에서 각주를 제공하기로 결정했습니다.

문서를 수정하겠습니다.

 
Rosh:

어떤 이유로 뉴스에는 언급되지 않았지만 이 문서에 각주를 달기로 결정했습니다.

문서가 수정될 예정입니다.

MT4에 관해서는?
 
Rosh:

어떤 이유로 뉴스에는 언급되지 않았지만 이 문서에 각주를 달기로 결정했습니다.

문서가 수정될 예정입니다.

감사합니다.

그리고 지나가면서 처리하십시오:

1) 방법

bool CTrade::FillingCheck(const string symbol)


2) 도구에 특정 모드가 허용되는지 여부 (SYMBOL_FILLING_ALL_OR_NONE, SYMBOL_CANCEL_REMAIND, SYMBOL_RETURN_REMAIND ).

2) 항목은 브로커에서 사용자 지정할 수 있다고 알고 있습니다.... 문서에서 지정하는 것이 합리적일까요?

내 이해가 틀렸다면 2) 항목에 대한 질문이 취소됩니다 ...


 
denkir:

2) 항목은 브로커가 사용자 지정할 수 있다고 알고 있습니다..... 문서에 명시하는 것이 합리적일까요?

문서에 "항목 2)는 브로커가 사용자 지정할 수 있다"고 명시하는 것이 좋을까요?

 
sergeev:

문서에 "포인트 2)는 브로커가 사용자 지정할 수 있다"고 명시되어 있습니까?

왜 그런지... 하지만 다른 브로커에서 동일한 유형의 계정 (고정 스프레드, FOK 실행)에 대해 함수가 다른 값을 반환 할 수 있다는 것을 알았 기 때문입니다.

SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);

다른 값을 반환 할 수 있습니다...

 
denkir:

음-흠.

그 이유가 명확하지 않습니다.

사실 거래 관련 문서의 모든 페이지에 "브로커별 맞춤 설정 가능"이라는 문구가 적혀 있어야 합니다 :)

하지만 질문하신 것은 브로커가 아니라 심볼에 대한 질문입니다.

하나의 심볼은 시장 실행이고 두 번째 심볼은 증권 거래소 심볼입니다.

그들은 다른 조건, 다른 유형의 채우기 및 기타 많은 것들을 가지고 있습니다.

그렇기 때문에 거래 환경의 상태를 폴링하는 모든 기능이 제공됩니다.

 

sergeev:

...하지만 질문하신 내용은 브로커가 아니라 심볼과 관련된 것입니다.

하나의 심볼은 시장 실행이고 다른 하나는 증권 거래소 심볼입니다.

그들은 다른 조건, 다른 유형의 채우기 및 기타 많은 것들을 가지고 있습니다 ...


세르게이프, 아까 내가 쓴 글에 주의를 기울이지 않았군요 :

...하지만 다른 브로커에서 동일한 유형의 계정 (고정 스프레드, FOK 실행)을 발견했기 때문에....


간단한 스크립트를 스케치했습니다. 여기에는 다른 브로커의 EURUSD 기호에 대한 다음 정보가 있습니다:


브로커 "A":

NQ    0    22:39:37    test_symbol (EURUSD,H1)    Число знаков после запятой: 4
GI    0    22:39:37    test_symbol (EURUSD,H1)    Плавающий спред: 1
KQ    0    22:39:37    test_symbol (EURUSD,H1)    Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT
OK    0    22:39:37    test_symbol (EURUSD,H1)    Режим заливки оредеров: 1
DS    0    22:39:37    test_symbol (EURUSD,H1)    Путь в дереве символов: Forex\EURUSD


브로커 "B":

ON    0    22:45:00    test_symbol (EURUSD,H1)    Число знаков после запятой: 4
EQ    0    22:45:00    test_symbol (EURUSD,H1)    Плавающий спред: 0
RN    0    22:45:00    test_symbol (EURUSD,H1)    Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT
LS    0    22:45:00    test_symbol (EURUSD,H1)    Режим заливки оредеров: 3
OK    0    22:45:00    test_symbol (EURUSD,H1)    Путь в дереве символов: Forex-Fix\EURUSD


동일한 거래 체결 모드에서 다른 주문 체결 모드가 있음을 알 수 있습니다. 예, 스프레드 모드가 다릅니다 (브로커가 동일한 유형의 계정을 가지고 있다고 말할 때 놓쳤습니다).... 질문, 모드 (거래 체결 및 주문 체결)가 어떻게 든 연결되어 있습니까?

//+------------------------------------------------------------------+
//|test_symbol.mq5 |
//| Copyright 2013, MetaQuotes Software Corp.
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

#define  SymInt SymbolInfoInteger 
#define  SymS SymbolInfoString 

string _symbol="EURUSD";
//+------------------------------------------------------------------+
//| 스크립트 프로그램 시작 기능|
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 1) SymbolInfoInteger()
   long symb_digits=SymInt(_symbol,SYMBOL_DIGITS);
   PrintFormat("소수점 이하 자릿수: %u",symb_digits);
   bool symb_spread_float=SymInt(_symbol,SYMBOL_SPREAD_FLOAT);
   PrintFormat("유동 스프레드: %d",symb_spread_float);
   string trade_mode=EnumToString((ENUM_SYMBOL_TRADE_EXECUTION)SymInt(_symbol,SYMBOL_TRADE_EXEMODE));
   PrintFormat("트랜잭션 모드: %s",trade_mode);
   long fil_mode=SymInt(_symbol,SYMBOL_FILLING_MODE);
   PrintFormat("오더 채우기 모드: %u",fil_mode);
//--- 2) SymbolInfoString()
   string path=SymS(_symbol,SYMBOL_PATH);
   PrintFormat("문자 트리 경로: %s",path);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
denkir:

(거래하기와 오더하기) 모드가 어떤 식으로든 관련이 있나요?

아니요, 물론 아닙니다.

그리고 만료 시간과 수익 계산 방식도 "거래하기" 모드와 관련이 없습니다.

 

아주 좋은 기사입니다.

하지만 손상된 것 같은 Zip 파일을 다운로드하는 데 어려움이 있습니다.