당사 팬 페이지에 가입하십시오
- 조회수:
- 112
- 평가:
- 게시됨:
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
열려 있는 차트 사이에 그래픽 개체를 복사하여 붙여넣어야 했던 적이 있나요? 그런 적이 있을 겁니다. 놀랍게도 메타트레이더는 개체에 대한 "복사 및 붙여넣기" 기능을 제공하지 않습니다. 다소 유사한 효과를 얻을 수 있는 유일한 방법은 템플릿(tpl 파일)입니다. 그러나 템플릿은 지표, 설정 및 필수 복제 절차에 불필요하거나 관련이 없는 보조 항목을 포함한 전체 차트 상태를 저장합니다.
그래서 이 인디케이터 ChartObjectsCopyPaste.mq5를 개발했습니다. 이 지표는 선택한 개체를 클립보드에 복사하여 다른 차트에 붙여넣을 수 있도록 합니다. 아무런 조건이 없습니다.
이 보조지표는 보조지표 책에 게시된 다른 보조지표인 ObjectGroupEdit.mq5를 기반으로 합니다.
링크를 따라 백그라운드에서 작동하는 모든 기본 클래스(ObjectMonitor, MapArray 등)에 대해 자세히 알아보세요.
이 표시기에는 버퍼가 없습니다. 개체를 복사하려는 소스 차트와 붙여넣으려는 대상 차트 등 최소 2개의 차트에 첨부해야 합니다.
차트에서 실행하는 동안 표시기는 기존 그래픽 개체를 추적하고 어떤 개체가 선택되었는지를 기록합니다.
일반적인 '복사 및 붙여넣기' 명령은 쌍으로 작동합니다:
- Ctrl+Q 단축키를 눌러 선택한 모든 개체를 Windows 클립보드에 텍스트로 복사합니다(모든 텍스트 편집기에서 저장하고 볼 수 있으며, 아래 예시를 참조하세요).
- 대상 차트에서 Ctrl+J를 눌러 클립보드의 모든 개체를 붙여넣습니다.
왜 Ctrl+Q/Ctrl+J인가? 이는 극소수에서 자발적으로 선택한 두 가지 빈 키 조합입니다. 이는 메타트레이더가 많은 단축키를 가로채서 MQL 프로그램에 전파하지 않기 때문입니다. 특히 이 컨텍스트에서는 작동하지 않는 표준 Ctrl+C/Ctrl+V/Ctrl+Ins/Shift+Ins의 경우 더욱 그렇습니다.
소스 코드를 사용할 수 있으므로 단축키를 다른 조합으로 변경할 수 있습니다.
표시기는 시스템 DLL을 사용하여 Windows 클립보드에 액세스하므로 종속성 탭의 속성 대화 상자에서 DLL 가져오기를 허용해야 합니다.
코드베이스에서 DLL 가져오기를 허용하지 않기 때문에 클립보드 코드와 관련된 내용은 조건부 전처리기 지시어 #ifdef DLL_LINK로 래핑되므로 다음 줄의 주석 처리를 해제하세요.
#define DLL_LINK
줄을 주석 처리하세요. 그렇지 않으면 클립보드 함수 스텁에 단축키 누름에 대한 알림이 표시되고 실제 동작은 수행되지 않습니다!
- MakeAllSelectable - 모든 개체를 선택할 수 있게 하는 플래그입니다(프로그래밍 방식으로 만든 개체의 경우 일반적으로 거짓입니다);
- LogDetails - 전송된 객체의 모든 속성을 로그에 출력하는 플래그입니다;
다음은 2개의 개체가 있는 클립보드 텍스트의 예입니다:
OBJ_VLINE H1 Vertical Line 5578 0 0 enum ENUM_OBJECT_PROPERTY_INTEGER 0 OBJPROP_COLOR 55295 1 OBJPROP_STYLE 2 2 OBJPROP_WIDTH 1 3 OBJPROP_BACK 0 4 OBJPROP_SELECTED 1 7 OBJPROP_TYPE 0 8 OBJPROP_TIME 1726739940 10 OBJPROP_SELECTABLE 1 11 OBJPROP_CREATETIME 1726847009 12 OBJPROP_TIMEFRAMES 2097151 200 OBJPROP_LEVELS 0 207 OBJPROP_ZORDER 0 208 OBJPROP_HIDDEN 0 1032 OBJPROP_RAY 1 enum ENUM_OBJECT_PROPERTY_DOUBLE 9 OBJPROP_PRICE 1.11449 enum ENUM_OBJECT_PROPERTY_STRING 5 OBJPROP_NAME H1 Vertical Line 5578 6 OBJPROP_TEXT 206 OBJPROP_TOOLTIP OBJ_CHANNEL H1 Equidistant Channel 40885 5 1 enum ENUM_OBJECT_PROPERTY_INTEGER 0 OBJPROP_COLOR 255 1 OBJPROP_STYLE 0 2 OBJPROP_WIDTH 1 3 OBJPROP_BACK 0 4 OBJPROP_SELECTED 1 7 OBJPROP_TYPE 5 8 OBJPROP_TIME 1726758000 8 OBJPROP_TIME.1 1726797600 8 OBJPROP_TIME.2 1726758000 10 OBJPROP_SELECTABLE 1 11 OBJPROP_CREATETIME 1726847883 12 OBJPROP_TIMEFRAMES 2097151 200 OBJPROP_LEVELS 0 207 OBJPROP_ZORDER 0 208 OBJPROP_HIDDEN 0 1003 OBJPROP_RAY_LEFT 0 1004 OBJPROP_RAY_RIGHT 0 1031 OBJPROP_FILL 0 enum ENUM_OBJECT_PROPERTY_DOUBLE 9 OBJPROP_PRICE -28.113879003558715 9 OBJPROP_PRICE.1 -21.708185053380777 9 OBJPROP_PRICE.2 -48.04270462633452 enum ENUM_OBJECT_PROPERTY_STRING 5 OBJPROP_NAME H1 Equidistant Channel 40885 6 OBJPROP_TEXT 206 OBJPROP_TOOLTIP
다음은 차트에 붙여넣은 개체입니다:

MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/52263
지그재그 보정 도구
지그재그 인디케이터로 확인된 강세 및 약세 기간을 브이라인으로 쉽게 시각화할 수 있습니다. 지그재그 표시를 제어하여 차트의 시작 또는 특정 수의 막대에서 시작하도록 선택할 수 있으며, 고점 또는 저점의 가격, 과거 기간의 방향 및 진폭을 핍 단위로 표시하는 레이블 표시도 제어할 수 있습니다. 물론 메인 창뿐만 아니라 하위 창에서도 작동합니다. 경고!!! 이것은 지표를 이해하고 보정하고 전략을 개발하는 데 도움이 되지만 직접 사용하기위한 것이 아닙니다. DeepL.com (무료 버전)으로 번역되었습니다.
iBeta
두 심볼의 공분산, 상관관계 및 베타 계수를 나타내는 지표입니다.