시스템트레이딩

초보자를 위한 매뉴얼 트레이딩 EA - 메타트레이더 4에서의 활용법
MetaTrader4
초보자를 위한 매뉴얼 트레이딩 EA - 메타트레이더 4에서의 활용법

안녕하세요, 트레이더 여러분! 오늘은 초보자를 위해 설계된 매뉴얼 트레이딩 EA인 [Buy_Sell_Close]에 대해 소개해드리겠습니다. 이 EA는 백테스팅 비주얼 모드와 실시간 트레이딩 모두에서 활용할 수 있습니다. 자신만의 트레이딩 시스템을 백테스팅으로 연습해보세요! [Buy_Sell_Close] EA를 수동으로 조작하면서, 백테스트의 속도를 조정하거나 일시정지하여 실제 트레이딩 연습을 수월하게 할 수 있습니다. 기능 소개: [Lots] 버튼: 입력 박스에서 롯 수를 수정할 수 있습니다. [BUY] 버튼: 이 버튼을 누르면 롯 수 만큼의 매수 주문이 추가됩니다. [SELL] 버튼: 이 버튼을 누르면 지정한 롯 수 만큼의 매도 주문이 추가됩니다. [SL Modify TP] 버튼: 이 버튼을 눌러 현재 가격에 대한 손절매(SL) 및 이익 실현(TP) 거리를 수정할 수 있습니다. [Close All Buy] 버튼: 이 버튼을 누르면 모든 매수 주문이 종료됩니다. [Close All Sell] 버튼: 이 버튼을 누르면 모든 매도 주문이 종료됩니다. [Close All Orders] 버튼: 이 버튼을 누르면 모든 주문이 종료됩니다. 화면 오른쪽에는 현재 열려 있는 주문과 이익 등의 정보가 표시됩니다. 파라미터 설명: MM: 자동으로 위험 비율을 사용하여 기본 롯 수를 계산합니다. Risk: 잔고가 10,000일 경우 0.2 핸드로 설정됩니다. Lots: MM이 FALSE일 경우 고정 롯 수를 사용합니다. SL: 기본 손절매는 250 마이크로 포인트입니다. TP: 기본 이익 실현은 500 마이크로 포인트입니다. 기타 UI 관련 파라미터도 설정할 수 있습니다. 여러분의 트레이딩 시스템을 연습하는 데 도움이 되길 바랍니다. 감사합니다!

2024.02.29
그리드 및 마틴게일 전략을 위한 바운스 숫자 이해하기
MetaTrader4
그리드 및 마틴게일 전략을 위한 바운스 숫자 이해하기

안녕하세요, 트레이더 여러분! 오늘은 그리드 및 마틴게일 전략에서의 로트 사이징과 거래 수에 대해 이야기해볼까 합니다. 이 두 가지는 전략의 성패에 매우 중요한 요소입니다. 우리는 항상 특정 심볼의 과거 데이터를 확인하며 가격이 어떤 범위에서 얼마나 많이 튀었는지를 살펴봅니다. 과연 가격이 두 개의 가격 범위 사이에서 몇 번 튕겼을까요? 이것을 제가 정의하는 바운스 숫자(Bounce Number)라고 합니다. 이는 시장에서의 심볼 히스토리를 통계적으로 분석하여 계산할 수 있습니다. 좀 더 명확하게 이해하기 위해 이미지 1을 살펴보죠. 이미지 1: 바운스 숫자의 정의, 목표 및 응용 위 이미지는 가격 움직임이 바운스 숫자 도구의 통계를 어떻게 생성하는지를 보여줍니다. 도구에 지연을 주기 위해 EA로 생성했으며, Sleep 함수를 사용했습니다. 이 기능은 도구 입력값에 설정된 높은 캔들 수로 인해 차트가 다운되는 것을 방지합니다. 또 다른 이미지(이미지 2)는 도구의 간단한 그래픽 구조와 각 객체의 의미를 보여줍니다. 이미지 2: 바운스 숫자 통계. 도구 사용법: 이미지 2를 기준으로 바운싱 채널 반 높이를 600포인트로 설정했다고 가정해봅시다. 이 심볼의 바운스 숫자는 1에서 6까지 총 6가지가 있습니다. 바운스 숫자 2는 가격이 바운스 채널의 중간(높이 2 * 600 = 1200포인트)에서 시작하여 위아래로 움직이며 한 번 빨간 선과 한 번 파란 선에 닿은 후 TP=1200포인트에 도달하는 것을 의미합니다. 바운스 숫자 5는 가격이 채널 중간점에서 시작하여 빨간 선에 2번, 파란 선에 3번 닿거나 그 반대로 3번 빨간 선, 2번 파란 선에 닿은 후 TP=1200포인트에 도달하는 것을 의미합니다. 다른 바운스 숫자도 이와 비슷하게 해석할 수 있습니다. 바운스 숫자 7은 없으며, 이는 빨간 선과 파란 선 사이에서 7번 튕긴 경우가 없다는 것을 의미합니다(1200포인트 거리 기준). 선택한 도구의 입력에서 더 많은 과거 데이터를 선택하면 7번 튕길 가능성이 높아집니다. 하지만 9020개의 총 항목 중에서 6번 튕길 확률은 22에 불과합니다. 도구의 입력값은 다음과 같습니다: - 최대 조회 캔들 수: 다른 스캐닝 도구와 마찬가지로 이 항목에 설정하는 숫자에 주의하세요. 메모리 크래시를 피하기 위해 급격히 늘리지 마세요. - 시간 프레임: 채널 경계에서 바운스를 찾고 TP선에 닿기 위해 사용할 캔들의 시간 프레임입니다. 얇은 채널의 경우 낮은 시간 프레임을 사용하는 것이 좋습니다. 무엇을 설정해야 할지 모르겠다면 M1 시간 프레임을 사용하는 것이 좋습니다. - 바운싱 채널 반 높이: 빨간 선과 파란 선 간의 거리입니다. 포인트 단위로 설정됩니다. - 차트 배경 색상 - 바 차트 색상 1 / 바 차트 색상 2: 통계 바를 좀 더 멋지게 만들기 위함입니다. - 셀 색상: - 바운스 숫자 셀 색상: - 로드 바 색상: 계산 중 이 로드 바는 사용자가 작업이 진행 중인지, 계산 속도가 어떤지를 알 수 있도록 도와줍니다. 추가된 버튼을 통해 역사적 캔들 수를 입력하고 시작할 수 있습니다.

2024.01.12
현재 수익 기반의 수익 실현 전략 - MetaTrader 4 활용하기
MetaTrader4
현재 수익 기반의 수익 실현 전략 - MetaTrader 4 활용하기

서론 대부분의 자동매매 프로그램, 즉 EA는 매수 가격으로부터의 핍 거리 기준으로 수익 실현을 합니다. 하지만 EA Perceptron에서 사용하는 코드는 현재 수익을 기반으로 합니다. 이런 방식은 여러 개의 포지션을 열어두고 있는 경우에도 매수 마법 번호를 기준으로 총 현재 수익을 쉽게 관리할 수 있게 해줍니다. 여러 개의 봇 인스턴스 또는 서로 다른 EA를 동시에 사용하는 경우 특히 유용하죠. 제 친구 추가하시고 최신 소식도 받아보세요! 이 코드를 사용하면 핍을 기준으로 한 수익 실현에서 발생할 수 있는 여러 문제를 해결할 수 있습니다. 예를 들어, 핍 기반의 수익 실현은 브로커의 슬리피지에 따라 변동할 수 있어 수익이 제한될 수 있습니다. 현재 수익을 기준으로 하는 코드를 사용하면 이러한 문제를 피하고 거래에 대한 더 많은 제어를 할 수 있습니다. 현재 수익을 기반으로 한 수익 실현 설정 방법에 대해 더 알고 싶다면, EA SwingBot의 코드를 참고하실 수 있습니다. … 총 주문 수 계산하기 같은 마법 번호를 가진 모든 열려 있는 주문의 총 수를 계산하는 코드부터 시작해볼까요? 마법 번호는 트레이더나 EA가 주문에 부여하는 고유 식별자입니다. 이 코드는 변수 total_orders를 0으로 초기화하고, for 루프를 사용하여 모든 열려 있는 주문을 순회하며 각 주문을 OrderSelect() 함수로 선택합니다. 주문을 성공적으로 선택하면 total_orders 변수를 1 증가시킵니다. //-----------------    int total_orders = 0;    for(int i = 0; i < OrdersTotal(); i++)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if(OrderMagicNumber() == MagicNumber)          {          total_orders++;         }         }      } … 현재 수익 계산하기 코드는 두 개의 변수를 초기화합니다: ProfittoMinimo와 Profit. ProfittoMinimo는 이 수준에서 수익 실현을 활성화하는 데 사용되며, 값은 계좌의 통화로 표현됩니다. Profit 변수는 같은 마법 번호를 가진 모든 열린 포지션의 현재 수익을 누적하는 데 사용됩니다. 변수 StopLoss는 손절매 용도로 사용됩니다. 코드는 OrdersTotal() 함수를 사용하여 모든 열린 포지션을 반복하는 for 루프를 사용합니다. 각 열린 포지션에 대해, 해당 주문을 OrderSelect() 함수로 선택합니다. 주문이 성공적으로 선택되었고 같은 마법 번호를 가진 경우, 해당 주문의 수익을 Profit 변수에 추가합니다.       double ProfittoMinimo = 3; // 목표 수익       double Profit = 0; // 현재 수익              for(int i=0; i<OrdersTotal(); i++)         {          if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))            {             if(OrderMagicNumber() == MagicNumber) // 여러 EA의 경우, MagicNumber 필터를 제거하여 총 주문에 대한 기능을 유지할 수 있습니다.               {                Profit += OrderProfit();               }            }         } 최소 수익은 외부 변수로 설정하고 EA 옵션에서 구성할 수 있습니다: … 수익 도달 시 포지션 닫기 코드는 OrdersTotal() 함수를 사용하여 모든 열린 주문을 반복하는 for 루프를 사용합니다. 루프는 마지막 주문에서 시작하여 첫 번째 주문까지 거슬러 올라갑니다. 각 주문에 대해, 해당 거래를 OrderSelect() 함수로 선택합니다. 선택된 거래가 현재 차트와 같은 기호를 가지고 있고, OP_BUY 타입이며 코드에 지정된 동일한 마법 번호를 가진 경우, 해당 거래의 Profit이 ProfittoMinimo보다 크거나 같은지 확인합니다. 그렇다면 OrderClose() 함수를 사용하여 매도 가격으로 거래를 종료하고, 매수 주문이 종료되었다는 메시지를 출력합니다. 유사하게, 선택된 거래가 현재 차트와 같은 기호를 가지고 있고, OP_SELL 타입이며 코드에 지정된 동일한 마법 번호를 가진 경우, 해당 거래의 Profit이 ProfittoMinimo보다 크거나 같은지 확인합니다. 그렇다면 OrderClose() 함수를 사용하여 매수 가격으로 거래를 종료하고, 매도 주문이 종료되었다는 메시지를 출력합니다.       for(int e = OrdersTotal() - 1; e >= 0; e--)         {          if(OrderSelect(e, SELECT_BY_POS, MODE_TRADES))            {             if(OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber) // 주문은 현재 주문의 MagicNumber와 일치할 때만 수정됩니다.               {                if(Profit >= ProfittoMinimo)                  {                   OrderClose(OrderTicket(), OrderLots(), ND(OrderClosePrice()), 3); // 매도 가격                  Print("매수 주문이 종료되었습니다", Profit, " - 최소 손절매: ",MarketInfo(Symbol(), MODE_STOPLEVEL));                }           }             if(OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == MagicNumber)               {                if(Profit >= ProfittoMinimo)                  {                   OrderClose(OrderTicket(), OrderLots(), ND(OrderClosePrice()), 3); // 매수 가격                   Print("매도 주문이 종료되었습니다", Profit, " - 최소 손절매: ",MarketInfo(Symbol(), MODE_STOPLEVEL));                  }               }         } … 결론 이 코드는 수익 실현을 기반으로 한 모든 포지션 종료 전략에 유용할 수 있으며, 현재 수익 증가를 기반으로 한 트레일링 스톱과 결합할 수도 있습니다. 또한, 여러 엑스퍼트 어드바이저를 사용할 경우에도 유용합니다. MagicNumber에 대한 if 조건을 제외하면, 모든 활성 EA로부터 열린 모든 포지션을 동시에 관리할 수 있는 일반적인 수익 실현 수준을 설정할 수 있습니다.

2023.10.27
더블 볼린저 밴드 전략: 메타트레이더 4에서 활용하기
MetaTrader4
더블 볼린저 밴드 전략: 메타트레이더 4에서 활용하기

1. 개요 더블 볼린저 밴드 전략은 외환 시장에서 진입과 청산을 필터링하기 위해 두 개의 볼린저 밴드를 활용하는 방법입니다. 이 전략은 가격이 3σ(3 표준 편차)를 넘어설 때 매수(매도) 거래에 들어가는 것을 목표로 합니다. 또한, 거래 결정을 내릴 때 2σ(2 표준 편차) 볼린저 밴드의 수준도 고려합니다. 기본 파라미터: 2σ 볼린저 밴드 (20,2) : 단순 이동 평균 (20)과 표준 편차 수치 (2). 3σ 볼린저 밴드 (20,3): 단순 이동 평균 (20)과 표준 편차 수치 (3). 입력 파라미터 2. 매수 진입 다음의 두 가지 조건이 충족될 때 매수 주문을 엽니다: 조건 1: 매도 호가가 3σ 상단 볼린저 밴드 (BB3UP)를 넘을 때. 조건 2: 조건 1이 충족되면 현재 가격이 2σ 상단 볼린저 밴드 (BB2UP)와 2σ 하단 볼린저 밴드 (BB2LO) 사이에 있는지 확인합니다. 3. 매도 진입 다음의 두 가지 조건이 충족될 때 매도 주문을 엽니다: - 조건 1: 매수 호가가 3σ 하단 볼린저 밴드 (BB3LO) 아래로 내려갈 때. - 조건 2: 조건 1이 충족되면 현재 가격이 2σ 하단 볼린저 밴드 (BB2LO)와 2σ 상단 볼린저 밴드 (BB2UP) 사이에 있는지 확인합니다. 4. 청산 주문 OCO 형식의 주문을 사용하여 손절매와 이익 실현을 N 핍으로 설정합니다. ※N: 설정 입력 파라미터입니다.

2023.10.02
마틴게일 돌파 전략으로 Forex 시장에서 수익 올리기
MetaTrader4
마틴게일 돌파 전략으로 Forex 시장에서 수익 올리기

안녕하세요, 트레이더 여러분! 오늘은 Forex 시장에서 효과적으로 거래할 수 있는 마틴게일 돌파 전략에 대해 소개해 드리려고 합니다. 이 전략은 돌파 매매 기법과 마틴게일 자금 관리 시스템을 결합하여 최적의 거래 성과를 이끌어냅니다. 입력 파라미터: TakeProfPoints: 각 거래에 대한 이익 실현 수준을 포인트로 설정할 수 있는 파라미터입니다. BalancePercentageAvailable: 거래에 사용할 계좌 잔고의 비율을 설정합니다. TP_Percentage_of_Balance: 각 거래의 이익 실현을 위해 사용할 계좌 잔고의 비율을 결정합니다. SL_Percentage_of_Balance: 거래에 할당할 손실 제한 비율을 설정합니다. Start_The_Recovery: 회복 프로세스에서 중요한 역할을 하며, 회복 조치를 언제 어떻게 활성화할지를 제어합니다. TP_Points_Multiplier: 이익 실현 포인트의 배수를 설정하여 유연한 이익 실현 전략을 가능하게 합니다. MagicNumber: 이 EA 고유의 식별자로, 자신의 거래를 독립적으로 관리할 수 있도록 합니다. 전략 하이라이트: 돌파 매매: 이 EA는 시장에서 가격이 주요 수준을 넘어설 때의 돌파 기회를 식별하는 데 특화되어 있습니다. 동적 로트 크기 설정: 로트 크기는 계좌 잔고와 위험 선호도에 따라 동적으로 조정되며, 마틴게일 자금 관리 원칙을 따릅니다. 손실 회복: 이 EA에는 필요시 거래 파라미터를 적응적으로 수정하여 손실을 회복하는 강력한 회복 메커니즘이 포함되어 있습니다. 이 EA에서 가장 중요한 기능 중 하나는 CalcLotWithTP() 함수입니다. 이 함수는 3개의 입력 파라미터(이익 실현, 시작 가격, 종료 가격)를 가지고 있으며, 시작 가격에서 진입하여 종료 가격에서 나갈 때 목표 이익을 달성하기 위한 거래량을 계산합니다. 코드 내의 모든 부분에는 주석이 달려 있어, 이해하기 쉽게 되어 있습니다. 또한, 이 내용을 설명하는 유튜브 영상도 만들었습니다:

2023.09.26
MaybeAwo EA - 메타트레이더 4를 위한 스마트 트레이딩 도구
MetaTrader4
MaybeAwo EA - 메타트레이더 4를 위한 스마트 트레이딩 도구

주요 특징: 이동 평균 진입: 이 EA는 간단한 이동 평균을 활용하여 잠재적인 진입점을 파악합니다. 시장 조건이 이동 평균 교차 전략과 일치할 때, 자동으로 매수 또는 매도 주문을 실행할 수 있습니다. 사용자 정의 가능한 매개변수: 이동 기간, 로트 크기, 손절매, 이익 실현, 본전 회복 수준, 원하는 본전 회복 거리 및 거래 시간을 조정하여 EA의 행동을 세밀하게 조정할 수 있습니다. 이러한 매개변수는 다양한 거래 스타일과 자산 클래스에 맞춰 EA를 적응시킬 수 있게 해줍니다. 본전 회복 기능: 이 EA는 두 개의 본전 회복 수준을 포함하고 있습니다. 거래가 이익을 내기 시작하면, 자동으로 손절매를 본전 회복 수준으로 이동시켜 이익을 보호합니다. 원하는 본전 회복 거리는 개인의 선호에 맞게 조정할 수 있습니다. 트레일링 스톱: EA는 거래가 유리하게 진행될 때 손절매 레벨을 따라가며, 강한 추세에서 이익을 고정하는 데 도움을 줄 수 있습니다. 시작 및 종료 시간 설정: EA가 활발히 거래할 시간을 지정할 수 있습니다. 이 기능은 특정 시장 세션에 집중하여 거래 활동을 조정할 수 있게 해줍니다. 주의사항: 입력 매개변수를 신중히 검토하고 조정하여 EA가 귀하의 거래 전략에 맞도록 최적화하십시오. 실제 거래 환경에서 사용하기 전에 데모 계좌에서 EA를 테스트하는 것을 권장합니다. EA의 성능을 모니터링하고 시장 조건 변화에 맞춰 매개변수를 조정하십시오. # 거래는 위험을 동반하며, 이 EA가 이익을 보장하지는 않습니다. 책임감 있게 사용하고 자동 거래에 수반되는 위험을 인지하시기 바랍니다.

2023.09.10
메타트레이더 4를 위한 간단한 오픈 주문 필터링 함수
MetaTrader4
메타트레이더 4를 위한 간단한 오픈 주문 필터링 함수

안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 4에서 여러분의 전문가 조언자(Expert Advisor)가 오픈된 주문을 독립적으로 감지할 수 있도록 돕는 간단한 코드를 공유하고자 합니다. 초보 개발자들은 종종 OrdersTotal() 함수를 사용하지 않고 오픈 주문을 확인하는 데 어려움을 겪습니다. 이 함수는 EA가 열었는지 수동으로 열었는지를 구분하지 않기 때문에, 단순히 오픈 주문의 총 개수만 반환하기 때문입니다. 이런 점을 고려하여, 제가 아주 간단한 코드를 준비했습니다. 이 코드에서는 Comment() 함수를 사용하여 Check_Open_Orders 함수를 실시간으로 보여줍니다. 코드는 설명이 충분히 잘 되어 있어, 이해하기 쉬울 것입니다. 여러분에게 도움이 되길 바랍니다! 코드 샘플 아래는 간단한 코드입니다: // Check_Open_Orders 함수 정의 bool Check_Open_Orders() { // 주문 개수가 0보다 큰 경우 if (OrdersTotal() > 0) { for (int i = 0; i < OrdersTotal(); i++) { // 현재 주문 선택 if (OrderSelect(i, SELECT_BY_POS)) { // EA에서 열린 주문인지 확인 if (OrderMagicNumber() == YOUR_EA_MAGIC_NUMBER) { return true; } } } } return false; } 이 코드를 활용하여 여러분의 EA가 오픈된 주문을 효과적으로 감지할 수 있기를 바랍니다. 추가 질문이 있다면 언제든지 댓글로 남겨주세요!

2023.06.13
MoveStopLoss: 메타트레이더 4에서 거래 전략을 최적화하는 필수 도구
MetaTrader4
MoveStopLoss: 메타트레이더 4에서 거래 전략을 최적화하는 필수 도구

여러 개의 포지션을 동시에 관리해야 하는 트레이더라면, 거래가 진행될 때마다 손절매를 조정하는 것이 얼마나 번거롭고 스트레스를 주는 일인지 잘 아실 것입니다. 하지만 MoveStopLoss를 사용하면 그 모든 것이 한결 수월해집니다. 이 강력한 도구는 수동 거래를 모니터링하고, 당신이 설정한 거리나 EA가 결정한 거리에서 거래를 추적(trailing)할 수 있게 해줍니다. 이렇게 하면 변화하는 시장 상황에 맞춰 유연하게 대응할 수 있습니다. MoveStopLoss는 통화, 원자재, 암호화폐, 주식 등 모든 자산 클래스에서 사용할 수 있으며, 모든 시간대에 적용할 수 있어 초보자부터 전문가까지 모두에게 유용한 도구입니다. 자동 추적(Auto trail) 기능을 활용하면 EA가 설정된 거리만큼 자동으로 추적해 주므로, 다른 거래 전략에 집중할 수 있는 여유가 생깁니다. 그리고 좀 더 세밀한 조정이 필요할 경우, Auto trail을 끄고 원하는 거리를 직접 입력하면 됩니다. 수동으로 손절매를 조정하는 데 시간을 낭비하거나 불필요한 스트레스를 느끼지 마세요. MoveStopLoss와 함께라면 거래를 자동화하고, 그 어느 때보다도 효과적으로 거래를 관리할 수 있습니다. *무료 다운로드 가능

2023.04.12
처음 이전 1 2 3 4 5 6 7 8 다음 마지막