- iAC
- iAD
- iADX
- iADXWilder
- iAlligator
- iAMA
- iAO
- iATR
- iBearsPower
- iBands
- iBullsPower
- iCCI
- iChaikin
- iCustom
- iDEMA
- iDeMarker
- iEnvelopes
- iForce
- iFractals
- iFrAMA
- iGator
- iIchimoku
- iBWMFI
- iMomentum
- iMFI
- iMA
- iOsMA
- iMACD
- iOBV
- iSAR
- iRSI
- iRVI
- iStdDev
- iStochastic
- iTEMA
- iTriX
- iWPR
- iVIDyA
- iVolumes
iCustom
A função retorna o manipulador de um indicador personalizado especifico.
int iCustom(
|
Parâmetros
symbol
[in] O nome do símbolo de segurança, os dados que devem ser usados para calcular o indicador. O valor NULL significa o símbolo atual.
period
[in] O valor do período pode ser um dos valores ENUM_TIMEFRAMES, 0 (zero) significa o prazo corrente.
name
[in] Nome do indicador personalizado. Se antes do nome for indicada uma barra invertida '\', o arquivo EX5 do indicador será procurado em relação à pasta raíz MQL5. Assim, ao chamar iCustom(Symbol(), Period(), "\FirstIndicator"...) o indicador será carregado como MQL5\FirstIndicator.ex5. Se não houver arquivo nesse caminho, ocorrerá o erro 4802 (ERR_INDICATOR_CANNOT_CREATE).
Se o caminho não começar com '\', o indicador será pesquisado e carregado na seguinte sequência:
- Primeiro, o arquivo EX5 do indicador é pesquisado na mesma pasta em que localizado o arquivo EX5 do programa de chamada. Por exemplo, o EA CrossMA.EX5 está localizado na pasta MQL5\Experts\MyExperts e contém a chamada iCustom(Symbol(), Period(), "SecondIndicator"...), neste caso, a pesquisa do indicador é realizada com base no caminho MQL5\Experts\MyExperts\SecondIndicator.ex5.
- Se o indicador não for encontrado no mesmo diretório, a pesquisa será realizada em relação ao diretório raiz dos indicadores MQL5\Indicators. Em outras palavras, é procurado o arquivo MQL5\Indicators\SecondIndicator.ex5. Se o indicador não for encontrado nos dois caminhos, a função retornará NVALID_HANDLE e será gerado o erro 4802 (ERR_INDICATOR_CANNOT_CREATE).
Se o caminho do indicador estiver definido num subdiretório, por exemplo, como MyIndicators\ThirdIndicator, a pesquisa será realizada pela primeira vez na pasta do programa de chamada (o EA está localizado na pasta MQL5\Experts\MyExperts) com base no caminho MQL5\Experts\MyExperts\MyIndicators\ThirdIndicator.ex5 e, em seguida, em caso de falha, é procurado o arquivo MQL5\Indicators\MyIndicators\ThirdIndicator.ex5. Além disso, com ajuda de um separador no caminho é necessário especificar uma barra invertida dupla '\\', por exemplo, iCustom(Symbol(), Period(), "MyIndicators\\ThirdIndicator"...).
...
[in] entrada-parâmetros de um indicador personalizado, separados por vírgulas. Tipo e ordem dos parâmetros devem coincidir. Se não há parâmetros específicos, então valores padrões serão usados.
Valor de retorno
Retorna o manipulador de um indicador técnico especifico, em caso de falha de retorna INVALID_HANDLE. A memória do computador pode ser liberada a partir de um indicador que não é mais utilizado, usando a função IndicatorRelease(), onde o manipulador de indicador é transmitido.
Observação
Um indicador personalizado deve ser compilado (com extensão EX5) e localizado no diretório MQL5/Indicadores do terminal do cliente ou seu subdiretório.
Indicadores que requerem teste são definidos automaticamente a partir da chamada da função iCustom(), se o correspondente parâmetro for definido através de um string constante. Para todos os outros casos (uso da função IndicatorCreate() ou uso de uma string não-constante no parâmetro de define o nome do indicador) a propriedade #property tester_indicator é requerida:
#property tester_indicator "indicator_name.ex5" |
Se o primeiro formulário de chamada é usado no indicador, então na inicialização do indicador, na aba "Parâmetros", você pode escolher dados adicionais para cálculo. Se a opção "Aplicar para" do parâmetro não é selecionada, o cálculo padrão baseia-se nos valores "Fechamento" dos preços.
Quando você chama um indicador personalizado a partir do programa MQL5, o parâmetro Applied_Price ou um manipulador de outro indicador deve ser passado por último, depois de todas as variáveis de entrada do indicador personalizado.
Também Veja
Propriedades de Programa, Séries Temporais e Acesso a Indicadores,IndicatorCreate(), IndicatorRelease()
Exemplo:
#property indicator_separate_window
|