펜듈럼 또는 스윙 전략은 로트 크기를 증가시킨 보류 주문의 순차적 개설을 포함합니다. 핵심 원리는 간단합니다: 두 개의 보류 주문이 설정되고,…
Partial Close and Trailing. 롤백 시 부분 청산
Close Minus by Plus, 수익성 있는 포지션을 검색하고 종료하여 손실 포지션을 종료
Table of Contents (click to show)
List
- 설명
- 스타트 스텝 스톱
- Expert Advisor 최적화를 위한 준비
- 최적화를 위한 커스터마이즈 가능한 파라미터
- 블록 1: 트레이드 시그널과 필터
- 블록 2: 신호 옵션
- 블록 3: 포지션 열기 필터 옵션
- 블록 4: 포지션 닫기 옵션
- 블록 5: 대기 주문 옵션
- 블록 6: 거래 옵션
- 블록 7: 스탑 옵션
- 블록 8: 로트 옵션
- 블록 9: 에버레저 옵션
- 블록 10: 추가 개시
- 블록 11: 손실 없이 브레이크이븐 옵션
- 블록 12: 표준 트레일링 옵션
- 블록 13: SAR에 의한 트레일링 스탑
- 블록 14: 시간 거래 옵션
- 블록 15: 이익 또는 손실 시 모두 닫기 옵션
- OnTester_Custom_max 호출 옵션:
- 결론
- 질문이 있으신가요?
설명
The X과 The xCustomEA는 지난 5년 동안 Forex(포렉스) 거래 커뮤니티에서 두드러진 Expert Advisors (EAs)입니다. 이러한 도구들은 customize(커스터마이즈)하고자 하는 트레이더들을 위해 trading strategies(거래 전략)을 설계하고, testing(테스트) 및 optimization(최적화)에 집중하여 성능을 향상시키고 다양한 market conditions(시장 상황)에 적응할 수 있도록 디자인되었습니다.
주요 특징:
- The X: 이 EA는 표준 MetaTrader indicators(인디케이터)를 사용하여 trading strategies(거래 전략)을 생성할 수 있는 포괄적인 strategy builder(전략 빌더)입니다. 20개 이상의 signal options(시그널 옵션)과 다양한 filters(필터)를 포함하고 있어 모든 trading style(거래 스타일)에 적응 가능한 도구입니다.
- The xCustomEA: customization(커스터마이즈)을 한 단계 더 발전시킨 이 EA는 트레이더가 iCustom indicators(인디케이터) (iCustom)를 기반으로 strategies(전략)을 개발할 수 있게 하여 trading strategies(거래 전략)에 더욱 유연성을 제공합니다. 이는 어떤 custom indicator(커스텀 인디케이터)도 automated trading(자동화된 거래)에 통합할 수 있음을 의미합니다.
왜 The X와 The xCustomEA를 선택해야 하나요?
- 다재다능하고 적응력이 뛰어남: 두 advisors(어드바이저) 모두 여러 currency pairs(통화 쌍), timeframes(타임프레임), 및 market conditions(시장 상황)에서 사용할 수 있어 트레이더에게 무한한 strategy development(전략 개발) 가능성을 제공합니다.
- 코딩 불필요: 도구들은 매우 customizable(커스터마이즈 가능)하지만, 프로그래밍 배경이 없는 사람도 쉽게 사용할 수 있도록 설계되었습니다. 단순히 indicators(인디케이터)와 parameters(파라미터)를 선택하고 나머지는 EAs에 맡기면 됩니다.
- 고급 기능: 두 Expert Advisors 모두 dynamic lot sizing(동적 로트 사이징), trailing stops(트레일링 스탑), break-even levels(브레이크이븐 레벨) 등과 같은 고급 기능을 갖추고 있습니다. 초보자든 숙련된 트레이더든, 이 기능들은 정확한 risk management(리스크 관리)와 trade execution(거래 실행)을 가능하게 합니다.
유연성
The X를 사용하면 표준 MetaTrader indicators(인디케이터)에서 strategy(전략)를 만들 수 있지만, The xCustomEA는 custom indicators(커스텀 인디케이터)를 통합하여 trading strategy(거래 전략)를 진정으로 개인화할 수 있는 힘을 제공합니다.
이러한 EAs는 automate(자동화)된 trading strategies(거래 전략)을 구현하고, maximize potential(잠재력 극대화), 그리고 정교한 technical analysis(기술 분석)에 기반한 정보에 입각한 의사 결정을 원하는 모든 사람에게 완벽한 패키지를 제공합니다.
우리는 MT4 및 MT5 터미널에서 Expert Advisors (EAs)의 test(테스트) 또는 optimize(최적화) 방법에 대해 이야기하지 않을 것입니다! 이는 이미 저희 기사에서 논의했습니다: Expert Advisors 테스트 및 최적화.
이 기사에서는 Expert Advisor를 optimize(최적화)하는 몇 가지 방법과 Expert Advisor와 함께 사용할 적절한 functions(함수)를 보여드리겠습니다.
저희는 컴퓨터에서 optimizing(최적화)을 시작할 수 있도록 몇 가지 optimization settings(최적화 설정) 세트를 만들어 두었습니다.
version 18.008부터, MT4 및 MT5 버전 모두에서 동일한 names(이름)을 모든 variables(변수)에 할당했습니다. 이는 한 terminal(터미널)에서 다른 terminal로 configuration files(설정 파일)을 전송할 수 있도록 하기 위해서입니다!
저희는 THE X를 기반으로 한 trading strategies(거래 전략)의 예제를 보여드리겠습니다.
기억하세요: The X 또는 The xCustomEA는 trading strategies(거래 전략)의 디자이너입니다. 다양한 functions(함수)의 조합을 그룹화하고 적용함으로써, 다양한 results(결과)를 달성할 수 있습니다.
기적은 일어나지 않습니다. 저희의 Expert Advisors (EAs)는 Forex(포렉스)에서 거래를 위한 단순한 도구일 뿐입니다. Forex trading(포렉스 거래)는 100% 리스크를 수반합니다!
iCustom 인디케이터에서 사용하는 EA The xCustomEA 유니버설 트레이딩 Expert Advisor (EA)
표준 인디케이터에서 Forex를 위한 The X – 유니버설 Expert Advisor (EA)
Expert Advisors의 기능적 특징과 설정 설명은 이미 저희 기사 Forex MT4 MT5를 위한 The X – 유니버설 어드바이저 완전 안내에서 다루었습니다.
이 기사에서는 Expert Advisor의 parameters(파라미터)를 optimize(최적화)하고 원하는 결과를 달성하는 방법에 대해 논의할 것입니다.
저희는 testing methods(테스트 방법), optimization strategies(최적화 전략)의 선택, 그리고 Forex trading(포렉스 거래)을 위한 다양한 functions(함수)의 포함에 대해 다룰 것입니다.
스타트 스텝 스톱
settings(설정) 세트는 귀하의 deposit(예치금) 및 drawdown limit(드로우다운 한도), currency pair(통화 쌍) 및 contract specifications(계약 사양), 그리고 long-term trades(장기 거래) 또는 pipsing(핍스팅)에 참여하는지 여부에 따라 달라집니다!
여기와 아래에서는 다음 값을 사용할 것입니다:
0-10-100 = 최적화를 위한 parameters(파라미터)의 의미는 다음과 같습니다:
- 시작 optimization(최적화) 값 = 0
- Parameter optimization step(최적화 스텝) = 10
- Stop parameter(파라미터) 값의 optimization(최적화) = 100
모든 parameters(파라미터)는 Points (Pips)로 측정됩니다 (Stop Loss, Take Profit, Distance 등)은 4자리 호가를 기준으로 합니다.
- 예를 들어, EURUSD = 1.2001은 브로커가 4자리 호가를 가지고 있음을 의미합니다. 그리고 1 = 1 point(포인트)!
- 10을 쓰면, 저는 10 Points (Pips)를 염두에 두고 있습니다.
- 브로커가 5자리 호가를 가지고 있다면, 저의 권장 사항을 10배로 늘려야 합니다!
- 예를 들어, EURUSD = 1.20015은 브로커가 5자리 호가를 가지고 있음을 의미합니다. 그리고 1 = 1 point(포인트)!
- 10을 쓰면, 저는 10 Points (Pips)를 염두에 두고 있습니다. 하지만 값을 100으로 설정해야 합니다.
질문에 대한 답을 기억하세요!
points or pips(포인트 또는 핍스)에서의 parameters(파라미터) 값은 무엇입니까?
포인트입니다! 값은 Point(포인트) 변수에서 파생됩니다.
- 5자리 또는 3자리 브로커를 사용하는 경우, 1 point(포인트) = 0.00001 또는 0.001
- 4자리 또는 2자리 브로커를 사용하는 경우, 1 point(포인트) = 0.0001 또는 0.01
Expert Advisor 최적화를 위한 준비
저희의 Expert Advisors (EAs)는 동일한 signal(시그널)과 function algorithms(함수 알고리즘)을 공유합니다.
하지만 MT5와 MT4 터미널 간의 차이로 인해 performance discrepancies(성능 차이)가 발생할 수 있습니다.
현재 MT5 터미널의 strategy tester(스트래티지 테스터)는 가장 기술적으로 진보되고 정확합니다.
MetaTrader 5 터미널과 Strategy Tester의 가장 중요한 기능은 실제 틱으로 테스트할 수 있는 능력입니다. spread(스프레드)와 stop levels(스톱 레벨)은 부동식으로, MT5 strategy tester에서의 테스트는 라이브 거래에 최대한 가깝습니다.
저희는 MetaTrader 4 터미널에서의 testing(테스트)과 optimization(최적화)에 대해 설명하지 않습니다! 이미 테스트 방법을 알고 계십니다. optimization process(최적화 프로세스)는 MT5 process(MT5 프로세스) (설정 및 시작)와 유사합니다.
하지만 MT5의 strategy tester(스트래티지 테스터)의 주요 기능은 물론 cloud(클라우드)에서 optimize(최적화)할 수 있는 능력인 MQL5 Cloud Network입니다.
cloud(클라우드)를 사용하면 수천 대의 다른 컴퓨터를 사용하여 Expert Advisor (EA)를 최소한의 비용으로 optimizing(최적화)할 수 있습니다. 매우 저렴하고 빠릅니다. 따라서 MQL5 Cloud 사용을 강력히 권장합니다.
Expert Advisor와 함께 제공되는 아카이브에는 여러 개의 optimization settings(최적화 설정) 파일이 포함되어 있습니다. 이는 단지 예제일 뿐이지만, optimization(최적화)을 설정하는 방법을 보여줄 것입니다.
기억하세요: 각 currency pair(통화 쌍)과 broker(브로커)는 고유의 trading conditions(거래 조건) (Spread(스프레드), swap(스왑), commission(커미션), settlement method(결제 방법), execution(실행), account type(계좌 유형))이 있으므로 optimization results(최적화 결과)가 다를 수 있습니다!
results(결과)를 보다 일관성 있게 만들기 위해 Random Delay(랜덤 지연)를 끄셔야 합니다. optimization(최적화)에는 필요하지 않습니다!
Strategy Tester 설정:
- 목록에서 Expert Advisor를 선택합니다.
- 테스트를 수행할 currency pair(통화 쌍)를 설정합니다.
- TF: M1을 선택하는 것이 좋습니다. (TimeFrame(타임프레임)은 Expert Advisor의 설정에서 설정됩니다)
- Optimization date(최적화 날짜): 현재 연도를 선택할 수 있습니다! 과거 결과는 미래의 이익을 보장하지 않습니다! 반년마다 최적화하는 것이 가장 실용적인 범위입니다!
- Forward를 1개월로 설정할 수 있지만, 먼저 깨끗한 결과를 얻는 것을 권장합니다. 그런 다음 Forward Test(포워드 테스트)를 수행할 것입니다.
- Deposit: 거래를 시작할 deposit(예치금)을 설정하는 것이 좋습니다. 잔액을 너무 작게도, 너무 크게도 설정하지 마세요!
- Leverage(레버리지): 거래에 사용할 leverage를 설정합니다.
- Slow Complete 알고리즘을 최적화합니다.
- 그리고 꼭: “실제 틱을 기반으로 한 모든 틱”!
Expert Advisor 설정 구성:
- Inputs(입력) 탭을 클릭하고 저희의 Set 파일을 로드합니다.
- optimize(최적화)하고 싶은 옵션에 체크하거나 체크 해제합니다. (기본적으로, 모든 중요한 parameters(파라미터)를 최적화할 수 있도록 파일을 설정했습니다)
- Value(값)—이는 parameter(파라미터)의 고정 값입니다. Expert Advisor는 이 parameter(파라미터)가 최적화되지 않았거나 테스트 중일 때 이 값을 사용합니다!
- Start(시작) – optimization(최적화)를 위한 parameter(파라미터)의 초기 값입니다.
- Step(스텝) – optimizer(최적화기)가 실행될 때마다 parameter(파라미터)가 변경되는 단계입니다.
- Stop(중지) – optimization(최적화)를 위한 parameter(파라미터)의 최종 값입니다.
- 기억하세요! optimization(최적화)를 위한 parameters(파라미터)와 steps(스텝)가 많을수록, testing(테스트)과 optimization(최적화)을 완료하는 데 더 많은 시간이 필요합니다!
클라우드 최적화 활성화
저는 클라우드 optimization(최적화)의 활성화를 강력히 추천합니다!
이 경우, 제 프로세서 사용을 비활성화하여 optimization(최적화) 중에 제 컴퓨터가 느려지지 않도록 합니다. 또한, cloud(클라우드)에서의 한 패스 비용은 0.01센트 미만입니다!
START 버튼을 누르고 작업을 계속하세요!
최적화를 위한 커스터마이즈 가능한 파라미터
저희는 The X용 최적화 파일을 다운로드할 수 있습니다.
블록 1: 트레이드 시그널과 필터
저희의 Expert Advisors (EAs)에서는 20개 이상의 trading strategies(거래 전략)이 MetaTrader 터미널의 표준 indicators(인디케이터)에 기반하고 있습니다.
왜 표준 인디케이터를 사용하나요?
모든 사용자 indicators(인디케이터)는 거의 전적으로 터미널에 이미 있는 표준 indicators(인디케이터)를 복제합니다.
code(코드) 내에서 parameters(파라미터)를 변경함으로써 custom indicator(커스텀 인디케이터)를 만듭니다. 논리적으로, custom indicator(커스텀 인디케이터)는 90% 표준 indicators(인디케이터)로 구성됩니다!
저희는 custom indicators(커스텀 인디케이터)를 사용하여 5,000개 이상의 Expert Advisors (EAs)를 작성했으며, 이는 의미가 없다고 자신 있게 말할 수 있습니다.
표준 indicators(인디케이터)와 함께 작업하는 것은 예측 가능하며, 90%의 경우 더 수익성이 높습니다.
따라서 저희는 거래를 위해 표준 indicators(인디케이터)를 사용합니다. 표준 indicators(인디케이터)에 기반한 포지션 오픈 예제와 signals(시그널) 설명은 기사: 시그널 작동 예제!에서 읽어보세요.
Indicators(인디케이터)와 signals(시그널)은 저희의 optimization(최적화)과 testing(테스트)을 시작할 때 고려해야 할 주요 요소입니다!
이 글을 작성하는 시점에서, 저희는 20개의 signals(시그널)을 보유하고 있습니다:
- NoSignal = 0, // 시그널 없음
- Ma = 1, // 이동 평균
- MACD = 2, // 이동 평균 수렴 확산(MACD)
- STOCH = 3, // 스토캐스틱 오실레이터
- RSI = 4, // 상대 강도 지수(RSI)
- CCI = 5, // 상품 채널 지수(CCI)
- WPR = 6, // 윌리엄스 퍼센트 레인지(WPR)
- BB = 7, // 볼린저 밴드
- Envelopes = 8, // 엔벨로프
- Alligator = 9, // 올리게이터
- OsMA = 10, // 오실레이터의 이동 평균(OsMA)
- AO = 11, // 어썸 오실레이터(AO)
- ISH = 12, // 이치모쿠
- AC = 13, // AC
- BAR = 14, // BAR 베어 \ 불
- ADX = 15, // 평균 방향 지수(ADX)
- ADXWilder = 19, // ADX 윌더
- ZigZag = 17, // 지그재그
- MFI = 20, // 머니 플로우 지수(MFI)
- Fractals = 21, // 프랙탈
각 signal(시그널)과 strategy(전략)은 indicator(인디케이터)를 사용하는 표준 전략입니다. 이러한 전략은 해당 indicators(인디케이터)의 제작자들에 의해 개발되었습니다. 각 전략의 전체 목적을 설명하지는 않습니다.
이것들은 표준 trading strategies(거래 전략)입니다!
표준 indicator(인디케이터)를 사용하는 100,000,000개의 옵션이 있지만, 이를 Expert Advisor에 추가할 수 없다는 것도 이해하고 있습니다!
만약 strategy(전략) 또는 Expert Advisor (EA)를 indicator(인디케이터)에 기반하여 작성하고자 한다면, open-source code(오픈 소스 코드)가 필요합니다:
- MetaTrader5용 The X 오픈 소스 (현재 이용 불가)
- MetaTrader4용 The X 오픈 소스 (현재 이용 불가)
- Expert Advisor 프로그래밍: 성공을 위한 10단계!
저희의 Expert Advisor에서는 하나의 signal(시그널)과 최대 다섯 개의 filters(필터)를 결합할 수 있습니다.
신호와 필터의 차이점:
신호
- 신호 — 모든 신호 조건이 충족될 때 발생합니다. 예를 들어, 이동 평균(MA) 선의 교차점이나 새로운 ZigZag 포인트의 출현이 해당됩니다.
- 예를 들어, RSI 지표의 70 레벨 교차는 신호입니다. RSI가 70 레벨 이상이면 이는 이미 필터입니다.
- 신호는 호가가 수신되어 바에 고정될 때 나타납니다. 전문가 어드바이저(EA)는 신호를 수락합니다.
- 예를 들어, 불이 켜졌습니다. 이는 불이 켜졌기 때문에 신호입니다. 불을 켜면 사람이 깨어납니다. 이것이 신호입니다.
- 포지션 열림은 신호가 확인된 후에 발생합니다. 선이 교차한 후에 포지션이 열립니다. 만약 선이 이미 교차했다면 이는 신호가 아니며, 신호는 이미 지나갔습니다.
필터:
- 필터 – 이는 현재 지표의 위치를 나타내며, 예를 들어 서로에 대한 현재 이동 평균(MA) 선의 위치나 현재 마지막 ZIGZAG 꼭짓점이 해당됩니다.
- 필터는 현재 지표가 표시하는 것입니다. 이는 신호가 아닙니다. 이는 현재 지표의 위치입니다.
- 예를 들어, 불이 켜져 있었습니다. 이는 불이 이미 켜져 있고 현재 켜져 있기 때문에 필터입니다. 불이 켜져 있을 때 사람은 더 이상 잠들지 않습니다. 이것이 필터입니다.
- 신호는 현재 지표의 값에 따라 필터링됩니다. 만약 Fast MA가 Slow MA 위에 있다면, 이 필터와 함께 BUY 포지션만 열어야 합니다.
신호 매개변수 최적화를 위한 팁:
string Signal1s = "========= OWN Signal 옵션 ========="; typesignals IndSigToTrade = 1; ENUM_TIMEFRAMES TF_IndSigToTrade1 = PERIOD_CURRENT; bool Signal_Reverse = false; bool ClosePositionifChangeOWNSignal = false; int OWNSIGNAL_shift = 1; string Signal2s = "========= Filter 1 옵션 ========="; typesignals2 FILTER_IndSigToTrade1 = 0; ENUM_TIMEFRAMES FILTER_TF_IndSigToTrade1 = PERIOD_CURRENT; bool Filter1_Reverse = false; int FILTERSIGNAL1_shift = 1;
신호에 대해 두 개 이상의 필터를 사용하지 않는 것을 권장합니다. 따라서 다른 세 개의 필터는 설정 테이블 하단에 숨겨두었습니다.
각 필터는 신호의 수를 줄입니다. 두 개 이상의 필터를 사용하면 신호가 매우 드물어집니다.
왜 다섯 개의 필터를 만들었습니까?
전문가 어드바이저(EA)의 프로그래밍 및 생성 단계에서 초기 사용자가 기능 및 요청의 “위시리스트”를 제공했습니다. 이러한 요청을 충족시켜 다섯 개의 필터를 만들었습니다.
신호 블록 최적화의 변형
IndSigToTrade 매개변수를 최적화할 수 있습니다! 이 매개변수에는 20가지 옵션이 있습니다. 많지는 않지만 특정 전략에 가장 적합한 결과를 선택할 수 있습니다.
값 최적화: 1 – 20 또는 이동 평균(Moving Average) – 프랙탈(Fractals)
매개변수 TF_IndSigToTrade1도 최적화할 수 있습니다. 그러나 일반적으로 거래하는 타임프레임(TimeFrame)으로 설정하는 것을 권장합니다.
- 기억하세요: 타임프레임(TimeFrame)이 높을수록 신호의 수는 줄어듭니다. 타임프레임(TimeFrame)이 높을수록 전략의 기간은 길어집니다.
매개변수 Signal_Reverse는 전략을 반전시키는 데 사용됩니다! 때로는 전략을 반전시킬 때 거래가 더 수익성이 높아질 수 있습니다.
최적화할 필요가 없습니다.
- 그러나 이 매개변수를 포함하려면 장기 거래와 큰 스탑 로스(Stop Loss) 및 테이크 프로핏(Take Profit)을 사용하는 것을 권장합니다.
- 만약 무손실(lossless)과 트레일링 스탑(trailing stops)을 사용하고 스프레드(spread) 내에서 손실이 발생하면, 이 매개변수를 활성화하여 수익성 있는 거래를 할 수 없습니다!
- 예를 들어, 전략에 스탑 로스(Stop Loss) = 2000 포인트(Pips)와 테이크 프로핏(Take Profit) = 500 포인트(Pips)가 포함되어 있다면, 100번의 손실과 1번의 수익이 발생합니다.
- 전략을 반전시키면, 100번의 승리와 1번의 손실을 얻을 수 있습니다.
- 하지만 모든 것은 상대적입니다. 모든 이론은 테스트가 필요합니다! 기적은 일어나지 않습니다!
매개변수 ClosePositionifChangeOWNSignal는 기본 신호가 변경될 때 열린 포지션을 닫을 수 있게 해줍니다.
최적화할 필요가 없습니다.
- 이 옵션은 잘못된 신호를 즉시 차단하는 데 사용할 수 있습니다.
- 예를 들어, 평균화(전체 수익에서 일련의 거래를 표시)를 사용하지 않고 일부 신호가 거짓일 수 있으며, 신호에서 닫을 때 즉각적인 손실이 발생할 수 있다고 가정합니다. 이 경우 이 기능을 활성화할 수 있습니다.
매개변수 OWNSIGNAL_shift는 매우 중요합니다! 이는 닫힌 또는 현재 바에서 신호를 수신하는 것을 조절합니다.
최적화할 필요가 없습니다.
- 기본 설정으로 두는 것을 권장합니다.
- 1 – 이미 닫히고 완전히 형성된 바에서 신호를 수신합니다.
- 0 – 아직 생성 중인 현재 바에서 신호를 수신합니다.
- SHIFT 신호 사용 방법에 대한 상세한 기사.
매개변수 Filter N 옵션은 신호와 동일한 논리적 설명을 가집니다. 따라서 이를 반복하지 않고 다음과 같이 명시합니다:
- 신호와 다른 지표의 필터를 사용할 수 있습니다.
- 신호와 동일한 지표를 사용하되, 타임프레임(TimeFrame)을 신호의 타임프레임(TimeFrame)보다 높게 설정할 수 있습니다. 예를 들어, 신호의 TF = M15이고 필터의 TF = H1인 경우.
- 필터는 신호와 열린 포지션의 수를 줄입니다.
- 하나의 필터가 다른 신호와 작동하지 않을 수 있습니다. 이는 설정한 전략에 따라 다릅니다. 일부 필터와 신호는 서로 충돌할 수 있습니다.
- 예를 들어, 이동 평균(Moving Average)이 BUY 신호를 표시하는 반면 RSI 필터는 해당 순간에 SELL만 표시합니다. 이러한 충돌이 발생했습니다.
- 필터를 사용하여 포지션을 열지 않으려면 필터를 끄고 이 문제를 조사하십시오. 아마도 두 개의 지표가 충돌하고 있을 수 있습니다.
블록 2: 신호 옵션
이 블록에서는 신호 블록을 미세 조정하는 데 도움이 되는 매개변수를 추가했습니다.
이 매개변수는 보조적이며, 최적화를 권장하지 않습니다.
bool Show_alert_without_opening_positions = false; bool OpenBarControlOnly = false; bool ControlNewBarforSIGNAL = true; bool ReverseSignal = false;
매개변수 Show_alert_without_opening_positions는 실제로 포지션을 여는 것을 끌 수 있게 해줍니다. 대신 전문가 어드바이저(EA)는 신호가 도착하면 화면에 정보를 표시합니다.
최적화할 필요가 없습니다.
- 전문가 어드바이저(EA)는 포지션을 열지 않습니다.
- 계산된 매개변수를 가진 신호에 대한 정보가 표시됩니다.
- 이 신호에 대한 포지션 열기를 켜거나 끌 수 있습니다.
매개변수 OpenBarControlOnly는 Open Prices Only 형태의 테스트 모델에만 사용됩니다.
최적화할 필요가 없습니다.
- 이는 전문가 어드바이저(EA)가 실제 차트의 열린 바에서 작동할 수 있게 해줍니다.
- 이 매개변수가 활성화되면 전문가 어드바이저의 전체 알고리즘이 새로운 바가 열릴 때 한 번만 실행됩니다.
- 이 옵션을 활성화했을 때의 결과는 Open Prices Only 모드에서의 테스트 결과와 유사합니다.
매개변수 ControlNewBarforSIGNAL – 새로운 바에서 신호 처리를 한 번만 포함하는 매개변수입니다.
최적화할 필요가 없습니다.
- 이는 전문가 어드바이저(EA)의 최적화 중 컴퓨터 부하를 크게 줄일 수 있게 해줍니다.
- 전략 테스터에서 테스트 속도를 증가시킵니다.
- SHIFT > 0인 경우에만 사용됩니다.
매개변수 ReverseSignal – 포지션을 여는 일반적인 신호를 반전시킵니다.
값 최적화: True – False
- Signal_Reverse와 달리, 포지션을 여는 주요 신호를 신호 및 필터와 함께 반전시킬 수 있습니다.
블록 3: 포지션 열기 필터 옵션
이 블록에는 기술적 제약에 따라 포지션 열기를 필터링할 수 있는 매개변수가 포함되어 있습니다.
string oo_121 = "========= Opening Filter 옵션 ========="; TypeTrade TypeTradeBUYSELL = 0; int MinuteToOpenNextPosition = 0; bool OpenOppositePositionAfterStoploss = false; bool OnlyOnePosbySignal = true; bool OnePosPerDirection = true; bool OnlyOnePositionPerMagic = false; bool OnlyAlternateSignals = false; int MAX_BUY_POSITION = 0; int MAX_SELL_POSITION = 0; int MaxSpreadToNotTrade = 0; int MinSpreadToNotTrade = 0;
매개변수 TypeTradeBUYSELL – 한 방향으로만 거래할 수 있는 기능을 포함합니다.
최적화할 필요가 없습니다.
- 이는 전문가 어드바이저(EA)를 수동으로 관리할 때 유용합니다. 예를 들어, 뉴스 분석 시.
- 또는 신호를 결정하기 위해 추가 수단을 사용할 때, 예를 들어 추세선(trend lines) 등을 사용할 때 유용합니다.
- 추세가 방향성을 가지고 있다고 확신할 때만 이 기능을 사용하는 것을 권장합니다.
매개변수 MinuteToOpenNextPosition – 신호에 따라 추가 포지션을 여는 것을 금지합니다.
최적화할 필요가 없습니다.
매개변수 OpenOppositePositionAfterStoploss – 이전 포지션이 스탑 로스로(손실) 닫힌 경우 반대 포지션을 엽니다.
최적화할 필요가 없습니다.
- 이는 실험적 옵션이며, 자신의 작업 본질을 이해하는 거래자만 사용할 수 있습니다.
매개변수 OnlyOnePosbySignal – 선택된 통화 쌍과 매직 넘버에 대해 전문가 어드바이저(EA)가 하나의 포지션만 열 수 있게 해줍니다.
OnePosPerDirection = true를 사용할 때 이 매개변수를 True 또는 False로 설정할 수 있습니다.
- 이 기능을 끄면 동일한 신호에서 동일한 방향으로 포지션을 “조정”할 수 있습니다.
- 이 매개변수를 변경하는 것을 권장하지 않습니다.
매개변수 OnePosPerDirection – 전문가 어드바이저(EA)가 한 방향으로만 포지션을 열 수 있게 하거나 동시에 두 방향으로 거래할 수 있는 가능성을 포함합니다.
최적화할 필요가 없습니다.
- OnlyOnePosbySignal = false일 때만 작동합니다.
- 이 매개변수를 변경하는 것을 권장하지 않습니다.
매개변수 OnlyOnePositionPerMagic는 동일한 MAGIC을 가진 모든 전문가 어드바이저(EA)의 열린 포지션을 제어할 수 있게 해줍니다.
최적화할 필요가 없습니다.
- OnlyOnePosbySignal = false일 때만 작동합니다.
- 이 매개변수를 변경하는 것을 권장하지 않습니다.
매개변수 OnlyAlternateSignals – 마지막으로 닫힌 포지션의 반대 방향으로만 포지션을 열 수 있게 해줍니다.
최적화할 필요가 없습니다.
- 이는 신호의 수를 크게 줄입니다.
- 이 매개변수를 변경하는 것을 권장하지 않습니다.
매개변수 MAX_BUY_POSITION 및 MAX_SELL_POSITION – 동시에 열 수 있는 거래(포지션)의 수를 제한할 수 있게 해줍니다.
최적화할 필요가 없습니다.
- OnlyOnePosbySignal = false일 때만 작동합니다.
- 이 매개변수를 변경하는 것을 권장하지 않습니다.
- 이는 동일한 신호에서 포지션을 열 수 있는 수를 제한하지 않고 다른 방향으로 거래하기 위해 만들어졌습니다.
- 이는 동일한 신호에서 포지션을 동시에 여는 것을 제한하거나 시장에서 열린 포지션을 찾을 수 있게 해줍니다.
매개변수 MaxSpreadToNotTrade 및 MinSpreadToNotTrade는 브로커가 스프레드를 자주 변경할 때 신호에 따라 포지션 열기를 제한할 수 있게 해줍니다.
최적화할 필요가 없습니다.
- 이 매개변수를 변경하는 것을 권장하지 않습니다.
- 이 매개변수는 실제 차트에서만 설정해야 합니다.
- 이는 중요한 뉴스 릴리스와 스프레드의 급격한 점프 동안 신호를 제한할 수 있게 해줍니다. 이때 전문가 어드바이저(EA)는 큰 스탑을 설정할 수 있습니다.
블록 4: 포지션 닫기 옵션
이 블록에는 특정 상황에서 포지션을 닫을 수 있는 매개변수가 포함되어 있습니다.
input string oo_123 = "========= Close 옵션 ========="; input bool ClosePosIfChange = true; input bool CloseChangeOnlyInProfit = true; input int ClosePosition_After_X_Minutes = 0;
매개변수 ClosePosIfChange – 신호를 변경할 때 반대 포지션을 닫습니다.
값 최적화: True – False
- 잘못된 신호가 나타나거나 새로운 신호가 나타날 때 현재 신호를 변경하려는 경우에 유용합니다.
- 이는 지표에서 신호를 변경할 때 이익이나 손실을 고정할 수 있게 해줍니다.
매개변수 CloseChangeOnlyInProfit – 수익성 있는 포지션만 닫을 수 있게 해줍니다.
반대 포지션을 열라는 신호를 받으면, 현재 포지션이 수익 상태일 때만 닫힙니다.
값 최적화: True – False
- 이는 지표에서 신호를 변경할 때 수익을 고정할 수 있게 해줍니다.
- ClosePosIfChange = true일 때만 작동합니다.
매개변수 ClosePosition_After_X_Minutes – 일정 시간 후에 포지션을 닫습니다.
값 최적화: 권장되는 숫자는 귀하의 타임프레임(TF)의 배수입니다.
예를 들어, 전문가 어드바이저(EA)를 타임프레임(TimeFrame) M15에서 사용할 때, 값을 다음과 같이 설정하십시오: 시작 0, 단계 15, 정지 75.
- 전문가 어드바이저(EA)가 거래할 수 있는 시간을 엄격하게 고정할 수 있습니다.
- 신호로 열린 포지션을 닫을 수 있게 해줍니다. 예를 들어, 열림 후 15분 후에 닫습니다.
- CloseChangeOnlyInProfit 매개변수에 따라 다릅니다:
- CloseChangeOnlyInProfit = true일 경우, 포지션이 수익 상태일 때 닫힙니다.
블록 5: 대기 주문 옵션
이 블록에서는 대기 주문 관리를 위한 매개변수가 설명되어 있습니다.
input StopOrderType StopOrderUSE = 0; input int StopOrderDeltaIfUSE = 0; input int StopOrderDayToExpiration = 0; input int StopOrderBarToExpiration = 0; input bool ReInstallStopOrdersNewSignalAppears = true;
매개변수 StopOrderUSE – 포지션 대신 대기 주문이나 리밋 주문을 열 수 있게 해줍니다.
값 최적화: False – Stop Orders 사용
- 이는 운영 거리를 추가로 필터링하여 신호를 필터링할 수 있게 해줍니다.
- Stop Orders 사용: 전문가 어드바이저(EA)가 신호를 받고 100 포인트(pips) 거리에서 대기 주문을 열면, 가격이 우리의 방향으로 100 포인트(pips)를 통과하고 대기 주문이 트리거되면 신호가 확인된 것으로 간주됩니다.
- Limit Orders 사용: 전문가 어드바이저(EA)가 신호를 받고 100 포인트(pips) 거리에서 리밋 주문을 열면, 가격이 반대 방향으로 100 포인트(pips)를 통과하고 리밋 주문이 트리거되면 신호가 반등된 것으로 간주됩니다. 반등이 발생할 것임을 확실히 하는 것이 가장 좋습니다.
- Limit Orders 사용에 대해 최적화를 권장하지 않습니다.
- Stop Orders 사용의 값은 장기 거래에만 의미가 있습니다.
매개변수 StopOrderDeltaIfUSE는 대기 스탑 또는 리밋 주문까지의 거리를 나타냅니다.
값 최적화: 각 통화 쌍에 대해 개별적으로 설정하는 것이 권장됩니다.
- 예를 들어, EURUSD 통화 쌍이고 M30 타임프레임에서 거래하는 경우, 기간 동안 평균 가격 움직임이 예를 들어 50 바 = 7500 포인트(pips)라면, 이 매개변수를 최적화하기 위해 시작 0, 단계 100, 정지 1000으로 설정합니다.
- 예를 들어, XAUUSD 통화 쌍이고 M1 타임프레임에서 거래하며 기간 동안 평균 가격 움직임이 예를 들어 50 바 = 100 포인트(pips)라면, 이 매개변수를 최적화하기 위해 시작 0, 단계 10, 정지 100으로 설정합니다.
- 예를 들어, 개시 신호의 확인과 기간 동안 평균 가격 움직임이 필요한 경우. 예를 들어, 100 바 = 1000 포인트(pips)라면, 시작 0, 단계 50, 정지 500으로 설정합니다.
매개변수 StopOrderDayToExpiration는 설정된 일수 내에 실행되지 않으면 대기 주문을 삭제합니다.
최적화할 필요가 없습니다.
매개변수 StopOrderBarToExpiration는 설정된 바 수 내에 실행되지 않으면 대기 주문을 삭제합니다. (타임프레임에 따라 다릅니다.)
최적화 옵션: 시작 0, 단계 1, 정지 10
- 이는 가격이 대기 주문 (StopOrder) 설정 레벨을 돌파하지 않으면 대기 주문을 삭제할 수 있게 해줍니다.
매개변수 ReInstallStopOrdersNewSignalAppears – 신호가 업데이트될 때 대기 주문을 재설정합니다.
최적화할 필요가 없습니다.
- 이는 새로운 신호가 나타날 때마다 대기 주문을 설정할 수 있게 해줍니다.
- 이 설정을 변경하는 것을 권장하지 않습니다.
블록 6: 거래 옵션
이 블록에서는 포지션을 실행할 때 설정되는 매개변수를 모았습니다.
최적화할 필요가 없습니다.
블록 7: 스탑 옵션
스탑 로스(Stop Loss) 및 테이크 프로핏(Take Profit)과 관련된 블록입니다.
input string oo5 = "========= Stops 옵션 ========="; input bool VirtualStops = false; input bool ForcedModifySLTP = false; input minlevel SetMinStops = 0; input int StopLoss = 2000; input int TakeProfit = 0; input bool Include_Commission_Swap = true;
매개변수 ForcedModifySLTP, SetMinStops, Include_Commission_Swap – 변경을 권장하지 않습니다. 최적화할 필요가 없습니다.
매개변수 VirtualStops – 실제 포지션의 스탑 로스(Stop Loss) 및 테이크 프로핏(Take Profit)을 수정하지 않고 가상으로 설치할 수 있는 기능을 포함합니다 (포지션의 스탑 로스와 테이크 프로핏은 = 0이 됩니다).
값 최적화: True – False
- 모든 스탑 로스(StopLoss) 및 테이크 프로핏(TakeProfit) 레벨이 전역 변수 및 차트에 저장됩니다.
- 스탑 로스(StopLoss) 및 테이크 프로핏(TakeProfit)의 가상 실행이 있습니다.
- 매우 작은 (서버의 최소 가능한 레벨보다 작은) 스탑 레벨을 설치해야 할 때만 적용하는 것이 좋습니다.
- 브로커로부터 스탑 레벨을 숨길 수 있게 해줍니다. 따라서 전략의 논리를 이해하기 어렵게 만듭니다.
매개변수 StopLoss – 포지션의 스탑 로스(Stop Loss)입니다.
값 최적화: 각 통화 쌍에 대해 개별적으로 설정하는 것이 권장됩니다.
- 예를 들어, EURUSD 통화 쌍이고 M30 타임프레임에서 거래하는 경우, 기간 동안 평균 가격 움직임이 예를 들어 50 바 = 7500 포인트(pips)라면, 이 매개변수를 최적화하기 위해 시작 0, 단계 100, 정지 1000으로 설정합니다.
- 예를 들어, XAUUSD 통화 쌍이고 M1 타임프레임에서 거래하며 기간 동안 평균 가격 움직임이 예를 들어 50 바 = 100 포인트(pips)라면, 이 매개변수를 최적화하기 위해 시작 0, 단계 10, 정지 100으로 설정합니다.
- 각 포지션의 한계에 따라 다릅니다.
- 스탑 로스(StopLoss)가 클수록 포지션 보유 시간이 길어지고, 가격이 포지션을 다시 열기 위해 돌아올 가능성이 높아집니다.
- 스탑 로스(StopLoss)가 작을수록 잘못된 신호가 더 빨리 닫힙니다.
- 스탑 로스(StopLoss)가 DistanceAdditionalOpening보다 작게 사용하는 것은 의미가 없습니다.
매개변수 TakeProfit – 포지션의 테이크 프로핏(Take Profit)입니다.
값 최적화: 각 통화 쌍에 대해 개별적으로 설정하는 것이 권장됩니다.
- 예를 들어, EURUSD 통화 쌍이고 M30 타임프레임에서 거래하는 경우, 기간 동안 평균 가격 움직임이 예를 들어 50 바 = 7500 포인트(pips)라면, 이 매개변수를 최적화하기 위해 시작 0, 단계 25, 정지 500으로 설정합니다.
- 예를 들어, XAUUSD 통화 쌍이고 M1 타임프레임에서 거래하며 기간 동안 평균 가격 움직임이 예를 들어 50 바 = 100 포인트(pips)라면, 이 매개변수를 최적화하기 위해 시작 0, 단계 5, 정지 100으로 설정합니다.
- 스탑 로스(StopLoss) / 2 또는 스탑 로스(StopLoss) / 3의 계산에서 테이크 프로핏을 설정할 수 있습니다.
- 테이크 프로핏(TakeProfit)이 클수록 포지션 보유 시간이 길어집니다. 테이크 프로핏(TakeProfit)의 목표를 달성하지 못하면 수익 포지션을 놓칠 수 있습니다.
- 테이크 프로핏(TakeProfit)이 작을수록 수익성 있는 신호가 더 빨리 닫힙니다.
- 테이크 프로핏(TakeProfit)이 DistanceAdditionalOpening보다 작게 사용하는 것은 의미가 없습니다.
블록 8: 로트 옵션
고정 로트 및 자동 로트로 작업하는 블록입니다.
input string oo4 = "========= 로트 옵션 ========="; input double Lots = 0.01; input bool DynamicLot = false; input double LotBalancePercent = 0.01; input double RiskRate = 0; input double MaxLot = 999; input double Martingale = 1;
매개변수 MaxLot 및 RiskRate을 변경하는 것은 권장하지 않습니다. 최적화할 의미가 없습니다.
Lots 매개변수는 포지션의 볼륨을 조정합니다.
값 최적화: 예금에 따라 다릅니다. 예를 들어: 0.01의 스텝 로트와 $1000의 예금의 경우: 시작 0.01, 스텝 0.01, 정지 0.1
- 이 매개변수는 전략의 나머지 매개변수 최적화 후에 최적화하는 것이 좋습니다.
- 로트를 증가시키면 하나의 포지션에서 얻는 이익이 증가합니다.
- 로트가 증가하면 예금을 소진할 수 있습니다.
- DynamicLot = true인 경우 최적화할 의미가 없습니다.
- 이 로트로 포지션을 열 때 Balance의 1-2%만 사용하도록 로트를 계산하세요. 예를 들어:
- 로트 0.01으로 하나의 포지션을 열려면 $10의 자유 증거금이 필요합니다.
- 100 스톱 포인트(pips)를 사용하면 (가격이 1 포인트 = $0.1인 경우) $10의 손실이 발생합니다. 이는 $1000의 1%입니다.
매개변수 DynamicLot 및 LotBalancePercent는 로트 포지션의 자동 계산을 조정합니다.
값 최적화: DynamicLot = true 및 LotBalancePercent 매개변수: 시작 0.1, 스텝 0.1, 정지 1
- 이 매개변수는 전략의 나머지 매개변수 최적화 후에 최적화하는 것이 좋습니다.
- 수익을 낼 때 로트를 기하급수적으로 증가시킬 수 있습니다.
- 최종 이익에 영향을 미칠 수 있습니다.
- 1% 이상의 값을 사용하는 것은 권장하지 않습니다.
Martingale 매개변수는 손절매에서 Martingale을 포함합니다.
값 최적화: 시작 0.1, 스텝 0.2, 정지 2
- StopLoss > 0인 값을 사용하는 것이 의미가 있습니다.
- Martingale이 1보다 작으면 다음 포지션과 로트가 이전 것보다 작아집니다.
- 값이 1보다 작으면 서버의 최소 로트보다 높은 로트 포지션에만 사용하는 것이 의미가 있습니다.
- Martingale이 1보다 크면 다음 포지션과 로트가 이전 것보다 커집니다.
- Martingale 값이 높을수록 거래 Expert Advisor (EA)가 더 위험해집니다.
- Martingale은 매우 단순하고 위험한 전략입니다.
- 우리의 Martingale 거래 전략: Two Sides에 대해 확인하고 읽어보시길 권장합니다.
블록 9: 에버레저 옵션
추세에 반대하여 포지션을 여는 작업을 위한 블록입니다. 포지션을 평균화합니다.
input string oo2 = "========= 에버레저 옵션 ========="; input bool AverageUSE = true; input bool OnlyModify = false; input int TakeProfitALL = 200; input int Distance = 500; input double DistanceMartingale = 1; input double LotsMartingale = 1; input int MaxOrdersOpen = 5;
매개변수 OnlyModify는 변경을 권장하지 않습니다. 최적화할 의미가 없습니다.
매개변수 AverageUSE는 평균화 기능을 활성화합니다. AverageUSE가 true로 설정된 경우에만 다른 매개변수를 최적화할 수 있습니다!
값 최적화: True – False
- 포지션 평균화는 추가 포지션으로 계정을 더 많이 로드할 수 있습니다.
- 평균화 전략은 손실 포지션을 이익으로 유지하려는 시도입니다.
- 권장 예금을 사용하면 수익성 있는 거래 수를 70-90%로 늘릴 수 있습니다.
- 평균화를 사용할 때 Expert Advisor (EA)는 잘못된 신호를 이익으로 가져오려고 합니다. 평균화 시리즈가 닫힐 때까지 다른 신호는 무시됩니다.
매개변수 TakeProfitALL는 모든 포지션의 이익 실현을 한 단계 수정합니다.
값 최적화: 10-50-1000 (시작 = 10, 스텝 = 50, 정지 = 1000)
- 평균화를 비활성화한 경우 포지션에 대한 추가 보호 역할을 합니다.
- AdditionalOpening 매개변수를 false로 설정하지 않는 경우 유용합니다.
매개변수 Distance는 추세에 반대하여 추가 포지션을 여는 거리를 지정합니다.
값 최적화: 각 통화 쌍에 대해 개별적으로 매개변수를 설정하는 것이 권장됩니다.
- 예를 들어, EURUSD 통화 쌍이고 M30 시간대에서 평균 가격 움직임이 50봉 = 7500 포인트(pips)인 경우, 이 매개변수를 다음과 같이 최적화하세요: 시작 = 0, 스텝 = 25, 정지 = 500.
- 예를 들어, XAUUSD 통화 쌍이고 M1 시간대에서 평균 가격 움직임이 50봉 = 100 포인트(pips)인 경우, 이 매개변수를 다음과 같이 최적화하세요: 시작 = 0, 스텝 = 5, 정지 = 100.
- 이 매개변수를 최적화하는 또 다른 방법은 선택한 통화 쌍의 평균 스프레드를 사용하는 것입니다. 우리는 우리의 TickSniper Expert Advisor (EA)에서 이 방법을 사용합니다.
- 예를 들어, 통화 쌍의 평균 스프레드가 3 포인트(pips)인 경우, 평균화 Distance = 50 * 3 = 150 포인트(pips)입니다. 이 경우 최적화를 다음과 같이 설정할 수 있습니다: 100-25-250.
- 평균화 Distance에 대한 권장 사항에 대해 더 알아보세요: MT4 및 MT5용 에버레저
- Distance 값이 높을수록 Expert Advisor (EA)가 포지션 시리즈를 총 이익으로 가져오는 데 시간이 더 걸립니다.
- 평균화 Distance 값이 작을수록 계정 잔액에 더 큰 부담이 됩니다. 더 많은 포지션을 열면 더 빨리 이익을 얻을 수 있지만, 거래 계좌가 크게 로드됩니다!
매개변수 DistanceMartingale는 각 추가 포지션의 거리를 증가시킵니다.
값 최적화: 극단적인 경우에만, 1-0.1-2
- 이 매개변수는 시리즈의 각 새로운 포지션에 대해 Distance를 증가시켜야 할 때 최적화해야 합니다.
- Distance가 너무 작으면 DistanceMartingale이 평균화 그리드의 스텝을 증가시킬 수 있습니다.
- DistanceMartingale이 1보다 작으면 평균화 그리드의 스텝과 Distance가 각 추가 평균화 포지션을 열 때마다 감소합니다!
- DistanceMartingale이 1보다 크면 평균화 그리드의 스텝과 Distance가 각 추가 평균화 포지션을 열 때마다 증가합니다!
매개변수 LotsMartingale는 각 추가 포지션의 로트 크기를 증가시킵니다!
값 최적화: 극단적인 경우에만, 1-0.1-2
- 포지션 시리즈가 이익으로 전환되는 시간을 줄일 수 있습니다.
- 거래 계좌와 잔액에 대한 부담을 증가시킬 수 있습니다.
- 충분한 잔액과 함께 사용하는 것이 권장됩니다!
- LotsMartingale이 1보다 작으면 다음 추가 포지션의 로트 크기가 각 추가 평균화 포지션을 열 때마다 감소합니다.
- LotsMartingale이 1보다 크면 다음 추가 포지션의 로트 크기가 각 추가 평균화 포지션을 열 때마다 증가합니다.
매개변수 MaxOrdersOpen는 추세에 반대하는 추가 평균화 포지션의 수를 제한합니다!
값 최적화: 극단적인 경우에만, 0 – 1 – 10
- 새로운 추가 포지션의 수를 제한하여 계정에 대한 부담을 제한할 수 있습니다.
- 저는 5 값을 사용합니다. 그러나 더 나은 결과를 위해 이 값을 최적화할 수 있습니다.
블록 10: 추가 개시
이 블록은 추세 방향으로 포지션 개시를 다룹니다. 추가 분석.
input string oo10 = "========= 추가 개시 ================================== ======= "; input bool AdditionalOpening = false; input bool OnlyModifyAdditionalOpening = false; input int StopLossALL = 0; input int DistanceAdditionalOpening = 100; input double LotsMartinAdditionalOpening = 1; input int MaxOrdersOpenAdditionalOpening = 0;
매개변수 OnlyModifyAdditionalOpening는 변경을 권장하지 않습니다! 최적화할 의미가 없습니다.
매개변수 AdditionalOpening는 추세를 기반으로 한 추가 개시 기능을 활성화합니다. AdditionalOpening이 true로 설정된 경우에만 다른 매개변수를 최적화할 수 있습니다!
값 최적화: True – False
- 포지션의 추가 개시는 신호가 매우 수익성이 있을 경우 더 많은 이익을 얻을 수 있게 해줍니다.
- 추가 포지션은 손실을 발생시킬 수 있으며 원래 시리즈의 이익을 줄일 수 있습니다.
- 이익 방향으로 포지션 그리드를 구축할 수 있게 해줍니다.
- Absolute Stop 또는 Trailing Stop과 함께 사용하는 것이 의미가 있습니다.
매개변수 StopLossALL는 모든 포지션의 StopLoss를 한 단계 수정합니다.
값 최적화: 10-50-1000 (시작 = 10, 스텝 = 50, 정지 = 1000)
- 평균화를 비활성화한 경우 포지션에 대한 추가 개시 역할을 합니다.
- Averaging 매개변수를 사용하지 않는 경우에 의미가 있습니다: AverageUSE = false.
매개변수 DistanceAdditionalOpening는 추세에서 추가 포지션을 여는 거리를 지정합니다.
값 최적화: 각 통화 쌍에 대해 개별적으로 매개변수를 설정하는 것이 권장됩니다.
- 예를 들어, EURUSD 통화 쌍이고 M30 시간대에서 평균 가격 움직임이 50봉 = 7500 포인트(pips)인 경우, 이 매개변수를 다음과 같이 최적화하세요: 시작 = 0, 스텝 = 25, 정지 = 500.
- 예를 들어, XAUUSD 통화 쌍이고 M1 시간대에서 평균 가격 움직임이 50봉 = 100 포인트(pips)인 경우, 이 매개변수를 다음과 같이 최적화하세요: 시작 = 0, 스텝 = 5, 정지 = 100.
- 이 매개변수를 최적화하는 또 다른 방법은 선택한 통화 쌍의 평균 스프레드를 사용하는 것입니다.
- 예를 들어, 통화 쌍의 평균 SPREAD가 3 포인트(pips)인 경우, 평균화 거리 = 50 * 3 = 150 포인트(pips)입니다. 이 경우 최적화를 다음과 같이 설정할 수 있습니다: 100-25-250.
- 평균화 거리 Distance에 대한 권장 사항에 대해 더 알아보세요: MT4 및 MT5용 에버레저
- 거리 값이 높을수록 Expert Advisor (EA)가 포지션 시리즈를 총 이익으로 가져오는 데 시간이 더 걸립니다.
- 평균화 Distance 값이 작을수록 계정 잔액에 더 큰 부담이 됩니다. 더 많은 포지션을 열면 더 빨리 이익을 얻을 수 있지만, 거래 계좌가 크게 로드됩니다!
매개변수 LotsMartinAdditionalOpening는 각 추가 포지션의 로트 크기를 증가시킵니다.
값 최적화: 극단적인 경우에만, 1-0.1-2
- 거래 계좌와 잔액에 영향을 줄 수 있습니다.
- 충분한 잔액과 함께 사용하는 것이 권장됩니다.
- LotsMartinAdditionalOpening이 1보다 작으면 다음 추가 포지션의 로트 크기가 각 추가 포지션을 열 때마다 감소합니다.
- LotsMartinAdditionalOpening이 1보다 크면 다음 추가 포지션의 로트 크기가 각 추가 포지션을 열 때마다 증가합니다.
매개변수 MaxOrdersOpenAdditionalOpening는 추세에서 추가 포지션의 수를 제한합니다.
값 최적화: 극단적인 경우에만, 0 – 1 – 10
- 새로운 추가 포지션의 수를 제한하여 계정에 대한 부담을 제한할 수 있습니다.
- 저는 5 값을 사용합니다. 그러나 더 나은 결과를 위해 이 값을 최적화할 수 있습니다.
블록 11: 손실 없이 브레이크이븐 옵션
브레이크이븐 블록입니다.
input string MovingInWLUSE_ = "========= 손실 없이 브레이크이븐 옵션 ========="; input bool MovingInWLUSE = false; input int LevelWLoss = 0; input int LevelProfit = 0;
매개변수 MovingInWLUSE는 브레이크이븐 지점에서 Stop-Loss를 설치할 수 있게 해줍니다. MovingInWLUSE가 true로 설정된 경우에만 다른 매개변수를 최적화할 수 있습니다!
값 최적화: True – False
매개변수 LevelWLoss는 손실을 이익으로 조정하기 위한 수준을 설정합니다. 매개변수 LevelProfit는 브레이크이븐이 작동하기 시작하는 포인트(pips) 단위의 이익 값을 정의합니다.
값 최적화: 0-5-50
- 매개변수 LevelProfit는 항상 LevelWLoss보다 커야 합니다.
- LevelProfit 최적화를 25-5-100으로 설정하고 LevelWLoss를 0-5-50으로 설정할 수 있습니다.
- 매개변수 LevelProfit의 값이 높을수록 Expert Advisor (EA)가 브레이크이븐 지점을 설정하고 포지션을 계속 추적하기 위해 포지션이 이익으로 이동해야 하는 정도가 커집니다. 이는 작은 손실로부터 보호하지만, 이익을 놓칠 수 있습니다.
- LevelProfit와 LevelWLoss 간의 차이가 클수록 브레이크이븐 임계값이 덜 민감해집니다.
블록 12: 표준 트레일링 옵션
표준 트레일링 스탑의 단위입니다.
input string Trailing_ = "========= 표준 트레일링 옵션 ========="; input bool TrailingStopUSE = true; input bool IfProfTrail = true; input int TrailingStop = 100; input int TrailingStep = 1; input bool SaveTPafterTrailingStop = false;
IfProfTrail, TrailingStep, 및 SaveTPafterTrailingStop 매개변수는 변경을 권장하지 않습니다! 최적화할 의미가 없습니다.
매개변수 TrailingStopUSE는 Stop-Loss를 이익으로 지원 및 수정할 수 있게 해줍니다. TrailingStopUSE가 true로 설정된 경우에만 다른 매개변수를 최적화할 수 있습니다!
값 최적화: True – False
- TrailingStop과 BreakEven의 차이점은 트레일링 스탑이 BreakEven 지점을 설정한 다음 시장 상황이 허용하면 손절매를 이익으로 조정한다는 점입니다.
- TrailingStop과 BreakEven에 대해 다른 매개변수 값을 사용할 수 있습니다. 둘 다에 대해 동일한 매개변수를 사용하는 것은 의미가 없습니다.
매개변수 TrailingStop는 현재 가격에서 손절매의 거리를 정의합니다. 이 경우 포지션은 TrailingStop 이익 pips를 축적해야 합니다.
값 최적화: 0-10-100 (하루 평균 통화 쌍 움직임이 200-300 포인트(pips)인 경우)
- TrailingStop의 값이 높을수록 Expert Advisor (EA)가 브레이크이븐 지점을 설정하고 포지션을 계속 트레일링하기 위해 포지션이 이익으로 이동해야 하는 정도가 커집니다. 이는 작은 손실로부터 보호하지만, 더 큰 이익을 놓칠 수 있습니다.
블록 13: SAR에 의한 트레일링 스탑
SAR 지표를 기반으로 한 트레일링 스탑 단위입니다.
input period periods6 = "========= SAR에 의한 TrailingStop ================================= ==== "; input bool TrailingStopSAR = false; input ENUM_TIMEFRAMES TrailingStopSAR_TimeFrame = PERIOD_CURRENT; input double step = 0.02; input double maximum = 0.2;
매개변수 TrailingStopSAR_TimeFrame, step, 및 maximum는 변경을 권장하지 않습니다! 최적화할 의미가 없습니다.
매개변수 TrailingStopSAR는 Parabolic SAR 지표의 포인트(pips)를 기반으로 Stop-Loss를 이익으로 지원 및 수정할 수 있게 해줍니다. TrailingStopSAR가 true로 설정된 경우에만 다른 매개변수를 최적화할 수 있습니다!
값 최적화: True – False
- 지표의 극값을 기반으로 Stop-Loss를 설정할 수 있게 해줍니다.
- 현재 가격에서 극값까지의 거리를 자동으로 계산하여 거리를 유지합니다.
- TrailingStopUSE를 true로 설정한 경우에는 사용하는 것이 의미가 없습니다.
블록 14: 시간 거래 옵션
Expert Advisor (EA)의 시간 관리 단위입니다.
input string oo6 = "========= 시간 거래 옵션 ================================= ======= "; input bool TradeStartStopbyTime = false; input string SeveralTimeWork = ""; input string of_times41 = "=== 시간 거래 시작 / 중지 시간 ============================"; input int OpenHour = 0; input int OpenMinute = 0; input int ClosePeriod_Minute = 0; input int CloseHour = 23; input int CloseMinute = 59; input typeofclosebyouttime CloseAllTradesByOutOfTime = NotUse; input string period43 = "=== 시간 거래 요일 ============================"; input bool TradeByDays = false; input string Days = "1,2,3,4,5,6,0"; input int DayForOptimization = 0; input string period42 = "=== 시간 거래 월요일 ============================"; input bool TradeStartbyTimeMonday = false; input int OpenHourMonday = 0; input int OpenMinuteMonday = 0; input string of_periods44 = "=== 시간 거래 금요일 ============================"; input bool TradeStartStopbyTimeFriday = false; input int OpenHourFriday = 0; input int OpenMinuteFriday = 0; input int CloseHourFriday = 23; input int CloseMinuteFriday = 59; input bool CloseFriday = false;
이 블록은 많은 매개변수를 포함하고 있어 모두 최적화하는 데 시간이 많이 걸립니다.
테스트 결과를 개선하기 위해 다른 모든 블록을 최적화한 후 시간 설정을 최적화할 수 있습니다.
TradeStartStopbyTime가 true로 설정된 경우에만 나머지 매개변수를 최적화하는 것이 의미가 있습니다!
다음 매개변수만 최적화할 것을 권장합니다:
- OpenHour = 0-1-23
- CloseHour = 0-1-23
- TradeByDays = True-False
- DayForOptimization = 0-1-6
블록 15: 이익 또는 손실 시 모두 닫기 옵션
총 이익을 기준으로 포지션을 닫는 블록입니다.
input string CloseProfitLoss = "========= 이익 또는 손실 시 모두 닫기 옵션 ========="; input typeprofloss TypeofClose = 1; input bool CloseProfit = false; input double prifitessss = 10; input bool CloseLoss = false; input double lossss = -10; input double TrailOptions = 0; input double TrailOptionsStep = 0; input double BalanceStart = 0; input bool ForcedClose = true; input bool MailSend; input bool Orderdelete = true; input bool OFFAfterClosePROF = false; input bool OFFAfterCloseLOSS = false; input bool CloseTerminalAfterClosePROF = false; input bool CloseTerminalAfterCloseLOSS = false;
개별 블록. 전략에 필요할 때만 매개변수를 최적화할 수 있습니다.
예를 들어, 여러 포지션을 열거나 혼란스러운 포지션 개시를 할 때입니다.
TypeofClose가 PercentBalance로 설정된 경우 다음 매개변수를 최적화하는 것이 의미가 있습니다:
- CloseProfit = True-False;
- prifitessss = 0.1-0.1-1
- CloseLoss = True-False;
- lossss = (-0.1) – (-0.1) – (-1)
OnTester_Custom_max 호출 옵션:
첫 번째 매개변수는 최적화기 실행 결과를 얻기 위한 일반적인 공식입니다!
기본값: (Profit * Number of Trades) / Percentage of Drawdown of Available Funds
OnTester_Custom_max | 유전적 최적화를 위한 자체 기준. 테스트 결과에 대한 자세한 내용: 통계 공식 형태로 기록됩니다. 예를 들어: OnTester_Custom_max = “STAT_PROFIT * STAT_TRADES / STAT_EQUITY_DD” 참고서와 동일한 변수 이름을 반드시 지정하세요! |
OnTester_**** 호출 옵션:
OnTester_Min_Trades | 최소 거래 건수 최적화 | 최적화 결과가 성공적이기 위한 테스트 종료 시의 최소 잔액 (예금 통화 기준). 예를 들어, 1000 (초기 예금과 동일) = 이 최적화기 실행에서 잔액이 초기 예금보다 적으면, 이 결과는 0이 됩니다. |
OnTester_Min_Profit | 최소 이익 최적화 | 최적화 결과가 성공적이기 위한 테스트 종료 시의 최소 자유 자금 (예금 통화 기준). 예를 들어, 500 = 이 최적화기 실행에서 잔액이 500 (예금 통화 기준)보다 작으면, 이 결과는 0이 됩니다. |
OnTester_Min_ProfitFactor | 최소 ProfitFactor 최적화 | 성공적인 최적화 결과를 위한 최소 Profit Factor. 예를 들어, 1.5 = 이 최적화기 실행에서 Profit Factor가 1.5보다 작으면, 이 결과는 0이 됩니다. |
OnTester_Min_Balance | 최소 잔액 최적화 | 성공적인 최적화 결과를 위한 테스트 종료 시의 최소 잔액 (예금 통화 기준). 예를 들어, 1000 (초기 예금과 동일) = 이 최적화기 실행에서 잔액이 초기 예금보다 적으면, 이 결과는 0이 됩니다. |
OnTester_Min_Equity | 최소 Equity 최적화 | 성공적인 최적화 결과를 위한 Expert Advisor (EA)가 열어야 하는 최소 거래 수. 예를 들어, 50 = 이 최적화기 실행에서 거래 수가 50보다 적으면, 이 결과는 0이 됩니다. |
OnTester_Max_Balance_DD | 최대 잔액 드로우다운 % 최적화 | 성공적인 최적화 결과를 위한 최대 허용 잔액 드로우다운 (예금 통화 기준). 예를 들어, 20% = 이 최적화기 실행에서 잔액 드로우다운이 20%를 초과하면, 이 결과는 0이 됩니다. |
OnTester_Max_Equity_DD | 최대 Equity 드로우다운 % 최적화 | 성공적인 최적화 결과를 위한 최대 허용 Equity 드로우다운 (예금 통화 기준). 예를 들어, 15% = 이 최적화기 실행에서 Equity 드로우다운이 15%를 초과하면, 이 결과는 0이 됩니다. |
결론
Expert Advisors (EA)의 최적화 및 테스트는 지속적인 노력입니다.
최적화가 복잡하고 비용이 많이 든다고 생각할 수 있습니다. 하지만 수백만 달러를 벌 계획이 있으신가요?
Forex는 쉽지 않다는 것을 이해해야 합니다. 모든 EA는 코드에 내장된 알고리즘일 뿐입니다.
우리는 10년 이상 동안 일해왔으며, 거래 전문가들이 요구하는 바를 이해하고 있습니다.
자신 있게 말할 수 있습니다. 하나의 EA를 최적화하고 구성하는 것이 수천 개의 다른 로봇을 찾고 최적화하는 것보다 훨씬 쉽습니다.
- 테스트하고 자신에게 가장 적합한 거래 옵션을 찾으세요!
- 매 6개월마다 최적화하세요!
- Expert Advisor (EA)를 모니터링하고 로그를 연구하며 EA에 주의를 기울이세요!
- 뉴스에 따라 Expert Advisors (EA)의 매개변수를 조정하세요.
Forex 거래 자료를 학습하세요.
질문이 있으신가요?
질문이 있으시면 언제든지 문의해 주세요. 우리는 포장지 속 돼지를 팔지 않습니다.
우리의 각 제품은 구매 전에 확인할 수 있습니다.
여러분의 피드백과 제품에 대한 소망을 소중히 여기며, 높은 품질 기준을 유지하기 위해 노력합니다.
함께 해주셔서 감사합니다!
질문이 있으신가요?
관련 게시물
Close Minus by Plus, 수익성 있는 포지션을 검색하고 종료하여 손실
수익성 있는 포지션을 식별하고 종료하여 손실 포지션을 종료합니다. 전문가 고문(EA)은 수익성 있는 포지션을 식별하고 종료하여 손실 포지션을 종료하도록 설계되었습니다….
Assistant – 실제/가상 스탑로스 / 테이크프로핏 / 트레일링 스탑을 지원하는
스탑로스, 테이크프로핏, 트레일링 스탑, 브레이크이븐 레벨 자동 설정, 가상 스탑 활성화. Exp Assistant는 포지션 유지 관리를 조직하는 데 도움을 줍니다. 이 전문가…
EAPadPRO – 전문가를 위한 정보 패널. 전문가 어드바이저용 대시보드
모든 어드바이저 및 MetaTrader 터미널용 유틸리티를 위한 정보 패널. 우리의 거래 전문가 어드바이저에서 EAPADPRO 패널을 관리하고 사용하는 기본 사항에…
Extra Report Pad – 트레이더의 일기. 귀하의 거래 계정을 전문적으로
Extra Report Pad – 거래 계정 분석을 위한 전문 솔루션 오늘날 여러 통화쌍을 동시에 거래하는 것이 필수적입니다. 하지만 거래가 많을수록 계정의…
Tester Pad은(는) 전략 테스터용 Forex 거래 시뮬레이터입니다. 지표를 사용한 거래.
전략 테스터 차트에서 원클릭 거래. 유틸리티를 사용하여 전략 테스터에서 전략을 수동으로 테스트할 수 있습니다. 시각화 차트에서 원클릭 거래. 거래 기술을 테스트하기…
AI Sniper. MetaTrader용 자동 스마트 전문가 어드바이저.
AI Sniper는 MT4 및 MT5 단말기를 위해 설계된 지능적이고 자기 최적화가 가능한 거래 로봇입니다. 스마트 알고리즘과 고급 거래 전략을 활용하여…
Copylot – MetaTrader용 외환 거래 복사기. 터미널 간 복사기
MetaTrader용 트레이드 복사기. 모든 계정에서 외환 거래, 포지션, 주문을 복사합니다. COPYLOT MT4 버전에서 MT4-MT4, MT5-MT4 간 최고의 트레이드 복사기 중 하나입니다 (또는…
Averager. 거래 포지션 평균화. 추세에 반대하고 추세에 맞춰 거래 개시!
포지션 평균화. 일반적인 트레일링 스톱 기능을 사용하여 추세에 맞춰 및 추세에 반대하여 추가 포지션을 개설! 어드바이저는 추세에 맞춰 및…
Market Time Pad. 거래 세션이 포함된 MetaTrader용 지표
타임 인디케이터는 주요 글로벌 시장의 현재 시간을 표시하고 활성 거래 세션을 강조합니다. 사용이 간편하며 차트에서 공간을 최소화하여 Expert Advisors…
VirtualTradePad(VTP) 트레이딩 패널. 차트와 키보드에서 원클릭 트레이딩을 위한 트레이드 패드
VirtualTradePad 또는 VTP – MetaTrader 터미널에서 원클릭으로 거래하기 위한 제어판. 외환에서 스캘핑과 수동 거래를 위한 프로그램입니다.. 차트와 키보드에서 원클릭 트레이딩을…
Tick Hamster 자동 거래 로봇. 추가 기능 없음!
Tick Hamster – MetaTrader의 모든 거래 심볼에 대한 자동 최적화를 갖춘 전문가 고문 Tick Hamster는 신규 트레이더 및 설정이 필요 없는…
xCustomEA 어드바이저가 PipFinite Trend PRO에서 작동합니다.
설명 PipFinite Trend PRO 지표를 위한 전략 프로그래밍 예제와 우리의 범용 거래 시스템 Exp – The xCustomEA를 사용한 거래를 보여줍니다. 이 기사에서는…
EA The xCustomEA: 범용 거래 어드바이저. 맞춤형 전략 빌더
MetaTrader용 맞춤형 지표에 대한 범용 거래 어드바이저. Exp – The xCustomEA 범용 거래 어드바이저는 맞춤형 지표에서 작동합니다. The xCustomEA는 맞춤형 지표와…
TickSniper MetaTrader용 자동 전문가 어드바이저. Tick 스캘퍼
Exp-TickSniper는 각 통화 쌍마다 별도로 매개변수를 자동으로 선택하는 빠른 Tick 스캘퍼입니다. 이 EA는 거의 10년간의 EA 프로그래밍 경험을 바탕으로 개발되었습니다. 이 EA는…
관련 게시물
EA The xCustomEA: 범용 거래 어드바이저. 맞춤형 전략 빌더
MetaTrader용 맞춤형 지표에 대한 범용 거래 어드바이저. Exp – The xCustomEA 범용 거래 어드바이저는 맞춤형 지표에서 작동합니다. The xCustomEA는 맞춤형 지표와…
Assistant – 실제/가상 스탑로스 / 테이크프로핏 / 트레일링 스탑을 지원하는
스탑로스, 테이크프로핏, 트레일링 스탑, 브레이크이븐 레벨 자동 설정, 가상 스탑 활성화. Exp Assistant는 포지션 유지 관리를 조직하는 데 도움을 줍니다. 이 전문가…
The X – 표준 지표를 사용하는 Forex용 유니버설 전문가 어드바이저
MetaTrader용 광범위한 기능을 갖춘 유니버설 전문가 어드바이저 (EA) 전문가 어드바이저 The X는 MetaTrader용 다목적 트레이딩 도구로, 다양한 기능과 사용자…
Averager. 거래 포지션 평균화. 추세에 반대하고 추세에 맞춰 거래 개시!
포지션 평균화. 일반적인 트레일링 스톱 기능을 사용하여 추세에 맞춰 및 추세에 반대하여 추가 포지션을 개설! 어드바이저는 추세에 맞춰 및…
SafetyLOCK PRO 반대의 보류 주문을 열어 포지션을 잠금으로써 보호합니다. 헤지
SAFETYLOCK: 급격한 시장 반전에 대비하여 거래를 보호하세요 금융 시장에서의 거래는 특히 급격한 시장 반전 시에 높은 위험을 수반합니다. SAFETYLOCK은 기존 포지션에…
Duplicator – MetaTrader 터미널에서 거래/포지션 복제
Exp-Duplicator는 MetaTrader 계정에서 거래 및 포지션을 미리 설정된 횟수만큼 복제하도록 설계된 자동 전문가 고문(Expert Advisor)입니다. 수동으로 열리든 다른 EA에 의해 열리든…
Tester Pad은(는) 전략 테스터용 Forex 거래 시뮬레이터입니다. 지표를 사용한 거래.
전략 테스터 차트에서 원클릭 거래. 유틸리티를 사용하여 전략 테스터에서 전략을 수동으로 테스트할 수 있습니다. 시각화 차트에서 원클릭 거래. 거래 기술을 테스트하기…
MQL 오픈 소스 템플릿. Expert Advisor 생성 템플릿
개요 어떤 지표 (indicator)를 사용하여 전략을 테스트하기 위한 Expert Advisors (EAs)를 만드는 것은 템플릿 (templates)과 오픈 소스 자원 (open-source resources)을 사용하여…
Partial Close and Trailing. 롤백 시 부분 청산
Partial Close and Trailing은 롤백 중에 포지션의 일부(즉, 로트의 일부)를 청산하는 EA 어시스턴트입니다. 가격이 먼저 이익 방향으로 움직였다가 되돌아갈 때, EA는…
Extra Report Pad – 트레이더의 일기. 귀하의 거래 계정을 전문적으로
Extra Report Pad – 거래 계정 분석을 위한 전문 솔루션 오늘날 여러 통화쌍을 동시에 거래하는 것이 필수적입니다. 하지만 거래가 많을수록 계정의…
Market Time Pad. 거래 세션이 포함된 MetaTrader용 지표
타임 인디케이터는 주요 글로벌 시장의 현재 시간을 표시하고 활성 거래 세션을 강조합니다. 사용이 간편하며 차트에서 공간을 최소화하여 Expert Advisors…
TickSniper MetaTrader용 자동 전문가 어드바이저. Tick 스캘퍼
Exp-TickSniper는 각 통화 쌍마다 별도로 매개변수를 자동으로 선택하는 빠른 Tick 스캘퍼입니다. 이 EA는 거의 10년간의 EA 프로그래밍 경험을 바탕으로 개발되었습니다. 이 EA는…
AI Sniper. MetaTrader용 자동 스마트 전문가 어드바이저.
AI Sniper는 MT4 및 MT5 단말기를 위해 설계된 지능적이고 자기 최적화가 가능한 거래 로봇입니다. 스마트 알고리즘과 고급 거래 전략을 활용하여…
스윙 전략 (펜듈럼). 2개의 반대 보류 주문 자동 개설, OCO
펜듈럼 또는 스윙 전략은 로트 크기를 증가시킨 보류 주문의 순차적 개설을 포함합니다. 핵심 원리는 간단합니다: 두 개의 보류 주문이 설정되고,…
xCustomEA 어드바이저가 PipFinite Trend PRO에서 작동합니다.
설명 PipFinite Trend PRO 지표를 위한 전략 프로그래밍 예제와 우리의 범용 거래 시스템 Exp – The xCustomEA를 사용한 거래를 보여줍니다. 이 기사에서는…
This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어
Leave a Reply