MQL5Book/Indicators/p5/UseWPR1.mq5
super.admin 1c8e83ce31 convert
2025-05-30 16:09:41 +02:00

66 lines
3 KiB
MQL5

//+------------------------------------------------------------------+
//| UseWPR1.mq5 |
//| Copyright 2021, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 0
#property indicator_plots 0
#include "..\..\Include\PRTF.mqh"
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
// all handles are local variables since they are not used in this intro
// absolute path: since indicator examples for this book is stored at
// MQL5/Indicators/MQL5Book/p5, the complete pathname is as follows:
int handle1 = PRTF(iCustom(_Symbol, _Period, "/Indicators/MQL5Book/p5/IndWPR"));
// relative path: consists of the single name, searched in current folder
// the caller indicator and the callee indicator are in the same folder
int handle2 = PRTF(iCustom(_Symbol, _Period, "IndWPR"));
// relative path: consists of the book subfolders and the name,
// will find proper indicator in the context of MQL5/Indicators
int handle3 = PRTF(iCustom(_Symbol, _Period, "MQL5Book/p5/IndWPR"));
// wrong path: no such indicator in current folder (runtime error 4802)
int handle4 = PRTF(iCustom(_Symbol, _Period, "IndWPR NonExistent"));
// wrong path: backslashes are not escaped, every '\' should be '\\'
// 4 compiler warnings in a row: unrecognized character escape sequence
int handle5 = PRTF(iCustom(_Symbol, _Period, "\Indicators\MQL5Book\p5\IndWPR"));
// this is a twin of handle2, check how their values are the same
int handle6 = PRTF(iCustom(_Symbol, _Period, "IndWPR"));
return INIT_SUCCEEDED;
}
//+------------------------------------------------------------------+
/*
output:
iCustom(_Symbol,_Period,/Indicators/MQL5Book/p5/IndWPR)=10 / ok
iCustom(_Symbol,_Period,IndWPR)=11 / ok
iCustom(_Symbol,_Period,MQL5Book/p5/IndWPR)=12 / ok
cannot load custom indicator 'IndWPR NonExistent' [4802]
iCustom(_Symbol,_Period,IndWPR NonExistent)=-1 / INDICATOR_CANNOT_CREATE(4802)
iCustom(_Symbol,_Period,\Indicators\MQL5Book\p5\IndWPR)=13 / ok
iCustom(_Symbol,_Period,IndWPR)=11 / ok
*/
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const int begin,
const double &data[])
{
return rates_total;
}
//+------------------------------------------------------------------+