보조지표

메타트레이더 5에서 가격 알림을 설정하는 방법
MetaTrader5
메타트레이더 5에서 가격 알림을 설정하는 방법

안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 가격 알림을 설정하는 방법에 대해 이야기해볼게요. 이 인디케이터는 마우스 클릭과 키보드 입력을 이해하여, 시장이 도달하지 않은 가격에 알림을 생성해줍니다. 특정 가격을 넘어설 때 알림을 받을 수 있어, 트레이딩 시스템의 이론을 검증하거나 주요 시장 가격에 도달했을 때 유용합니다. 그럼 알림을 설정하는 방법을 하나씩 살펴보겠습니다. 1. 인디케이터 로드 후 설정하기 차트에 인디케이터를 로드한 후, 필요에 따라 하락 또는 상승 알림을 설정할 수 있습니다. 알림의 시간대도 조정할 수 있는데, 기본적으로 GMT+3로 설정되어 있습니다. GMT, GMT+1 또는 GMT+2로 변경할 수 있습니다. 2. 알림 유형 선택하기 알림은 기본 알림 창을 통해 설정하거나, 메타트레이더 5 모바일 앱으로 푸시 알림을 받을 수도 있습니다. 이메일 알림도 가능해요. 3. 알림 생성하기 차트에서 왼쪽 클릭을 하면 알림이 생성됩니다. 클릭한 위치에 알림이 설정되고, 알림이 생성된 후에는 잠금 상태가 됩니다. 4. 알림 위치 변경하기 알림 위치를 변경하고 싶다면, 키보드의 위쪽 화살표 키를 누르면 잠금이 해제됩니다. 이후 다른 위치를 클릭하여 알림의 위치를 변경할 수 있습니다. 5. 알림 초기화하기 알림을 초기화하려면 인디케이터 창을 열어 하락 또는 상승 알림을 선택하고, 다시 위쪽 화살표 키를 눌러 잠금을 해제한 다음, 차트에서 클릭하여 알림을 다시 고정할 수 있습니다. 알림은 앞으로 예상되는 가격을 기준으로 설정됩니다. 이런 알림의 목적은 시장이 어디로 가고 있는지에 대한 가정을 검증하는 것입니다. 이런 "가격 교차 알림"은 TradingView 플랫폼에서는 이미 가능하지만, 메타트레이더에서는 지원되지 않았습니다. 업데이트 소식 버전 1.01로 업데이트된 인디케이터는 하락 또는 상승 알림을 설정할 필요가 없습니다. 가격 임계값에서 교차하는 로직에 초점을 맞추고 있습니다. 이 인디케이터가 마음에 드신다면, 소정의 기부도 고려해보세요! https://www.paypal.com/paypalme/fxcalculator

2024.05.11
기하평균 이동평균: 메타트레이더 5에서 활용하는 지표
MetaTrader5
기하평균 이동평균: 메타트레이더 5에서 활용하는 지표

안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 기하평균 이동평균에 대해 이야기해보려고 합니다. 기하평균이란? 기하평균은 수학에서 사용되는 평균의 일종으로, 주어진 수치들의 곱을 바탕으로 중앙 경향성을 나타냅니다. 이는 일반적인 산술 평균이 합계를 사용하는 것과는 다른 점이죠. 기하평균의 활용 기하평균은 주로 곱셈 관계가 있는 수치들, 예를 들어 인구 성장률이나 금융 투자에 대한 이자율 등에서 사용됩니다. 또한, 속도비율의 평균을 계산할 때 특히 유용한데요, 예를 들어 0.5배(반속)와 2배(두 배 빠름)의 평균은 1이 되어 속도 향상이 없음을 나타냅니다. 비율 성장 설명에 더 적합한 기하평균 기하평균은 비율 성장, 즉 일정 비율로 성장하는 경우와 변화하는 성장에 대해 설명하는 데 더 적합합니다. 비즈니스에서는 기하평균 성장률이 복리 연간 성장률(CAGR)로 알려져 있습니다. 여러 기간에 걸친 성장의 기하평균은 동일한 최종 결과를 가져오는 상수 성장률을 제공합니다. 기하평균 이동평균의 장점 정확한 데이터 분석: 기하평균 이동평균은 변동성이 큰 시장에서도 안정적인 신호를 제공할 수 있습니다. 장기적 전망: 단기적인 변동보다는 장기적인 성장 추세를 포착하는 데 유리합니다. 투자 전략: 기하평균을 바탕으로 한 시스템 트레이딩 전략을 개발할 수 있습니다. 마무리 기하평균 이동평균은 트레이딩에서 유용하게 사용될 수 있는 도구입니다. 여러분의 전략에 잘 활용해보시기 바랍니다. 더 많은 정보가 필요하시다면 댓글로 질문해 주세요!

2024.04.28
메타트레이더 5를 위한 커스텀 볼린저 밴드 지표
MetaTrader5
메타트레이더 5를 위한 커스텀 볼린저 밴드 지표

안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 커스텀 볼린저 밴드 지표에 대해 이야기해볼까 합니다. 기존의 볼린저 밴드는 단순 이동 평균 방법만 제공하지만, 제가 개발한 이 지표는 지수 이동 평균, 스무딩 이동 평균, 선형 가중 이동 평균 등 다양한 방법을 선택할 수 있는 옵션을 제공합니다.지표를 사용하려면, 먼저 아래의 경로에 파일을 저장해야 합니다:C:\Users\사용자이름\AppData\Roaming\MetaQuotes\Terminal\Indicators\Examples추가된 기능은 다음과 같습니다:기본값은 0으로 설정되어 있습니다:여기서는 선형 가중 이동 평균을 선택하여 실행한 예시를 보여드리겠습니다:  다음은 지표의 코드입니다://+------------------------------------------------------------------+ //|                                              BBPersonalizada.mq5 | //|                                            Lucas Vidal | //|                                             https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright   "Lucas Vidal" #property link        "https://www.mql5.com/en/users/lucasmoura00" #property description "Bollinger Bands Personalizada" #include <MovingAverages.mqh> //--- #property indicator_chart_window #property indicator_buffers 4 #property indicator_plots   3 #property indicator_type1   DRAW_LINE #property indicator_color1  LightSeaGreen #property indicator_type2   DRAW_LINE #property indicator_color2  LightSeaGreen #property indicator_type3   DRAW_LINE #property indicator_color3  LightSeaGreen #property indicator_label1  "Bands middle" #property indicator_label2  "Bands upper" #property indicator_label3  "Bands lower" //--- input parameters enum MovingAverageMethod {     Simple,    // 0     Exponential,  // 1     Smoothed,     // 2     LinearWeighted  // 3 }; input MovingAverageMethod InpMaMethod = Simple; // 이동 평균 방법 input int     InpBandsPeriod=20;       // 기간 input int     InpBandsShift=0;         // 이동 input double  InpBandsDeviations=2.0  // 편차 //--- global variables int           ExtBandsPeriod,ExtBandsShift; double        ExtBandsDeviations; int           ExtPlotBegin=0; //--- indicator buffer double        ExtMLBuffer[]; double        ExtTLBuffer[]; double        ExtBLBuffer[]; double        ExtStdDevBuffer[]; //+------------------------------------------------------------------+ //| 커스텀 지표 초기화 함수                                         | //+------------------------------------------------------------------+ void OnInit()   { //--- 입력 값 확인    if(InpBandsPeriod<2)      {       ExtBandsPeriod=20;       PrintFormat("잘못된 입력 변수 InpBandsPeriod=%d. 지표가 계산에 사용할 값=%d입니다.",InpBandsPeriod,ExtBandsPeriod);      }    else       ExtBandsPeriod=InpBandsPeriod;    if(InpBandsShift<0)      {       ExtBandsShift=0;       PrintFormat("잘못된 입력 변수 InpBandsShift=%d. 지표가 계산에 사용할 값=%d입니다.",InpBandsShift,ExtBandsShift);      }    else       ExtBandsShift=InpBandsShift;    if(InpBandsDeviations==0.0)      {       ExtBandsDeviations=2.0;       PrintFormat("잘못된 입력 변수 InpBandsDeviations=%f. 지표가 계산에 사용할 값=%f입니다.",InpBandsDeviations,ExtBandsDeviations);      }    else       ExtBandsDeviations=InpBandsDeviations; //--- 버퍼 정의    SetIndexBuffer(0,ExtMLBuffer);    SetIndexBuffer(1,ExtTLBuffer);    SetIndexBuffer(2,ExtBLBuffer);    SetIndexBuffer(3,ExtStdDevBuffer,INDICATOR_CALCULATIONS); //--- 인덱스 레이블 설정    PlotIndexSetString(0,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Middle");    PlotIndexSetString(1,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Upper");    PlotIndexSetString(2,PLOT_LABEL,"Bands("+string(ExtBandsPeriod)+") Lower"); //--- 지표 이름 설정    IndicatorSetString(INDICATOR_SHORTNAME,"Bollinger Bands"); //--- 인덱스 그리기 시작 설정    ExtPlotBegin=ExtBandsPeriod-1;    PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtBandsPeriod);    PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtBandsPeriod); //--- 인덱스 이동 설정    PlotIndexSetInteger(0,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(1,PLOT_SHIFT,ExtBandsShift);    PlotIndexSetInteger(2,PLOT_SHIFT,ExtBandsShift); //--- 지표 값의 숫자 자리수 설정    IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);   } //+------------------------------------------------------------------+ //| 이동 평균 계산                                         | //+------------------------------------------------------------------+ double CalculateMovingAverage(int position, int period, const double &price[]) {     switch(InpMaMethod) {         case Simple:             return SimpleMA(position, period, price);         case Exponential:             // iMA 호출 시 올바른 매개변수 수정             return iMA(NULL, 0, period, 0, MODE_EMA, PRICE_CLOSE);         case Smoothed:             // SMMA 함수를 구현하세요             break;         case LinearWeighted:             return LinearWeightedMA(position, period, price);     }     return 0; // 정의되지 않은 방법의 기본 반환 } //+------------------------------------------------------------------+ //| 볼린저 밴드                                                  | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total,                 const int prev_calculated,                 const int begin,                 const double &price[])   {    if(rates_total<ExtPlotBegin)       return(0); //--- 이전 시작 시점으로 인덱스 그리기 시작 설정    if(ExtPlotBegin!=ExtBandsPeriod+begin)      {       ExtPlotBegin=ExtBandsPeriod+begin;       PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtPlotBegin);       PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtPlotBegin);       PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtPlotBegin);      } //--- 계산 시작    int pos;    if(prev_calculated>1)       pos=prev_calculated-1;    else       pos=0; //--- 메인 사이클    for(int i=pos; i<rates_total && !IsStopped(); i++)      {       //--- 중간선       ExtMLBuffer[i]=CalculateMovingAverage(i, ExtBandsPeriod, price);       //--- 표준편차 계산 및 기록       ExtStdDevBuffer[i]=StdDev_Func(i,price,ExtMLBuffer,ExtBandsPeriod);       //--- 상한선       ExtTLBuffer[i]=ExtMLBuffer[i]+ExtBandsDeviations*ExtStdDevBuffer[i];       //--- 하한선       ExtBLBuffer[i]=ExtMLBuffer[i]-ExtBandsDeviations*ExtStdDevBuffer[i];      } //--- OnCalculate 완료. 새로운 prev_calculated 반환.   return(rates_total);   } //+------------------------------------------------------------------+ //| 표준 편차 계산                                     | //+------------------------------------------------------------------+ double StdDev_Func(const int position,const double &price[],const double &ma_price[],const int period)   {    double std_dev=0.0; //--- 표준편차 계산    if(position>=period)      {       for(int i=0; i<period; i++)          std_dev+=MathPow(price[position-i]-ma_price[position],2.0);       std_dev=MathSqrt(std_dev/period);      } //--- 계산된 값 반환    return(std_dev);   } //+------------------------------------------------------------------+

2024.04.28
로그arithmic 이동 평균: 메타트레이더 5에서 활용하는 지표
MetaTrader5
로그arithmic 이동 평균: 메타트레이더 5에서 활용하는 지표

안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 로그arithmic 이동 평균에 대해 알아보려고 합니다. 이 지표는 어떻게 활용할 수 있는지, 그리고 왜 중요한지에 대해 이야기를 나눠볼게요. 먼저, 로그 평균이라는 개념은 수학에서 두 개의 비음수 숫자에 대한 함수로, 그 차이를 그 비율의 로그로 나눈 값입니다. 이 계산은 공학 문제에서 열과 물질 전달과 관련하여 유용하게 사용됩니다. 하지만 트레이딩에서는 이 개념을 조금 다르게 접근할 수 있습니다. 로그arithmic 이동 평균은 특히 변동성이 큰 시장에서 유용합니다. 이 지표는 가격의 평균을 산출하면서도 가격의 급격한 변동에 민감하게 반응합니다. 따라서 단기적인 트렌드를 파악하는 데 큰 도움이 될 수 있습니다. 이 지표를 사용할 때는 다음과 같은 점을 고려해 보세요: 트렌드를 파악할 때 로그arithmic 이동 평균의 기울기를 확인하세요. 상승세인지 하락세인지 한눈에 알 수 있습니다. 다른 지표와 함께 사용하면 더욱 효과적입니다. 예를 들어, RSI(상대 강도 지수)와 함께 활용하면 진입 및 청산 시점을 더 명확하게 판단할 수 있습니다. 실제 거래에서 활용하기 위해서는 백테스팅을 통해 이 지표가 유효한지 확인하는 것이 중요합니다. 로그arithmic 이동 평균을 사용하여 더 나은 트레이딩 결정을 내릴 수 있기를 바랍니다. 여러분의 성공적인 트레이딩을 응원합니다!

2024.04.05
iForexSessions - 메타트레이더 5용 외환 세션 인디케이터 소개
MetaTrader5
iForexSessions - 메타트레이더 5용 외환 세션 인디케이터 소개

외환 세션 인디케이터 외환 시장 세션을 강조 표시합니다. 이 인디케이터는 각 외환 시장의 현지 "벽시계" 거래 시간을 오전 8시부터 오후 5시까지로 설정하고 있습니다. 시드니는 오전 7시부터 오후 4시 또는 오전 9시부터 오후 6시까지입니다. 주요 기능: 시드니, 도쿄, 런던, 뉴욕의 외환 시장 세션을 색깔로 구분하여 표시합니다. 외환 쌍 및 금 차트에서 정확한 세션 시간을 제공합니다. 외환 쌍 거래는 오후 5시부터 시작되며, 금 거래는 1시간 후에 시작됩니다. 인디케이터는 브로커 서버의 GMT 오프셋과 일광 절약 시간제를 고려하여 시간 계산을 수행합니다. 추가 브로커 시계(왼쪽 하단에 위치)에서 유용한 정보 제공: 서버 시간 브로커 GMT 오프셋 주말까지 남은 시간 (열려 있는 거래를 종료하거나 주말 전에 새 거래를 시작하지 않도록 도와줍니다.) 로컬 컴퓨터의 시간 동기화 상태. 컴퓨터 시간이 동기화되지 않은 경우 확인할 수 있는 링크: https://time.is/ 차트 바 위에 마우스 포인터를 올리고 'Ctrl' 키를 누르면 해당 바의 번호와 시간(주요 외환 시장의 시간도 함께 표시됨)이 차트 창에 기록됩니다. 입력 매개변수: 매개변수: "서버의 TZ/DST 추정을 위한 XAUUSD 심볼 로드" 기본적으로 인디케이터는 서버의 시간대 오프셋을 추정하기 위해 XAUUSD 심볼을 검색하고 로드합니다. XAUUSD는 특히 브로커가 EU DST 일정을 따르는 경우 더 신뢰할 수 있는 결과를 제공합니다. 만약 브로커가 미국 DST 일정을 따르거나 일정이 없는 경우, 현재 차트의 심볼을 사용하는 것도 괜찮습니다. 이 매개변수를 'false'로 설정하면 XAUUSD 대신 현재 차트 심볼을 사용합니다. 참고: XAUUSD는 외환보다 1시간 늦게 시작되므로, 전략 테스터에서는 DST 전환이 1시간 늦게 발생할 수 있습니다. 보너스 기능: 차트 바 위에 마우스 포인터를 올리고 'Ctrl' 키를 누르면 해당 바의 번호와 시간(주요 외환 시장의 시간도 함께 표시됨)이 차트 창에 기록됩니다. 디버그 정보를 삭제하려면 차트의 아무 곳이나 클릭하세요(‘Ctrl’ 키를 누르지 않고). 기타 시장 세션 인디케이터: Market_Sessions i-Sessions Trading Sessions Open - Close Forex market sessions identification 위의 모든 인디케이터는 고정된 시간대 오프셋을 사용하고 있으며, 브로커 서버의 DST나 시간대를 고려하지 않으므로 정확하지 않을 수 있습니다. 이는 브로커가 시간대를 DST로 전환하거나 주요 외환 시장 중 하나 이상이 시간대의 DST를 변경할 때 세션 시간이 연중 변경될 수 있습니다. 공지: 이 인디케이터는 다음과 같은 다양한 거래 일정, GMT 오프셋 및 여름 DST 일정을 가진 브로커에서 작동이 확인되었습니다: Admirals Markets FxPro RannForex EXNESS FXOpen IC Markets Octa Markets Tickmill XM Global 이 인디케이터는 다른 브로커에서도 올바르게 작동할 것입니다. 전략 테스터와의 호환성에 대한 주의사항 전략 테스터에서 테스트하는 동안 TimeGMT()는 항상 TimeTradeServer()의 시뮬레이션된 서버 시간과 동일합니다. TimeZoneInfo 라이브러리는 H1 인용 기록을 분석하여 "진정한" GMT 기준으로 시간대를 추정합니다. 입력 매개변수 "서버의 TZ/DST 추정을 위한 XAUUSD 심볼 로드"가 TRUE로 설정된 경우, 전략 테스터에서 DST 전환이 1시간 늦게 발생할 수 있습니다.

2024.03.26
처음 이전 6 7 8 9 10 11 12 13 14 15 16 다음 마지막