Platinum Candle Indicator
- Indicatori
- Rennan Lima
- Versione: 1.3
- Aggiornato: 21 febbraio 2022
A good time for sell can be seen after the closing of a pink candle. The pattern becomes more reliable if the sale is opened when the price of the candle after the pink candle is below the minimum price of the pink candle.
Buffers:
You can develop an expert and use the buffer number 5 for buy signal.
You can develop an expert and use the buffer number 6 for sell signal.
QUESTIONS ABOUT THE PURCHASE AND INSTALLATION OF PRODUCTS AT META TRADER
You can also find some instructions on how to buy and install a robot in the Meta Trader store at these links:
https://www.youtube.com/watch?v=M1lD90g9Rjg&list=PLltlMLQ7OLeKI8pl71L4W_WTwQVs3XC7g
https://www.mql5.com/en/articles/498
If you need some support to setup your environment, send an e-mail to "renanlimamql@gmail.com".
//+------------------------------------------------------------------+
//| PlatinumCandleExample.mq5 |
//+------------------------------------------------------------------+
#property version "1.00"
#property description "This experts shows how to use Platinum Indicator buffers."
#property description " "
#property description "Esse experts mostra como usar os buffers do Platinum Indicator."
#resource "\\Indicators\\PlatinumCandleIndicator_v1_2\\PlatinumCandle.ex5"
int platinumIndicatorHandler;
double platinumIndicatorBufferBuy[];
double platinumIndicatorBufferSell[];
MqlRates ratesBuffer[];
input int iptLevel=30; //Minimal value for distortions filter
//+------------------------------------------------------------------+
int OnInit()
{
ArraySetAsSeries(platinumIndicatorBufferBuy,true);
ArraySetAsSeries(platinumIndicatorBufferSell,true);
ArraySetAsSeries(ratesBuffer,true);
platinumIndicatorHandler = iCustom(_Symbol,_Period,"\\Indicators\\PlatinumCandleIndicator_v1_2\\PlatinumCandle",iptLevel);
if(platinumIndicatorHandler==INVALID_HANDLE)
return INIT_FAILED;
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick()
{
if(!hasNewBar())
return;
if(CopyBuffer(platinumIndicatorHandler,5,0,2,platinumIndicatorBufferBuy)<2)
{
Print("Fail copying data for [Platinum Indicator Buy Buffer]");
return;
}
if(CopyBuffer(platinumIndicatorHandler,6,0,2,platinumIndicatorBufferSell)<2)
{
Print("Fail copying data for [Platinum Indicator Sell Buffer]");
return;
}
if(CopyRates(_Symbol,_Period,0,2,ratesBuffer)<2)
{
Print("Fail copying data for [Rates Buffer]");
return;
}
if(ratesBuffer[1].close==platinumIndicatorBufferBuy[1])
{
Print("Add your logic to buy or send alert/notification");
return;
}
if(ratesBuffer[1].close==platinumIndicatorBufferSell[1])
{
Print("Add your logic to sell or send alert/notification");
return;
}
}
//+------------------------------------------------------------------+
bool hasNewBar()
{
int currentNrOfBars = Bars(_Symbol,_Period);
if(currentNrOfBars>lastNrOfBars)
{
lastNrOfBars=currentNrOfBars;
return true;
}
return false;
}
//+------------------------------------------------------------------+
Nice