안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 iRSISignAlert 지표에 대해 소개해 드리겠습니다. 이 지표는 고전적인 상대강도지수(Relative Strength Index, RSI)를 기반으로 하여 과매도 및 과매수 구역을 벗어나는 신호를 제공하며, 알림 기능과 모바일 장치로 이메일 및 푸시 알림을 전송하는 기능이 있습니다.
이번 업데이트에서는 알림, 이메일 메시지 및 푸시 알림 기능을 구현하기 위해 지표 코드에 몇 가지 변경 사항이 반영되었습니다:
- 새로운 입력 매개변수가 추가되었습니다:
input uint NumberofBar=1;//신호를 위한 바 수 input bool SoundON=true; //알림 활성화 input uint NumberofAlerts=2;//알림 수 input bool EMailON=false; //신호 이메일 전송 활성화 input bool PushON=false; //모바일 장치로 신호 전송 활성화
- 지표 코드의 끝부분에 세 가지 새로운 함수를 추가했습니다: BuySignal(), SellSignal(), GetStringTimeframe()
//+------------------------------------------------------------------+ //| 구매 신호 함수 | //+------------------------------------------------------------------+ void BuySignal(string SignalSirname,// 이메일 및 푸시 메시지에 사용할 지표 이름 double &BuyArrow[],// 구매 신호를 위한 지표 버퍼 const int Rates_total,// 현재 바 수 const int Prev_calculated,// 이전 틱의 바 수 const double &Close[],// 종가 const int &Spread[]) { ... }
- 지표 계산 주기 후 BuySignal() 및 SellSignal() 함수 호출을 추가했습니다:
BuySignal("iWPRSign", BuyBuffer, rates_total, prev_calculated, close, spread); SellSignal("iWPRSign", SellBuffer, rates_total, prev_calculated, close, spread);
여기서 BuyBuffer와 SellBuffer는 구매 및 판매 신호를 저장하기 위한 지표 버퍼의 이름입니다. 지표 버퍼에 있는 빈 값은 0 또는 EMPTY_VALUE로 설정해야 합니다.
지표 코드의 OnCalculate() 블록에서 BuySignal() 및 SellSignal() 함수를 한 번만 호출하는 것이 좋습니다.

Fig.1. 지표의 차트

Fig.2. 지표의 알림 생성