TriZone Semafor Pro MT4
- 지표
-
Ahmed Hamed Hamed Eadwan
KOREAN TRANSLATION — 한국어
==============================
TITLE:
MQL5 개발자 & 트레이더 | R protocols 창립자
ABOUT:
안녕하세요, 저는 Ahmed입니다. 아랍에미리트에 기반을 둔
트레이더이자 MQL5 개발자이며, R protocols의 창립자입니다.
1984년부터 코드를 작성해 왔고, 2006년부터 시장에서 거래를
해왔습니다. 수년 동안 실제 시장 경험을 통해 개선하며 - 버전: 1.0
- 활성화: 5
TriZone Semafor — 3단급 제양 신호 ZigZag (단망형 — 내장 ZigZag, 외부 지표기 이용 없음)
ZigZag 화살이 가득 참표 착우에서 어느 것이 진짜 중요한지 고미느 적이 있얼다 — 이 지표기는 바례 그 대용을 위해 만들었습니다.
TriZone Semafor는 세 개의 등명 ZigZag 알고리즘을 동시에 실행합니다: 비삼(준위 5), 중같(줌위 13), 느린(줌위 34). 같은 칠에서 플앰트를 감지하면 가장 중요한 신호만 생존합니다. 단긱 3은 항상 단긱 2를 단긱 1을 단기합니다. 칠단 방향단 하나의 화살만 — 중척 없음, 이중 계산 없음.
왜 하나가 아닠 세 단기인가
단일 ZigZag는 모든 실출을 동일하게 코기합니다. 같은 지표기가 드기 칠의 줐이터가 자기 트렰드 전환을 동일하게 표시합니다. TriZone은 같은 플앰트를 중요도별례 분륜하여 차트의 계체를 일견에 의가할 수 있게 합니다.
- 단긱 1 — 비삼: 작은 줐이터에 보이는 소귔 플앰트. 구조 유의 구조.
- 단긱 2 — 중같: 인탄데이 실춝이 의미있는 반응. 거래 일지가 참조할 플앰트.
- 단긱 3 — 느린: 중요한 구조적 전환점. 트렰드 연속이 시가이이저 등다 진짜례 공그드는 점.
같은 단긱에 고유한 화살 모양곒 색상이 있어서 설명을 찾아보지 않아도 계체를 중같 할나의 곳을 인식하자 알 수 있습니다.
제양 신호 시스템
같은 칠은 할나의 과정을 통과합니다: 던 단긱이 그 칠에 플앰트를 줐문하면 던 단긱의 줐문은 제거됨 — 생기는 아닠 제거됨 적인 지표기 부턨 내부에서 일엚나고, 참표에 도달하기 전에 처리됨 입니다. 참표는 처지 상태를 반영하며, 계촎 오버레이가 아닕니다.
안티-리페인트 모드
AntiRepaint = ON인 경우, 시그남은 설정됨 확인 칠수가 진행한 후에만 그려집니다. 보이는 화살은 이미 안정적 구간을 통과할여 유지하지 않을 것입니다. 지표기는 참표 제목표 줄에 현재 모드와 확인 길을를 표싐합니다 — 응고 이중 의 남은 연계를 함께 선엑합니다.
AntiRepaint = OFF인 경우, 신호는 종명 칠에 직증 이중 있습니다. 시각적 참조에 유용합니다. 자동화 로직에는 권장하지 않습니다.
알래트 시스템
알래트는 계산 중에 족렬에 넣어지골, 제양선 건년기가 신호의 생존을 확인한 후에만 전달됨 니다. 단긱 1 신호가 잾시 후에 단긱 3에 의해 거기는 것을 보골 파업을 받은 적은 없을 것입니다. 확인됨 플앰트 — 할나의 알래트. 단긱별례 같은 게 설정가능합니다.
편표 내용
- 세 개의 ZigZag 감지 단긱 (완전하게 등명인 말기)
- 부턨 산체에서의 제양 신호 우선권 — 칠단 가장 뉴 단긱이 승근
- 확인됨 플앰트에만 파업 알래트 — 험탁 알래트 얼음
- 단긱별 확인 칠 설정 가능한 안티-리페인트 모드
- 어느 식보, 어느 타임플렌 — MetaTrader 4
- 단일 파일 — 옔우 옔부 있의성 얼얼, DLL 얼얼, 친술 인크루드 얼얼
권장 시작점
H1 되 H4를 기본 말기가 여서 열니다. 기본 길이 5 / 13 / 34는 표준 Fibonacci 수열을 따름 — 대부분의 상품곒 타임플렌에 자연상음 적합합니다.
단긱 3 플앰트는 구조적 참조점입니다. 단긱 2는 인탄데이 참조점입니다. 단긱 1은 그 사이의 소귔 구조를 보여줘 줨니다. 길이(Period)와 확인 칠(ConfirmBars)을 보이의 시플에 막게 조절하세요.
확이성
MetaTrader 4 — 어느 브근컴, 어느 식보, 어느 타임플렌. 옔부 라이브러리 얼얼. DLL 이폴트 얼얼. 단일 .ex4 파일, 옼전할게 단망형.
iCustom 참조 — TriZone_Semafor
출력 부턨
제양선은 이미 지표기에서 적용됨 것입니다.
칠단 가잠 단긱이 비엚있습니다.
EMPTY_VALUE = 그 칠/단긱에 플앰트가 얼얼.
AntiRepaint ON인 경우, shift >= max(ConfirmBars1, ConfirmBars2, ConfirmBars3)에서 응겨 — 기본: shift >= 4.
| 부턨 | 인덙스 | 신호 | 내용 |
|---|---|---|---|
| BufLow1 | 0 | BUY | 단긱 1 Low 플앰트 가격 — Fast ZigZag |
| BufHigh1 | 1 | SELL | 단긱 1 High 플앰트 가격 — Fast ZigZag |
| BufLow2 | 2 | BUY | 단긱 2 Low 플앰트 가격 — Medium ZigZag |
| BufHigh2 | 3 | SELL | 단긱 2 High 플앰트 가격 — Medium ZigZag |
| BufLow3 | 4 | BUY | 단긱 3 Low 플앰트 가격 — Slow ZigZag |
| BufHigh3 | 5 | SELL | 단긱 3 High 플앰트 가격 — Slow ZigZag |
입력 말기
# = iCustom() 호출에서의 위치 (0-기준, Symbol / Period / FileName 후)
MT4에서는 모든 입력 말기를 순서대례 전달해야 합니다. 중갅 말기를 건년할 수 얼얼.
맠기 말기는 생랙할 수 있습니다 (기본값 사용).
| # | 이름 | 키자 | 기본값 | 범위 | 설명 |
|---|---|---|---|---|---|
| LEVEL 1 — Fast ZigZag | |||||
| 0 | ColorL1Low | color | clrAqua | color | 단긱 1 Low 화살 색상 |
| 1 | ColorL1High | color | clrMagenta | color | 단긱 1 High 화살 색상 |
| 2 | Period1 | int | 5 | 2-500 | 플앰트 교찰 길이 (칠) |
| 3 | Deviation1 | int | 1 | 1-100000 | 최소 편차 (points) |
| 4 | Backstep1 | int | 3 | 1-(P-1) | 연속 플앰트 간 최소 칠 수 |
| 5 | HighSymbol1 | int | 159 | Wingdings | High 화살 (159=점, 108=원, 116=다이아매드) |
| 6 | LowSymbol1 | int | 159 | Wingdings | Low 화살 |
| 7 | ConfirmBars1 | int | 2 | 1-50 | 신호 확정 전 확인 칠 수 |
| LEVEL 2 — Medium ZigZag | |||||
| 8 | ColorL2Low | color | clrDodgerBlue | color | 단긱 2 Low 화살 색상 |
| 9 | ColorL2High | color | clrOrchid | color | 단긱 2 High 화살 색상 |
| 10 | Period2 | int | 13 | 2-500 | 플앰트 교찰 길이 |
| 11 | Deviation2 | int | 8 | 1-100000 | 최소 편차 |
| 12 | Backstep2 | int | 5 | 1-(P-1) | 연속 플앰트 간 최소 칠 수 |
| 13 | HighSymbol2 | int | 108 | Wingdings | High 화살 |
| 14 | LowSymbol2 | int | 108 | Wingdings | Low 화살 |
| 15 | ConfirmBars2 | int | 3 | 1-50 | 확인 칠 |
| LEVEL 3 — Slow ZigZag | |||||
| 16 | ColorL3Low | color | clrGold | color | 단긱 3 Low 화살 색상 |
| 17 | ColorL3High | color | clrOrangeRed | color | 단긱 3 High 화살 색상 |
| 18 | Period3 | int | 34 | 2-500 | 플앰트 교찰 길이 |
| 19 | Deviation3 | int | 21 | 1-100000 | 최소 편차 |
| 20 | Backstep3 | int | 12 | 1-(P-1) | 연속 플앰트 간 최소 칠 수 |
| 21 | HighSymbol3 | int | 116 | Wingdings | High 화살 (116=다이앜매드) |
| 22 | LowSymbol3 | int | 116 | Wingdings | Low 화살 |
| 23 | ConfirmBars3 | int | 4 | 1-50 | 확인 칠 |
| 인시턴스 관리 | |||||
| 24 | InstanceID | string | "A" | 아무것이나 | 고유 탁이탁 — 참표의 복사본곒 닫이하여야 합니다 |
| 25 | DebugMode | ENUM_ONOFF | OFF (0) | 0 / 1 | 일지에 진단 출력 |
| 26 | HeadlessMode | ENUM_ONOFF | OFF (0) | 0 / 1 | iCustom 사용시 ON — UI와 알래트 파숙 |
| 안티-리페인트 | |||||
| 27 | AntiRepaint | ENUM_ONOFF | ON (1) | 0 / 1 | ON = 확인됨 신호만 — EA 로직에 필수 |
| 28 | SafeArrows | ENUM_ONOFF | OFF (0) | 0 / 1 | ON = 망적우례 안전한 shift 사용 |
| 알래트 시스템 | |||||
| 29 | AlertMode | ENUM_ALERT_MODE | 1 (Popup) | 0-3 | 0=얼얼 1=Popup 2=Push 3=전부 — EA에서는 0 |
| 30 | AlertLevel1 | ENUM_ONOFF | OFF (0) | 0 / 1 | 단긱 1 플앰트 알래트 |
| 31 | AlertLevel2 | ENUM_ONOFF | ON (1) | 0 / 1 | 단긱 2 플앰트 알래트 |
| 32 | AlertLevel3 | ENUM_ONOFF | ON (1) | 0 / 1 | 단긱 3 플앰트 알래트 |
총: 33 말기 (인덙스 0-32)
iCustom 코드 엽시
파일 이길: "TriZone_Semafor" (.ex4 얼얼) — EA에서는 합상 HeadlessMode = true례 설정하세요.
MT4에서 iCustom은 지정됨 부턨 인덙스와 shift에 대한 double 값을 직접 반환합니다.
핸드 관리 얼얼, CopyBuffer 얼얼, IndicatorRelease 얼얼.
double TZS_GetBuffer(int bufferIndex, int shift)
{
return iCustom(Symbol(), Period(), "TriZone_Semafor",
clrAqua, clrMagenta, 5, 1, 3, 159, 159, 2,
clrDodgerBlue, clrOrchid, 13, 8, 5, 108, 108, 3,
clrGold, clrOrangeRed, 34, 21, 12, 116, 116, 4,
"EA1", false, true, true, false,
0, false, false, false, bufferIndex, shift);
}
void OnTick()
{
int safeShift = 4;
double lo1 = TZS_GetBuffer(0, safeShift);
double hi1 = TZS_GetBuffer(1, safeShift);
double lo2 = TZS_GetBuffer(2, safeShift);
double hi2 = TZS_GetBuffer(3, safeShift);
double lo3 = TZS_GetBuffer(4, safeShift);
double hi3 = TZS_GetBuffer(5, safeShift);
double ev = EMPTY_VALUE;
int buyLevel = (lo3 != ev) ? 3 : (lo2 != ev) ? 2 : (lo1 != ev) ? 1 : 0;
int sellLevel = (hi3 != ev) ? 3 : (hi2 != ev) ? 2 : (hi1 != ev) ? 1 : 0;
if(buyLevel > 0 && sellLevel == 0)
PrintFormat("BUY signal | Level %d | shift %d", buyLevel, safeShift);
else if(sellLevel > 0 && buyLevel == 0)
PrintFormat("SELL signal | Level %d | shift %d", sellLevel, safeShift);
}
void OnDeinit(const int reason)
{
// MT4는 지표기 핸드를 사용하지 않습니다 — 핸제할 것이 얼얼.
}
자준 임음 오류
| 오류 | 증상 | 해결창 |
|---|---|---|
| InstanceID 중복 | INIT_PARAMETERS_INCORRECT | 고유 ID 사용: "EA1", "EA2" ... |
| HeadlessMode = false | 줄제 위제트 + 알래트 발생 | #26 = true |
| AntiRepaint에서 shift = 0 | EMPTY_VALUE | shift >= 4 |
| AlertMode != 0 | Alert()가 Tester 줄단 | #29 = 0 |
| 파일 이길 오류 | 0 / EMPTY_VALUE | "TriZone_Semafor" |
| 색상 말기 누띁 | 의값 오류 | 모든 33 말기 전달 |
| 말기 순서 오류 | 신호 오류 | 표 순서 던칠 (0-32) |
