시스템트레이딩

MetaTrader 5를 위한 Escape EA: 거래 전략과 성과 분석
MetaTrader5
MetaTrader 5를 위한 Escape EA: 거래 전략과 성과 분석

아이디어 저자: pcbiz, MQL5 코드 저자: barabashkakvn. Escape EA는 M5 타임프레임에서 두 개의 이동 평균(iMA)을 기반으로 거래를 수행합니다. 각각의 매수(Buy)와 매도(Sell)에 대해 개별적인 TakeProfit과 StopLoss 수준이 설정되어 있습니다. 결정 블록:    if(!ExistPositions())     {      double diClose_M5_1=iClose(1,Symbol(),PERIOD_M5);      double diMA5=iMAGet(handle_iMA_5,1);      double diMA4=iMAGet(handle_iMA_4,1);      if((diClose_M5_1<diMA5))        {         OpenBuy();         return;        }      if((diClose_M5_1>diMA4))        {         OpenSell();         return;        }     } 조건은 새로운 바가 나타날 때만 확인됩니다. 이렇게 하면 CPU의 부하가 크게 줄어들어, '모든 틱' 또는 '실제 틱 기반 모든 틱' 테스트 모드에서의 테스트 속도가 상당히 빨라집니다. 테스트 결과: EURUSD M5, 2016년 6월 1일부터 2016년 11월 23일까지, 초기 예치금 - 1000:

2017.01.26
MetaTrader 5를 위한 Fractal_WPR 시스템 트레이딩 EA 소개
MetaTrader5
MetaTrader 5를 위한 Fractal_WPR 시스템 트레이딩 EA 소개

실제 저자: 블라디미르 흐리스토프 가장 간단한 EA인 Fractal WPR을 기반으로 합니다. 오실레이터의 과매수 구간을 하향 통과할 때 매도하고, 과매도 구간을 상향 통과할 때 매수합니다. 신호는 바가 닫힐 때 형성되며, 이때 레벨의 교차가 발생합니다. Fractal_WPR.ex5 컴파일된 파일을 <terminal_data_folder>\MQL5\Indicators에 배치합니다. 컴파일 후, Exp_Fractal_WPR.ex5 전문가 파일에는 Fractal_WPR.ex5 지표가 리소스로 포함되어 있으므로, EA가 작동하기 위해 해당 지표가 터미널 폴더에 존재할 필요는 없습니다! 이를 위해 EA 코드에 해당 지표를 전문가의 실행 파일에 포함시키는 코드가 추가되었습니다. 지표의 실행 파일은 전역 범위에서 리소스로 포함되어 있습니다. //---- EA 코드에 지표를 리소스로 포함#resource \Indicators\Fractal_WPR.ex5 OnInit() 함수 블록 내에서 사용된 지표의 경로 문자열이 변경되었습니다. //---- Fractal_WPR 지표의 핸들 가져오기 InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\Fractal_WPR",e_period,normal_speed,IPC,0); 이렇게 해서, 전문가의 컴파일된 실행 파일은 지표 없이 다른 거래 터미널에서도 사용 가능합니다. TradeAlgorithms.mqh 라이브러리 파일은 비제로 스프레드를 제공하는 브로커와 함께 Stop Loss 및 Take Profit을 포지션 개설과 함께 설정할 수 있도록 해줍니다. 라이브러리의 다양한 버전은 다음 링크에서 다운로드할 수 있습니다: 트레이드 알고리즘. 아래 테스트에서 사용된 기본 EA의 입력 매개변수입니다. 테스트 중 Stop Loss와 Take Profit은 사용되지 않았습니다. Fig. 1. 거래 예시 차트 2015년 AUDUSD H3에 대한 테스트 결과: Fig. 2. 테스트 결과 차트

2017.01.26
VR---STEALS-2: 메타트레이더 5를 위한 스마트한 EA 소개
MetaTrader5
VR---STEALS-2: 메타트레이더 5를 위한 스마트한 EA 소개

아이디어 저자 — Vladimir Pastushak, MQL5 코드 저자 — barabashkakvn.VR---STEALS-2는 포지션을 라벨을 사용하여 관리하는 은밀한 프로그램입니다. 이 EA는 특정 브로커와 함께 작업할 때 잘 입증된 방식으로, 안정적인 거래를 도와줍니다.이 EA의 주요 기능은 다음과 같습니다:가상 Take Profit 설정가상 Stop Loss 설정브레이크이븐 설정차트에서 주문이 감지되면, EA는 라벨을 사용하여 Take Profit, Stop Loss 및 브레이크이븐 레벨에 대한 가격을 표시합니다. 또한, 이 프로그램은 여러 개의 매직 넘버와 동시에 작업할 수 있습니다. 이를 위해서는 "Magic" 매개변수를 "0"으로 설정하면 됩니다.전문가 어드바이저 파라미터:input ushort InpTakeProfit    = 50;    // TakeProfit (0일 경우 사용하지 않음)input ushort InpStopLoss      = 50;    // StopLoss (0일 경우 사용하지 않음)input ushort InpBreakeven     = 20;    // Breakeven (0일 경우 사용하지 않음)input ushort InpBreakMinDis   = 9;     // 브레이크이븐으로 이동할 때의 최소 이익input ulong  Magic            = 0;     // (0일 경우 모든 매직 적용)input ulong  InpSlip          = 20    // 슬리피지input int    coment           = 1     // 코멘트 라인의 수. 0일 경우 코멘트가 표시되지 않음라벨 설명:초록 라벨 — 브레이크이븐 레벨빨간 라벨 — Stop Loss 레벨파란 라벨 — Take Profit 레벨 EA 작동 예시:    

2017.01.26
MetaTrader 5를 위한 Exp_Zonal_Trading EA: 자동 거래의 새로운 패러다임
MetaTrader5
MetaTrader 5를 위한 Exp_Zonal_Trading EA: 자동 거래의 새로운 패러다임

실제 저자: Relaysim Comp. Exp_Zonal_Trading은 Bill Williams가 제안한 AO 및 AC 지표를 활용한 자동 거래 시스템입니다. 이 EA는 녹색 AO와 AC에서 매수하고, 빨간색 AO와 AC에서 매도합니다. 지표의 색상이 바뀌면 시장에서 퇴출하게 됩니다. 신호는 막대가 닫힐 때 형성됩니다. EA 내의 AO_HTF 및 AC_HTF 지표는 전략 테스터에서의 트렌드 시각화를 위한 목적만으로 사용되며, 다른 운영 모드에서는 비활성화됩니다. AO_HTF.ex5 및 AC_HTF.ex5 파일을 <터미널 데이터 폴더>\MQL5\Indicators에 배치하세요. TradeAlgorithms.mqh 라이브러리 파일은 비제로 스프레드를 제공하는 브로커와 함께 Expert Advisor를 사용할 수 있게 해주며, 포지션 개설 시 Stop Loss와 Take Profit을 함께 설정할 수 있는 옵션을 제공합니다. 더 많은 라이브러리 변형은 다음 링크에서 다운로드할 수 있습니다: Trade Algorithms. 아래 테스트에서 사용된 기본 Expert Advisor의 입력 매개변수를 사용하였으며, 테스트 중 Stop Loss 및 Take Profit은 사용되지 않았습니다. 이 EA는 원래 MQL4로 작성되었으며, 2015년 12월 25일 코드 베이스에 처음 발표되었습니다. 그림 1. 차트에서의 거래 예시 2015년 EURUSD H4의 테스트 결과: 그림 2. 테스트 결과 차트

2017.01.26
스톡 지표: 메타트레이더 5에서 활용하기
MetaTrader5
스톡 지표: 메타트레이더 5에서 활용하기

아이디어 제공자 — Collector, MQL5 코드 작성자 — barabashkakvn. 스톡 지표는 대기 중인 매도 한도 및 매수 한도 주문을 이용하여 거래를 진행합니다. 매일 23:59에 모든 주문을 삭제하고 포지션을 종료합니다. 대기 중인 주문 가격 계산 방법:    double temp_h=iHigh(1);   double temp_l=iLow(1);   double temp_c=iClose(1);   double H4,L4;   H4 = (((temp_h - temp_l)*1.1) / 2.0) + temp_c;   L4 = temp_c - ((temp_h - temp_l)*1.1) / 2.0;//---   if(db!=str1.day_of_week && s==0)     {      if(!m_trade.SellLimit(Lots,H4,Symbol(),         H4+ExtStopLoss*Point(),         H4-ExtTakeProfit*Point(),0,0,"H4"))         GlobalVariableSet("SELLLIMIT",0);      else        {         GlobalVariableSet("SELLLIMIT",1);         GlobalVariableSet("DateS",str1.day_of_week);        }     }//----   if(db!=str1.day_of_week && b==0)     {      if(!m_trade.BuyLimit(Lots,L4,Symbol(),         L4-ExtStopLoss*Point(),         L4+ExtTakeProfit*Point(),0,0,"L4"))         GlobalVariableSet("BUYLIMIT",0);      else        {         GlobalVariableSet("BUYLIMIT",1);         GlobalVariableSet("DateB",str1.day_of_week);        }     } 23:59에 대기 주문이나 열린 포지션이 있을 경우, 주문이 삭제되고 포지션이 종료됩니다:    if(total_pos><0 && str1.hour==23 && str1.min==59)      DeleteAllPositions();   if(total_orders><0 && str1.hour==23 && str1.min==59)      DeleteAllOrders(); 이 지표는 H1 차트에서 사용하는 것을 추천합니다:  

2017.01.26
Exp_ColorZerolagMomentum_X2: 메타트레이더 5의 트렌드 트레이딩 시스템
MetaTrader5
Exp_ColorZerolagMomentum_X2: 메타트레이더 5의 트렌드 트레이딩 시스템

안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 Exp_ColorZerolagMomentum_X2 트렌드 트레이딩 시스템에 대해 알아보려고 합니다. 이 시스템은 두 개의 ColorZerolagMomentum 지표의 신호를 기반으로 작동합니다. 첫 번째 지표는 주요 선과 신호 선의 위치를 통해 느린 트렌드의 방향을 판단하고, 두 번째 지표는 선이 교차하거나 닿을 때 거래를 열 시점을 결정합니다. 신호는 다음 두 가지 조건이 충족될 때 발생합니다: 빠른 트렌드와 느린 트렌드의 신호가 일치할 때 빠른 트렌드의 방향이 변경될 때 전문가 어드바이저의 입력 파라미터: //+-------------------------------------------------+ //| EA 지표의 입력 파라미터           | //+-------------------------------------------------+ input string Trade="거래 관리";    //+============== 거래 관리 ==============+   input double MM=0.1;               // 거래에서의 예치금 비율 input MarginMode MMMode=LOT;      // 로트 값 탐지 방법 input uint    StopLoss_=1000;      // 스톱로스 (포인트 단위) input uint    TakeProfit_=2000;    // 테이크프라핏 (포인트 단위) input string MustTrade="거래 권한";    //+============== 거래 권한 ==============+   input int    Deviation_=10;       // 최대 가격 편차 (포인트 단위) input bool   BuyPosOpen=true;     // 롱 포지션 진입 허용 input bool   SellPosOpen=true;    // 숏 포지션 진입 허용 //+-------------------------------------------------+ //| 필터 지표의 입력 파라미터        | //+-------------------------------------------------+ input string Filter="느린 트렌드를 위한 파라미터";    //+============== 느린 트렌드를 위한 파라미터 ==============+   input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6;  // 트렌드의 차트 주기 input uint    smoothing=15; input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE;// 적용 가격 //---- input double Factor1=0.05; input uint    Momentum_period1=8; //---- input double Factor2=0.10; input uint    Momentum_period2=21; //---- input double Factor3=0.16; input uint    Momentum_period3=34; //---- input double Factor4=0.26; input int    Momentum_period4=55; //---- input double Factor5=0.43; input uint    Momentum_period5=89; input uint SignalBar=1; // 진입 신호를 얻기 위한 바 인덱스 input bool   BuyPosClose=true;     // 트렌드에 의해 롱 포지션 종료 허용 input bool   SellPosClose=true;    // 트렌드에 의해 숏 포지션 종료 허용 //+-------------------------------------------------+ //| 진입 지표의 입력 파라미터         | //+-------------------------------------------------+ input string Input="진입 파라미터";       //+=============== 진입 파라미터 ===============+   input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30;  // 진입을 위한 차트 주기 input uint    smoothing_=15; input ENUM_APPLIED_PRICE IPC_=PRICE_CLOSE;// 적용 가격 //---- input double Factor1_=0.05; input uint    Momentum_period1_=8; //---- input double Factor2_=0.10; input uint    Momentum_period2_=21; //---- input double Factor3_=0.16; input uint    Momentum_period3_=34; //---- input double Factor4_=0.26; input int    Momentum_period4_=55; //---- input double Factor5_=0.43; input uint    Momentum_period5_=89; input uint SignalBar_=1;// 진입 신호를 얻기 위한 바 인덱스 input bool   BuyPosClose_=false;     // 신호에 의해 롱 포지션 종료 허용 input bool   SellPosClose_=false;    // 신호에 의해 숏 포지션 종료 허용 //+-------------------------------------------------+ 입력 파라미터의 문자열은 전문가의 입력 파라미터 창을 더욱 보기 좋게 하기 위한 것입니다. EA에 포함된 ColorZerolagMomentum_HTF 지표는 전략 테스터에서 트렌드를 보다 편리하게 시각화하기 위한 용도로만 사용됩니다. 다른 작업 모드에서는 비활성화됩니다. ColorZerolagMomentum.ex5 및 ColorZerolagMomentum_HTF.ex5 컴파일된 파일을 <terminal_data_folder>\MQL5\Indicators에 배치하세요. 컴파일 후, Exp_ColorZerolagMomentum.ex5 전문가 파일은 ColorZerolagMomentum.ex5 및 ColorZerolagMomentum_HTF.ex5 지표를 리소스, 로 포함하고 있으므로, 컴파일된 EA가 작동하기 위해 터미널 폴더에 존재할 필요는 없습니다! 이를 위해 해당 코드가 EA 코드에 추가되어 이 지표들이 전문가의 실행 파일에 포함되도록 하였습니다. 지표 실행 파일은 전역 범위에서 리소스로 추가되었습니다. //---- EA 코드에 지표를 리소스로 포함 #resource "\\Indicators\\ColorZerolagMomentum.ex5" #resource "\\Indicators\\ColorZerolagMomentum_HTF.ex5" OnInit() 함수 블록에서 사용된 지표의 경로가 리소스로 변경되었습니다. //---- ColorZerolagMomentum 지표의 핸들 가져오기    InpInd_Handle=iCustom(Symbol(),TimeFrame,"::Indicators\\ColorZerolagMomentum",                          smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);    if(InpInd_Handle==INVALID_HANDLE)      {       Print(" ColorZerolagMomentum 지표 핸들 가져오기 실패");       return(INIT_FAILED);      } //---- ColorZerolagMomentum 지표의 핸들 가져오기    InpInd_Handle_=iCustom(Symbol(),TimeFrame_,"::Indicators\\ColorZerolagMomentum",                           smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);    if(InpInd_Handle_==INVALID_HANDLE)      {       Print(" ColorZerolagMomentum 지표 핸들 가져오기 실패");       return(INIT_FAILED);      }    if(MQLInfoInteger(MQL_VISUAL_MODE))      {       //---- ColorZerolagMomentum_HTF 지표의 핸들 가져오기       int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\ColorZerolagMomentum_HTF",TimeFrame,                              smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);       if(Ind_Handle==INVALID_HANDLE)         {          Print(" ColorZerolagMomentum_HTF 지표 핸들 가져오기 실패");          return(INIT_FAILED);         }       //---- ColorZerolagMomentum_HTF 지표의 핸들 가져오기       Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\ColorZerolagMomentum_HTF",TimeFrame_,                          smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);       if(Ind_Handle==INVALID_HANDLE)         {          Print(" ColorZerolagMomentum_HTF 지표 핸들 가져오기 실패");          return(INIT_FAILED);         }      } 이렇게 해서, 전문가의 컴파일된 실행 파일은 다른 거래 터미널에서도 별도의 지표 없이 사용할 수 있습니다. TradeAlgorithms.mqh 라이브러리 파일은 비제로 스프레드를 제공하는 브로커와 함께 스톱로스 및 테이크프라핏을 포지션 오픈과 함께 설정할 수 있게 도와줍니다. 더 많은 라이브러리 변형은 아래 링크에서 다운로드할 수 있습니다: 거래 알고리즘. 아래 테스트에서 기본 전문가 어드바이저의 입력 파라미터가 사용되었습니다. 테스트 중에는 스톱로스 및 테이크프라핏이 사용되지 않았습니다. Fig. 1. 차트에서의 거래 예 2015년 GBPJPY에 대한 테스트 결과, H6에서 느린 트렌드, M30에서 빠른 트렌드로 진입: Fig. 2. 테스트 결과 차트

2017.01.26
MACD 기반의 EURUSD 1시간 매매 전략 - MetaTrader 5 활용법
MetaTrader5
MACD 기반의 EURUSD 1시간 매매 전략 - MetaTrader 5 활용법

아이디어 제공자 — Gabriel, MQL5 코드 작성자 — barabashkakvn. 이번 전략은 iMACD (MACD) 지표를 기반으로 합니다. 포지션 진입 신호를 체크하는 조건은 다음과 같습니다: void OpenBuyOrSell()  {   double mac1,mac2,mac3,mac4,mac5,mac6,mac7,mac8;   mac1 = iMACDGet(MAIN_LINE,0);   mac2 = iMACDGet(MAIN_LINE,1);   mac3 = iMACDGet(MAIN_LINE,2);   mac4 = iMACDGet(MAIN_LINE,3);   mac5 = iMACDGet(SIGNAL_LINE,0);   mac6 = iMACDGet(SIGNAL_LINE,1);   mac7 = iMACDGet(SIGNAL_LINE,2);   mac8 = iMACDGet(SIGNAL_LINE,3);//--- 롱 포지션(구매) 가능성 체크   if(mac8>mac7 && mac7>mac6 && mac6<mac5 && mac4>mac3 && mac3<mac2 && mac2<mac1 && mac2<-0.00020 && mac4<0 && mac1>0.00020)     {      if(!RefreshRates())         return;      double volume=LotsOptimized();      if(volume==0)         return;      m_trade.Buy(volume,Symbol(),m_symbol.Bid(),0,0,"Expert MACD");      return;     }//--- 숏 포지션(판매) 가능성 체크   if(mac8<mac7 && mac7<mac6 && mac6>mac5 && mac4<mac3 && mac3>mac2 && mac2>mac1 && mac2>0.00020 && mac4>0 && mac1<-0.00035)     {      if(!RefreshRates())         return;      double volume=LotsOptimized();      if(volume==0)         return;      m_trade.Sell(volume,Symbol(),m_symbol.Ask(),0,0,"Expert MACD");      return;     }  } 차트에서 매수 진입:

2017.01.26
MetaTrader 5를 위한 Exp_2pbIdealMA_ReOpen EA 소개
MetaTrader5
MetaTrader 5를 위한 Exp_2pbIdealMA_ReOpen EA 소개

안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 사용할 수 있는 Exp_2pbIdealMA_ReOpen EA에 대해 알아보겠습니다. 이 EA는 이동평균의 교차를 기반으로 포지션 스케일링을 통해 트렌드에 맞춰 거래를 진행합니다. 신호는 바가 닫힐 때 2pbIdeal1MA의 빠른 이동평균과 2pbIdeal3MA의 느린 이동평균이 교차할 때 형성됩니다. 이후, EA 입력 파라미터에서 설정한 임계값을 초과하는 마지막 거래의 이익 포인트에 따라 열린 포지션의 볼륨을 조절합니다. 빠른 이동평균의 돌파는 매수 신호로, 하락은 매도 신호로 작용합니다. 이와 관련된 포지션 스케일링 정보는 거래 코멘트에 스케일 수 / 마지막 거래 가격 / 마지막 거래 볼륨 형식으로 저장됩니다. 먼저, 2pbIdeal1MA.ex5와 2pbIdeal3MA.ex5 파일을 <terminal_data_folder>\MQL5\Indicators 폴더에 넣어주세요. 컴파일 후, Exp_2pbIdealMA_ReOpen.ex5 EA 파일에는 2pbIdeal1MA.ex5와 2pbIdeal3MA.ex5 지표가 리소스로 포함되어 있어, 이 지표들이 터미널 폴더에 없어도 EA가 정상적으로 작동합니다! 이를 위해 EA 코드에 해당 지표들을 포함하는 코드가 추가되었습니다. 지표 실행 파일은 전역 범위에서 리소스로 추가되었습니다. //---- EA 코드에 지표 포함하기#resource "\\Indicators\\2pbIdeal1MA.ex5" #resource "\\Indicators\\2pbIdeal3MA.ex5" 이후, OnInit() 함수 블록에서 리소스로 사용된 지표의 경로를 변경했습니다. //---- 2pbIdeal1MA 지표 핸들 가져오기 InpInd1_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\2pbIdeal1MA.ex5",Period1,Period2,0); if(InpInd1_Handle==INVALID_HANDLE) { Print("2pbIdeal1MA 지표 핸들 가져오기 실패! 오류 코드=",GetLastError(),"."); return(INIT_FAILED); }//---- 2pbIdeal3MA 지표 핸들 가져오기 InpInd2_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\2pbIdeal3MA.ex5",PeriodX1,PeriodX2,PeriodY1,PeriodY2,PeriodZ1,PeriodZ2,0); if(InpInd2_Handle==INVALID_HANDLE) { Print("2pbIdeal3MA 지표 핸들 가져오기 실패! 오류 코드=",GetLastError(),"."); return(INIT_FAILED); } 이렇게 해서, EA의 컴파일된 실행 파일은 다른 거래 터미널에서도 지표 없이 독립적으로 사용할 수 있습니다. 아래의 테스트에서는 기본 Expert Advisor의 입력 파라미터를 사용했습니다. 테스트 동안 Stop Loss와 Take Profit은 사용되지 않았습니다. Fig. 1. 차트에서의 거래 예시 2015년 GBPJPY H4에 대한 테스트 결과입니다: Fig. 2. 테스트 결과 차트

2017.01.26
CrossMA - 메타트레이더 5를 위한 효율적인 트레이딩 시스템
MetaTrader5
CrossMA - 메타트레이더 5를 위한 효율적인 트레이딩 시스템

아이디어 저자 — 조지 F. 페스코프, MQL5 코드 저자 — barabashkakvn. CrossMA는 두 개의 이동평균(iMA)의 교차를 기반으로 한 트레이딩 시스템입니다. 손실을 최소화하기 위해 ATR 값을 기반으로 자동으로 손절매가 설정됩니다. 포지션이 열리거나 닫힐 때마다 이메일 알림이 발송됩니다. 매개변수는 백테스트를 통해 선택할 수 있습니다. 지표 값 가져오기 첫 번째와 두 번째 바에서 지표 값을 가져오려면 다음과 같은 코드를 사용합니다: //--- 이동 평균 값 가져오기   mas=iMAGet(handle_iMA1,1);       // 장기 이동 평균 12   maf=iMAGet(handle_iMA2,1);       // 단기 이동 평균 4   mas_p=iMAGet(handle_iMA1,2);     // 장기 이동 평균 12   maf_p=iMAGet(handle_iMA2,2);     // 단기 이동 평균 4   Atr=iATRGet(0); 매도 조건 확인 매도 조건을 확인하는 코드는 다음과 같습니다: //--- 매도 조건   if(maf<mas && maf_p>=mas_p)     {      double lots=LotsOptimized();      double stop_loss=NormalizeDouble(m_symbol.Ask()+Atr,Digits());      res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),stop_loss,0);      if(SndMl==true && res)        {         sHeaderLetter="매도 작전: "+Symbol()+"";         sBodyLetter="매도 거래: "+Symbol()+" 가격: "+DoubleToString(m_symbol.Bid(),Digits())+                     ", 손절매 가격: "+DoubleToString(stop_loss,Digits())+"";         sndMessage(sHeaderLetter,sBodyLetter);        }      return;     } 매수 조건 확인 매수 조건을 확인하는 코드는 다음과 같습니다: //--- 매수 조건   if(maf>mas && maf_p<=mas_p)     {      double lots=LotsOptimized();      double stop_loss=NormalizeDouble(m_symbol.Bid()-Atr,Digits());      res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),stop_loss,0);      if(SndMl==true && res)        {         sHeaderLetter="매수 작전: "+Symbol()+"";         sBodyLetter="매수 거래: "+Symbol()+" 가격: "+DoubleToString(m_symbol.Ask(),Digits())+                     ", 손절매 가격: "+DoubleToString(stop_loss,Digits())+"";         sndMessage(sHeaderLetter,sBodyLetter);        }      return;     }  

2017.01.26
MetaTrader 5를 위한 Exp_FisherTransform_X2 트렌드 트레이딩 시스템 소개
MetaTrader5
MetaTrader 5를 위한 Exp_FisherTransform_X2 트렌드 트레이딩 시스템 소개

안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 사용할 수 있는 Exp_FisherTransform_X2 트렌드 트레이딩 시스템에 대해 소개해 드리겠습니다. 이 시스템은 두 개의 FisherTransform 지표의 신호를 기반으로 작동합니다. 시스템의 작동 원리 첫 번째 지표는 주요 선과 신호 선의 위치를 기반으로 느린 트렌드의 방향을 결정합니다. 두 번째 지표는 선이 교차하거나 접촉했을 때 매매를 시작할 시점을 결정합니다. 신호는 다음의 두 조건이 충족될 때 형성됩니다: 빠른 트렌드와 느린 트렌드의 신호가 일치할 때 빠른 트렌드의 방향이 변화할 때 EA의 입력 파라미터 Expert Advisor의 입력 파라미터는 다음과 같습니다: //+-------------------------------------------------+ //| EA 지표의 입력 파라미터           | //+-------------------------------------------------+ input string Trade="거래 관리";    //+============== 거래 관리 ==============+ input double MM=0.1;               //거래에 대한 예치금 비율 input MarginMode MMMode=LOT;      //로트 값 감지 방법 input uint    StopLoss_=1000;      //스톱 로스 (포인트) input uint    TakeProfit_=2000;      //테이크 프로핏 (포인트) 기타 파라미터 EA의 필터 지표와 진입 지표의 입력 파라미터는 다음과 같습니다: 느린 트렌드 파라미터: 기본적으로 느린 트렌드의 차트 주기를 설정하고, 신호 바 인덱스 및 매수/매도 종료 조건을 조정할 수 있습니다. 진입 파라미터: 진입 신호를 결정하기 위한 차트 주기와 신호 바 인덱스를 설정할 수 있습니다. 모든 입력 파라미터는 전략 테스트 창에서 더 나은 시각화를 위해 설정된 것입니다. FisherTransform_HTF 지표는 전략 테스터에서 트렌드를 시각화하는 용도로만 사용되며, 다른 작동 모드에서는 비활성 상태입니다. FisherTransform.ex5 및 FisherTransform_HTF.ex5 컴파일 파일은 <terminal_data_folder>\MQL5\Indicators에 위치시켜야 합니다. 중요: TradeAlgorithms.mqh 라이브러리 파일을 사용하면 비제로 스프레드의 브로커와 함께 Expert Advisors를 사용할 수 있으며, 포지션 오픈 시 스톱 로스 및 테이크 프로핏을 설정할 수 있습니다. 추가적인 라이브러리 변형은 Trade Algorithms 링크에서 다운로드하실 수 있습니다. 아래 테스트에서 사용된 기본 Expert Advisor의 입력 파라미터를 참고하시기 바랍니다. 테스트 동안 스톱 로스와 테이크 프로핏은 사용되지 않았습니다. 차트에서의 거래 예시 2015년 EURUSD에 대한 테스트 결과, H4에서 느린 트렌드, M30에서 빠른 트렌드에 따라 진입했습니다: 테스트 결과 차트

2017.01.26
MetaTrader 5를 위한 Exp_AdaptiveCGOscillator_X2 시스템 트레이딩 안내
MetaTrader5
MetaTrader 5를 위한 Exp_AdaptiveCGOscillator_X2 시스템 트레이딩 안내

안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 사용할 수 있는 Exp_AdaptiveCGOscillator_X2 트렌드 트레이딩 시스템을 소개해 드릴게요. 이 시스템은 두 개의 AdaptiveCGOscillator 지표 신호를 기반으로 합니다.첫 번째 지표는 주 추세의 방향을 결정하며, 두 번째 지표는 거래를 열 시점을 결정합니다. 거래 신호는 두 가지 조건이 충족될 때 형성됩니다:빠른 추세와 느린 추세의 신호가 일치할 때;빠른 추세의 방향이 바뀔 때.Expert Advisor의 입력 매개변수://+-------------------------------------------------+//| EA 지표의 입력 매개변수           |//+-------------------------------------------------+input string Trade="거래 관리";    //+============== 거래 관리 ==============+  input double MM=0.1;               //거래에서의 예치금 비율input MarginMode MMMode=LOT;      //로트 값 결정 방법input uint    StopLoss_=1000;      //포인트 단위의 스톱 로스input uint    TakeProfit_=2000;    //포인트 단위의 테이크 프로핏input string MustTrade="거래 권한";    //+============== 거래 권한 ==============+  input int    Deviation_=10;       //최대 가격 변동 허용 범위(포인트)input bool   BuyPosOpen=true;     //롱 포지션 진입 허용input bool   SellPosOpen=true    //숏 포지션 진입 허용//+-------------------------------------------------+//| 필터 지표의 입력 매개변수        |//+-------------------------------------------------+input string Filter="느린 추세 파라미터";    //+============== 느린 추세 파라미터 ==============+  input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6;  //1차트 주기input double Alpha=0.07;//지표 평활 비율input uint SignalBar=1; //진입 신호를 위한 바 인덱스input bool   BuyPosClose=true;     //추세에 따라 롱 포지션 종료 허용input bool   SellPosClose=true;    //추세에 따라 숏 포지션 종료 허용//+-------------------------------------------------+//| 진입 지표의 입력 매개변수         |//+-------------------------------------------------+input string Input="진입 파라미터";       //+=============== 진입 파라미터 ===============+  input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30;  //2차트 주기input double Alpha_=0.07;//지표 평활 비율input uint SignalBar_=1;//진입 신호를 위한 바 인덱스input bool   BuyPosClose_=false;     //신호에 따라 롱 포지션 종료 허용input bool   SellPosClose_=false;    //신호에 따라 숏 포지션 종료 허용//+-------------------------------------------------+입력 매개변수의 코드에서 문자열 매개변수는 전문가의 입력 매개변수 창을 보다 잘 시각화하기 위함입니다.EA에 포함된 AdaptiveCGOscillator_Cloud_HTF 지표는 전략 테스트에서 트렌드를 보다 편리하게 시각화하기 위한 것이며, 다른 운영 모드에서는 비활성화됩니다.AdaptiveCGOscillator.ex5, CyclePeriod.ex5 및 AdaptiveCGOscillator_Cloud_HTF.ex5 컴파일된 파일을 <terminal_data_folder>\MQL5\Indicators에 배치하세요.TradeAlgorithms.mqh 라이브러리 파일은 0이 아닌 스프레드를 제공하는 브로커와 함께 스톱 로스 및 테이크 프로핏을 포지션 개설과 함께 설정하는 옵션을 사용할 수 있게 해줍니다. 라이브러리의 다양한 변형은 다음 링크에서 다운로드할 수 있습니다: 거래 알고리즘.아래 테스트에서 사용된 기본 Expert Advisor의 입력 매개변수는 스톱 로스와 테이크 프로핏이 사용되지 않았습니다.Fig. 1. 거래 예시2015년 EURUSD에 대한 테스트 결과, H6에서 느린 추세, M30에서 빠른 추세로 진입한 결과:Fig. 2. 테스트 결과 차트

2017.01.26
MetaTrader 5를 위한 TrendMeLeaveMe: 트렌드 라인 기반 EA
MetaTrader5
MetaTrader 5를 위한 TrendMeLeaveMe: 트렌드 라인 기반 EA

아이디어 제공자 — Ahmad Waddah Attar, mq5 코드 작성자 — barabashkakvn.TrendMeLeaveMe는 MetaTrader 5에서 사용할 수 있는 EA입니다. 이 반자동 Expert Advisor는 트렌드 라인(TrendLine)을 기반으로 작동합니다.EA를 실행하기 전에 간단히 상승 또는 하락 트렌드를 그려주세요. 속성을 설정하고 EA를 시작하면, 다른 일에 집중할 수 있습니다.이 EA는 자동화된 시스템입니다. 먼저 상승, 하락 또는 수평 트렌드를 그려야 합니다: 이름을 buystop 또는 sellstop으로 설정하고, BuyStop_StepUpper, BuyStop_StepLower, SellStop_StepUpper, SellStop_StepLower 파라미터를 입력하세요.가격이 buystop과 BuyStop_StepLower 레벨 사이로 들어오면, EA는 BuyStop_StepUpper 가격에 따라 buystop 주문을 엽니다. 가격이 sellstop과 SellStop_StepUpper 레벨 사이로 들어오면, EA는 SellStop_StepLower 가격에 따라 sellstop 주문을 엽니다.EA는 항상 트렌드를 따르며 표시된 영역을 벗어날 때까지 두 주문 유형의 OpenPrice를 변경합니다.buystop 주문을 열기 위해 BuyStop_StopLoss, BuyStop_Takeprofit, BuyStop_Lot을 조정할 수 있습니다. sellstop 주문을 위해서는 SellStop_StopLoss, SellStop_Takeprofit, SellStop_Lot을 설정할 수 있습니다.차트에서 어떻게 보이는지 확인해보세요:또 다른 예시: 

2017.01.20
처음 이전 29 30 31 32 33 34 35 36 37 38 39 다음 마지막