That indicator has no buffers, so no.
That indicator has no buffers, so no.
Buffers could be added?
I have just seen how it works and I discovered buffers today.
- Alert for maximum values at previous 1 or 2 bars
- At the start of the bar, first third / Bulls will need to have the maximum values on the bottom and Bears will need to have the maximum values on the top /
Maybe adding a time for previous bar and dividing it by 2, selecting the first third and seeing if the maximum value was there meeting a Higher Than from the 5 groups. Then getting a signal for yes or not, meaning Buy for a Bull Candle and Sell for a Bear Candle. The data is there.
Something like: Bar Time /2, Selecting 1st half, if i_minVolumeLevelX, Alert.
Still, I do not know how to add it.
Wait until the bar is half formed, read it.
Previous bar first half
Two Experts already have not been able to give it a signal. Is there anybody that knows how to do it?
I guess you might say, 'Pay a Freelance' but I do not want to pay a Freelance right now, nor do I know if it might be really possible.
It should be in here. I need to divide the bar information in 2 parts and give it a signal. I have copied it from ShowText but now I do not know how to convert it into what I need.
It should be like: If highest value is in First Half of bar and First Half is bigger than Second Half, then Signal.
I am attaching the document translated to English and have pasted the bit of code that should lead to it.
void ShowSignal(int barIndex,double lowPrice,int arraySize) { if(!g_isShowInfo) return; for(int i=0; i<arraySize; i+=i_pointsInBox) { //--- Is the volume of the level large enough? int volumeLevel=GetVolumeLevel(i); if(volumeLevel<0) continue; //--- Display volumes double price=lowPrice+i*g_tickSize; ShowArrow(i,Time[barIndex],price,IntegerToString(g_volumePriceArray[i]),g_volumeLevelsColor[volumeLevel].levelColor); } }
I am trying to shape it from this to give it 2 signals:
double highPrice= CastPriceToCluster(High[iHighest(NULL,0,MODE_HIGH)]); double lowPrice = CastPriceToCluster(Low[iLowest(NULL,0,MODE_LOW)]);
void PreviousBarTotals(int limit,double &lowPrice,int &arraySize) { //--- Opening a tick history file bool fileClose = false; int hTicksFile = FileOpen(Symbol() + ".tks", FILE_BIN | FILE_READ | FILE_SHARE_READ | FILE_SHARE_WRITE); if(hTicksFile<1) fileClose=true; //--- Search for the first tick belonging to the limit bar or any later bar TickStruct tick; tick.time= Time[limit]; tick.bid = Open[limit]; while(!IsStopped() && !fileClose) { if(!IsReadTimeAndBidAskOfTick(hTicksFile,tick)) return; if(tick.time>=Time[limit]) break; } //--- Displaying data datetime extremeTime=Time[0]+PeriodSeconds(); while(tick.time<extremeTime && tick.time!=0) { int barIndex=iBarShift(NULL,0,tick.time); SumDataForOneBar(hTicksFile,tick,lowPrice,arraySize,fileClose); SumDataFirstHalf(hTicksFile,tick,lowPrice,arraySize,fileClose); SumDataSecondHalf(hTicksFile,tick,lowPrice,arraySize,fileClose); //ShowBarHistogramms(barIndex,lowPrice,arraySize); } if(!fileClose) FileClose(hTicksFile); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void SumDataForOneBar(int hTicksFile,TickStruct &tick,double &lowPrice,int &arraySize,bool &fileClose) { //--- Reading ticks belonging to one candlestick int ticksCount=1; g_ticksPrice[0]=CastPriceToCluster(tick.bid); if(!fileClose) ReadTicksFromFile(hTicksFile,PeriodSeconds(),tick,ticksCount,fileClose); if(fileClose) // This is not an error - else is not needed, because after ReadTicksFromFile execution, fileClose may change AddDataFromBuffer(PeriodSeconds(),tick,ticksCount); ArrayMaximum(g_ticksPrice,ticksCount); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void SumDataFirstHalf(int hTicksFile,TickStruct &tick,double &lowPrice,int &arraySize,bool &fileClose) { //--- Reading ticks belonging to one candlestick int ticksCount=1; g_ticksPrice[0]=CastPriceToCluster(tick.bid); if(!fileClose) ReadTicksFromFile(hTicksFile,(PeriodSeconds()/2),tick,ticksCount,fileClose); if(fileClose) // This is not an error - else is not needed, because after ReadTicksFromFile execution, fileClose may change AddDataFromBuffer((PeriodSeconds()/2),tick,ticksCount); ArrayMaximum(g_ticksPrice,ticksCount); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void SumDataSecondHalf(int hTicksFile,TickStruct &tick,double &lowPrice,int &arraySize,bool &fileClose) { //--- Reading ticks belonging to one candlestick int ticksCount=1; g_ticksPrice[0]=CastPriceToCluster(tick.bid); if(!fileClose) ReadTicksFromFile(hTicksFile,(PeriodSeconds()-(PeriodSeconds()/2)),tick,ticksCount,fileClose); if(fileClose) // This is not an error - else is not needed, because after ReadTicksFromFile execution, fileClose may change AddDataFromBuffer((PeriodSeconds()-(PeriodSeconds()/2)),tick,ticksCount); ArrayMaximum(g_ticksPrice,ticksCount); }But I do not know how to activate them:
//+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void Signal(int,double,int arraySize) { for(int i=0; i<arraySize; i+=i_pointsInBox) { if(SumDataFirstHalf>SumDataSecondHalf)&&(SumDataFirstHalf==SumDataForOneBar) strong[]; if(SumDataSecondHalf>SumDataFirstHalf)&&(SumDataSecondHalf==SumDataForOneBar) weak[]; } }
Do not double post!
I have deleted your other post concerning this same indicator.
Do not double post!
I have deleted your other post concerning this same indicator.
Ok. I did it because there is more people focused on offering help.

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hi,
I want to apply the logic to an EA with the indicator attached to check for the previous 1,2 o 3 candles and where the maximum was in that candle, top or bottom and what type of candle, providing the maximum an X trigger value. Could I use iCustoms for it?
It would work like an OrderFlow Indicator with signal.