보조지표

ATR 클래식 지표: William210의 iATR 없이 사용하는 법
MetaTrader5
ATR 클래식 지표: William210의 iATR 없이 사용하는 법

안녕하세요, 트레이더 여러분! 오늘은 ATR 클래식 지표에 대해 이야기해보려고 합니다. 이 지표는 변동성을 측정하는 데 유용한 도구인데요, 특히 iATR 없이도 효과적으로 활용할 수 있는 방법을 공유하고자 합니다.먼저, ATR(평균 진폭 범위) 지표에 대해 간단히 설명해드릴게요. ATR은 특정 기간 동안의 가격 변동성을 나타내는 지표로, 시장의 변동성을 파악하는 데 큰 도움을 줍니다. 하지만, iATR 없이도 충분히 유용하게 사용할 수 있다는 점을 강조하고 싶습니다.아래 이미지는 William210이 만든 ATR 클래식 지표의 스크린샷입니다. 이 지표를 사용하여 자신의 트레이딩 전략에 어떻게 적용할 수 있는지 확인해보세요:이 지표를 활용할 때는 아래와 같은 점들을 고려해보세요:시장 상황 파악: ATR 지표를 통해 현재 시장의 변동성을 분석하세요.트레이딩 전략에 통합: ATR 값을 사용하여 진입 및 청산 전략을 세워보세요.위험 관리: 변동성을 기반으로 손절매 및 이익 실현 지점을 설정하세요.이처럼 ATR 클래식 지표를 적절히 활용하면, 보다 효과적인 트레이딩이 가능하답니다. 궁금한 점이 있거나 추가적인 정보가 필요하시면 언제든지 댓글로 남겨주세요! 함께 좋은 정보를 나누는 공간이 되었으면 합니다.

2024.06.29
메타트레이더 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
다이나믹 채널을 활용한 CCI 지표 소개 - 메타트레이더 4에서 트레이딩하기
MetaTrader4
다이나믹 채널을 활용한 CCI 지표 소개 - 메타트레이더 4에서 트레이딩하기

CCI란 무엇인가요? CCI(상품 채널 지수)는 가격의 변동성을 측정하고 과매도 또는 과매수 상태를 파악하는 데 유용한 지표입니다. CCI는 시장의 트렌드를 이해하고 진입 및 청산 시점을 결정하는 데 도움을 줍니다. 다이나믹 채널의 필요성 시장이 변동성이 크거나 조정 중일 때, 고정된 채널보다는 다이나믹한 채널이 더 효과적입니다. 다이나믹 채널을 사용하면 시장의 흐름에 따라 유연하게 대응할 수 있어 보다 신뢰성 있는 매매 결정을 내릴 수 있습니다. 메타트레이더 4에서 CCI와 다이나믹 채널 설정하기 CCI 설정하기: 메타트레이더 4의 지표 목록에서 CCI를 선택하고, 기본 설정을 조정하여 필요에 맞게 설정합니다. 다이나믹 채널 설정하기: 이동 평균과 같은 다른 지표를 사용하여 다이나믹 채널을 만들 수 있습니다. 예를 들어, 20일 이동 평균을 기준으로 상하단 채널을 설정합니다. 매매 전략 CCI와 다이나믹 채널을 조합하여 매매 신호를 포착하는 전략을 사용할 수 있습니다. CCI가 100을 초과하면 과매수 신호로 보고, -100 이하일 경우 과매도 신호로 분석할 수 있습니다. 이때 다이나믹 채널의 경계를 고려하여 매매 결정을 내리세요. 결론 CCI와 다이나믹 채널의 조합은 트레이더에게 효과적인 매매 기회를 제공할 수 있습니다. 메타트레이더 4에서 이러한 지표를 활용하여 보다 정확한 트레이딩을 경험해 보세요!

2024.05.04
기하평균 이동평균: 메타트레이더 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
처음 이전 11 12 13 14 15 16 17 18 19 20 21 다음 마지막