Source: https://fxcodebase.com/code/viewtopic.php?f=17&t=4037
Forum: 17 · Topic 4037 · 39 post(s)
Gidien · Wed Apr 27, 2011 1:25 am
This is a better Volume Indicator available on other Plattforms found at this website
http://emini-watch.com/free-stuff/volume-indicator/
I used the ProRealTime Code
Short describtion:

Chart:

Code:
Nikolay.Gekht · Wed Apr 27, 2011 8:46 am
I see that the original version is highlighting the bars as well. You can do the same in your indicator:
1) Create four streams, one indicator’s stream and three internals for open, high, low and close prices:
Code: Select all `local O, H, L, C;
function Prepare() … O = instance:addStream(“O”, core.Line, “O”, “O”, first, 0); H = instance:addInternalStream(first, 0); L = instance:addInternalStream(first, 0); C = instance:addInternalStream(first, 0); end`
2) Because your indicator is oscillator and is drawn in separate area - put your open price stream into main chart area:
Code: Select all
core.host:execute("attachOuputToChart", "O");
3) Join O, H, L and C streams into candle group:
Code: Select all
instance:createCandleGroup("BH", "BH", O, H, L, C);
4) In update method, for the bars you need to highlight, fill O, H, L and C streams with candle data and set O stream color to the color you need to highlight the candle with
Code: Select all
function Update(period, mode)
...
if needHighlight then
O[period] = instance.source.open[period];
H[period] = instance.source.high[period];
L[period] = instance.source.low[period];
C[period] = instance.source.close[period];
O:setColor(period, highlighColor);
end
...
end
alpha_bravo · Thu Apr 28, 2011 10:42 am
Too many signals(99.9% of them false), this is a crazy indicator.
Gidien · Thu Apr 28, 2011 11:33 pm
Did you read the short describtion. This indicator couldn’t give you a clear signal. Because every Color have two or more “signals”.
for example: Climax UP RED – Can be New UP Trend, cont. Down Trend or a new TOP. This are three complete different informations about the market. in sum no clear “signal”, but an idea of the market.
The other problem is, that we only have Tickvolumes on FXCM(i think all Forex Brokers) , we don’t know anything about the money in the market., we only know how offen Price is updated.
This indicator don’t give Buy or Sell signals, but possible can help the trader to make a decision.
alpha_bravo · Fri Apr 29, 2011 9:57 am
What i meant was that the indicator is too busy, this is just an opinion, it may not give direct false signals, but it gives too many false considerations. i.e. it clouds judgement a lot.
Its a good idea and probably works well on CME or exchanges with priced volume, but i dont know about tick volume. Have a look at the pic below for ordinary volume vs. BETVOL; each new successive daily high on ordinary volume(session start 7am) calls a top nearly to the pip(doesn’t happen everyday of course, but its easier to take seriously).
http://i52.tinypic.com/33pbm2c.png
What about an indicator that just painted the volume bar black when it hits a new session high,(with an input to denote session start or period lookback). Then 3 other editable parameters, for 3 defined volume thresholds…say for example green for 200, amber for 400, red for 600?
If you cant, could you even edit BETVOL so that it paints a new colour for new highs(from a definable start point)?…this would also work, as i could just make all the other colous the same!
Cheers AB
Laurus12 · Wed Nov 16, 2011 9:06 pm
Many thanks for the BV indicator Gidien. I am also wondering if you would care sharing the HLC bars indicator which you are showing in the picture with the BV indicator? I have tried to find it in the forum, but with no luck.
Thanks, Laurus
Gidien · Thu Nov 17, 2011 9:04 am
No problem,
here is the HLC HIGH-LOW-CLOSE-BAR Chart indicator.
Laurus12 · Thu Nov 17, 2011 2:45 pm
Great! Thank you very much Gidien. Tried it and works perfectly.
Just some thoughts here. Would it be possible to make it as an option to have the vertical bar line itself thicker? Like weight 1,2,3 and so on? And the same with the closing price “block”?
Thanks, Laurus
Apprentice · Thu Nov 17, 2011 6:08 pm
Unfortunately not. This option does not exist.
Laurus12 · Thu Nov 17, 2011 7:57 pm
Ok. Good to know. Thank you Apprentice
Laurus
Merchantprince · Wed May 09, 2012 11:37 am
I’ve noticed something disconcerting about this indicator which I hope others can address: it seems the bars repaint.
After you place the indi on a chart and allow it to run for awhile, the indicator repaints if you change time-frames or simply open the Properties window and click ‘OK’ without changing anything. By switching to a different time frame, then switching back, many Climax Up or Down bars instead become a different color. The same is true when you open the Properties dialog box, the click OK - many Climax bars switch colors to become non-climax bars.
Can anyone explain why this is? It would seem to make the indicator almost entirely unreliable.
maweno · Thu May 10, 2012 1:00 am
Hi Merchantprince!
I know the problem. That’s no problem with the indicator, there is a problem with the tick volume. The IT-Crew of FXCM know the problem, but that doesn’t get solved. This indicator isn’t properly used on the TSII … Problem at FXCM - display tick volume. On the Metatrader there is no problem.
Merchantprince · Thu May 10, 2012 6:53 am
Is this true for all the custom indicators posted on FX Codebase that deal with tick volume?
robocod · Mon Sep 10, 2012 6:56 am
maweno wrote: Hi Merchantprince!
I know the problem. That’s no problem with the indicator, there is a problem with the tick volume. The IT-Crew of FXCM know the problem, but that doesn’t get solved. This indicator isn’t properly used on the TSII … Problem at FXCM - display tick volume. On the Metatrader there is no problem.
I think I’ve actually found the issue with this indicator.
Ok, first of all about the tick data… When you 1st open a chart in MarketScope it backfills all the historic bars with data from the FXCM data server. Once the chart is open, your client receives all the latest tick data from the FXCM live server. Importantly, the historic data and the live data might not be exactly the same. I don’t know exactly why - it’s just the way FXCM manage their data. You can test it yourself. At the start of day open 2 charts of the same period. At the end of the day they should look the same. But, then refresh one of the charts (or re-open it with same data range). Look closely and you may see small differences - in price data as well as volume. The price differences are usually minuscule (maybe an open/close was was slightly different). The volume data tends to show bigger differences, although they are still small.
There also appears to be a bigger difference when comparing Friday’s data and then re-opening the chart on Monday. I didn’t investigate this myself, but it was reported somewhere on this forum or perhaps DailFX.
With this in mind, I tested BetVol_V2.lua looking for issues due to such problems. Whilst I did see some differences in tick volume data, there were not significant enough to cause the differently painted bars. So, I had a look at the indicator code itself, and found the issue there.
Basically, the BetVol_V2.lua indicator will analyse the live bar (i.e. before it is closed). If the computation happens to detect it as, for example, a ClimaxUp bar, then the bar is set to red. However, the bar is not closed yet. If that bar later changes to a normal bar, nothing was setting the bar colour back to the default grey colour! If the chart was re-loaded it computes correctly. It was only bars that were coloured from the “live” data which were later recalculated as “normal bars” that were wrong.
Whilst there is still the possibility of minor differences due to tick volume differences, I think this will be a very minor effect and possibly negligible.
Here’s a chart showing the issue.

I modified the indicator, which is now V3. It is attached. Also the code is posted here.
Code: Select all `– Indicator profile initialization routine – Defines indicator profile properties and indicator parameters – TODO: Add minimal and maximal value of numeric parameters and default color of the streams function Init() indicator:name(“Climax Volume Spread v2”); indicator:description(“No description”); indicator:requiredSource(core.Bar); indicator:type(core.Oscillator); indicator:setTag(“group”, “GSL”);
indicator.parameters:addInteger(“N”, “Average Period”, “No description”, 20); indicator.parameters:addInteger(“Back”, “Analyse Period Back”, “No description”, 20); indicator.parameters:addBoolean(“TwoBars”, “Use TwoBars”, “No description”, false); –indicator.parameters:addInteger(“BidAsk”, “Bid or ASK”, “No description”, 2); indicator.parameters:addColor(“LowVol_color”, “Color of LowVol_color”, “Color of LowVol_color”, core.rgb(255, 255, 0)); indicator.parameters:addColor(“ClimaxUp_color”, “Color of ClimaxUp”, “Color of ClimaxUp”, core.rgb(255, 0, 0)); indicator.parameters:addColor(“ClimaxDn_color”, “Color of ClimaxDn”, “Color of ClimaxDn”, core.rgb(255, 255, 255)); indicator.parameters:addColor(“DensityUp_color”, “Color of Churn”, “Color of DensityUp”, core.rgb(0, 255, 0)); indicator.parameters:addColor(“DensityDn_color”, “Color of ClimaxChurn”, “Color of DensityDn”, core.rgb(255, 0, 128)); indicator.parameters:addColor(“VolumeBar_color”, “Color of VolumeBar”, “Color of VolumeBar”, core.rgb(128, 128, 128)); indicator.parameters:addColor(“SMAline_color”, “Color of SMAline”, “Color of SMAline”, core.rgb(255, 0, 0)); end
– Indicator instance initialization routine – Processes indicator parameters and creates output streams – TODO: Refine the first period calculation for each of the output streams. – TODO: Calculate all constants, create instances all subsequent indicators and load all required libraries – Parameters block local N; local Back;
local first; local source = nil;
– Streams block local ClimaxUp = nil; local ClimaxDn = nil; local DensityUp = nil; local DensityDn = nil; local VolumeBar = nil; local SMAline = nil;
– Routine function Prepare(nameOnly) N = instance.parameters.N; Back = instance.parameters.Back; source = instance.source; first = source:first() + N + Back -1;
local name = profile:id() .. “(“ .. source:name() .. “, “ .. tostring(N) .. “, “ .. tostring(Back) .. “)”; instance:name(name);
if (not (nameOnly)) then Value1 = instance:addInternalStream(0,0); Value2 = instance:addInternalStream(0,0); Value3 = instance:addInternalStream(0,0); Value4 = instance:addInternalStream(0,0); Value5 = instance:addInternalStream(0,0); Value6 = instance:addInternalStream(0,0); Value7 = instance:addInternalStream(0,0); Value8 = instance:addInternalStream(0,0); Value9 = instance:addInternalStream(0,0); Value10 = instance:addInternalStream(0,0); Value11 = instance:addInternalStream(0,0); Value12 = instance:addInternalStream(0,0); Value13 = instance:addInternalStream(0,0); Value14 = instance:addInternalStream(0,0); Value15 = instance:addInternalStream(0,0); Value16 = instance:addInternalStream(0,0); Value17 = instance:addInternalStream(0,0); Value18 = instance:addInternalStream(0,0); Value19 = instance:addInternalStream(0,0); Value20 = instance:addInternalStream(0,0); Value21 = instance:addInternalStream(0,0); Value22 = instance:addInternalStream(0,0); VolumeBar = instance:addStream(“VolumeBar”, core.Bar, name .. “.VolumeBar”, “VolumeBar”, instance.parameters.VolumeBar_color, first); VolumeBar:setPrecision(0); SMAline = instance:addStream(“SMAline”, core.Line, name .. “.SMAline”, “SMAline”, instance.parameters.SMAline_color, first); SMAline:setPrecision(0); end end
– Indicator calculation routine – TODO: Add your code for calculation output values function Update(period) local p = period; local HIGH = source.high[period]; local LOW = source.low[period]; local OPEN = source.open[period]; local CLOSE = source.close[period]; local VOLUME = source.volume[period]; VolumeBar[period] = VOLUME; SMAline[period] = 0; if period < first then Value1[p] = 0; Value2[p] = 0; Value3[p] = 0; Value4[p] = 0; Value5[p] = 0; Value6[p] = 0; Value7[p] = 0; Value8[p] = 0; Value9[p] = 0; Value10[p] = 0; Value11[p] = 0; Value12[p] = 0; Value13[p] = 0; Value14[p] = 0; Value15[p] = 0; Value16[p] = 0; Value17[p] = 0; Value18[p] = 0; Value19[p] = 0; Value20[p] = 0; Value21[p] = 0; Value22[p] = 0; end if period >= first and source:hasData(period) then SMAline[period] = mathex.avg(source.volume,period-N+1,period); –if instance.parameters.BidAsk == 0 then – Range = HIGH-CLOSE; –elseif instance.parameters.BidAsk == 1 then – Range = CLOSE-LOW; –else Range = HIGH-LOW; –end
if CLOSE > OPEN then Value1[p] = VOLUME(Range/(2Range + OPEN - CLOSE)); elseif CLOSE < OPEN then Value1[p] = VOLUME((Range + CLOSE-OPEN)/(2Range + CLOSE-OPEN)); end if CLOSE == OPEN then Value1[p] = 0.5VOLUME; end Value2[p] = VOLUME - Value1[p]; Value3[p] = Value1[p] + Value2[p]; Value4[p] = Value1[p] * Range; Value5[p] = ( Value1[p]-Value2[p])Range Value6[p] = Value2[p]Range; Value7[p] = ( Value2[p]-Value1[p])Range; if Range ~= 0 then Value8[p] = Value1[p]/Range; Value9[p] = ( Value1[p]-Value2[p])/Range; Value10[p] = Value2[p]/Range; Value11[p] = ( Value2[p]-Value1[p])/Range; Value12[p] = Value3[p]/Range; end
Value13[p] = Value3[p] + Value3[p-1]; Value14[p] = (Value1[p]+Value1[p-1])(mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); Value15[p] = (Value1[p]+Value1[p-1] - Value2[p] - Value2[p-1]) * (mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); Value16[p] = (Value2[p]+Value2[p-1])(mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); Value17[p] = (Value2[p]+Value2[p-1] - Value1[p] - Value1[p-1]) * (mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); if mathex.max(source.high,p-2+1,p) ~= mathex.min(source.low,p-2+1,p) then Value18[p] = (Value1[p] + Value1[p-1])/(mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); end Value19[p] = (Value1[p]+Value1[p-1] - Value2[p] - Value2[p-1]) / (mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); Value20[p] = (Value2[p]+Value2[p-1]) / (mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); Value21[p] = (Value2[p]+Value2[p-1] - Value1[p] - Value1[p-1]) / (mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p)); Value22[p] = Value13[p]/(mathex.max(source.high,p-2+1,p) - mathex.min(source.low,p-2+1,p));
VolumeBar:setColor(period, instance.parameters.VolumeBar_color); – Fix to ensure default bar colour is correct if not instance.parameters.TwoBars then –Con 1 or Con 11 if (Value3[p] == mathex.min(Value3,p-Back+1,p)) then – Yellow – TwoBars or (Vlaue13[p] == mathex.min(Value13,p-Back+1,p)) then VolumeBar:setColor(period,instance.parameters.LowVol_color); end –Con 2 or Con 3 or Con 8 or Con 9 or Con 12 or Con 13 or Con 18 or con 19 if (Value4[p] == mathex.max(Value4,p-Back+1,p) and CLOSE > OPEN) or (Value5[p] == mathex.max(Value5,p-Back+1,p) and CLOSE > OPEN) or (Value10[p] == mathex.min(Value10,p-Back+1,p) and CLOSE > OPEN) or (Value11[p] == mathex.min(Value11,p-Back+1,p) and CLOSE > OPEN) then –RED – TwoBars or (Vlaue13[p] == mathex.min(Value13,p-Back+1,p)) then VolumeBar:setColor(period,instance.parameters.ClimaxUp_color); end –Con 4 or Con 5 or Con 6 or Con 7 or Con 14 or Con 15 or Con 16 or con 17 if (Value6[p] == mathex.max(Value6,p-Back+1,p) and CLOSE < OPEN) or (Value7[p] == mathex.max(Value7,p-Back+1,p) and CLOSE < OPEN) or (Value8[p] == mathex.min(Value8,p-Back+1,p) and CLOSE < OPEN) or (Value9[p] == mathex.min(Value9,p-Back+1,p) and CLOSE < OPEN) then – White VolumeBar:setColor(period,instance.parameters.ClimaxDn_color); end – Churn Con 10 if Value12[p] == mathex.max(Value12,p-Back+1,p) then – Green VolumeBar:setColor(period,instance.parameters.DensityUp_color); end –ClimaxChurn if (Value12[p] == mathex.max(Value12,p-Back+1,p) ) and ( (Value4[p] == mathex.max(Value4,p-Back+1,p) and CLOSE > OPEN) or (Value5[p] == mathex.max(Value5,p-Back+1,p) and CLOSE > OPEN) or (Value10[p] == mathex.min(Value10,p-Back+1,p) and CLOSE > OPEN) or (Value11[p] == mathex.min(Value11,p-Back+1,p) and CLOSE > OPEN) or (Value6[p] == mathex.max(Value6,p-Back+1,p) and CLOSE < OPEN) or (Value7[p] == mathex.max(Value7,p-Back+1,p) and CLOSE < OPEN) or (Value8[p] == mathex.min(Value8,p-Back+1,p) and CLOSE < OPEN) or (Value9[p] == mathex.min(Value9,p-Back+1,p) and CLOSE < OPEN) ) then VolumeBar:setColor(period,instance.parameters.DensityDn_color); end else –Con 1 or Con 11 if (Value13[p] == mathex.min(Value13,p-Back+1,p)) then – Yellow – TwoBars or (Vlaue13[p] == mathex.min(Value13,p-Back+1,p)) then VolumeBar:setColor(period,instance.parameters.LowVol_color); end –Con 2 or Con 3 or Con 8 or Con 9 or Con 12 or Con 13 or Con 18 or con 19 if ((Value14[p] == mathex.max(Value14,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) or ((Value15[p] == mathex.max(Value15,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) or ((Value20[p] == mathex.min(Value20,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) or ((Value21[p] == mathex.min(Value21,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) then –RED – TwoBars or (Vlaue13[p] == mathex.min(Value13,p-Back+1,p)) then VolumeBar:setColor(period,instance.parameters.ClimaxUp_color); end –Con 4 or Con 5 or Con 6 or Con 7 or Con 14 or Con 15 or Con 16 or con 17 if ((Value16[p] == mathex.max(Value16,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) or ((Value17[p] == mathex.max(Value17,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) or ((Value18[p] == mathex.min(Value18,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) or ((Value19[p] == mathex.min(Value19,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) then – White VolumeBar:setColor(period,instance.parameters.ClimaxDn_color); end – Churn Con 10 if Value22[p] == mathex.max(Value22,p-Back+1,p) then – Green VolumeBar:setColor(period,instance.parameters.DensityUp_color); end –ClimaxChurn if (Value22[p] == mathex.max(Value22,p-Back+1,p) ) and ( ((Value14[p] == mathex.max(Value14,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) or ((Value15[p] == mathex.max(Value15,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) or ((Value20[p] == mathex.min(Value20,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) or ((Value21[p] == mathex.min(Value21,p-Back+1,p)) and (CLOSE > OPEN) and (source.close[p-1] > source.open[p-1])) or ((Value16[p] == mathex.max(Value16,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) or ((Value17[p] == mathex.max(Value17,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) or ((Value18[p] == mathex.min(Value18,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) or ((Value19[p] == mathex.min(Value19,p-Back+1,p)) and (CLOSE < OPEN) and (source.close[p-1] < source.open[p-1])) ) then VolumeBar:setColor(period,instance.parameters.DensityDn_color); end end end end`
I did not code this indicator and take no credit for it. All I did was the following fix.
Code: Select all
VolumeBar:setColor(period, instance.parameters.VolumeBar_color); -- Fix to ensure default bar colour is correct
EDIT: I also added the “decimal place / precision” change which is mentioned a few posts down.
robocod · Mon Sep 10, 2012 7:04 am
Merchantprince wrote: Is this true for all the custom indicators posted on FX Codebase that deal with tick volume?
Please see my previous post. Whilst the tick data can be different from the live and historic data, especially over the weekend, in general it seems adequate. However, tick volume is only an approximation to real volume, and so you have to be very careful when using it.
robocod · Tue Sep 11, 2012 3:20 am
I made another minor modification to this indicator. I set the “precision” of the volume and SMA output to 0, this simply means that the volume does not have decimal places (it was showing things like 6012.0000 ticks). Ticks are always integer values. It is optional to take this fix - it is purely cosmetic.


Pavlovsdog · Thu Oct 04, 2012 9:29 pm
Can you explain what the different color candles represent?
robocod · Fri Oct 05, 2012 7:26 am
Pavlovsdog wrote: Can you explain what the different color candles represent?
Please refer to the inventor of this indicator.
(I don’t use it myself, I just fixed a bug in it).
all_in · Mon Jun 30, 2014 3:25 pm
Hi,
Would it be possible to base this indicator upon the “Real Volume indicator” instead of tick volume?
Many Thanks
P.S. Awesome site BTW
robocod · Tue Jul 01, 2014 7:05 am
all_in wrote: Hi,
Would it be possible to base this indicator upon the “Real Volume indicator” instead of tick volume?
Many Thanks
P.S. Awesome site BTW
Oh, I wish that was possible. However, currently I think it is not - I tried. There are many similar cases where indicators use price and volume (On Balance Volume, Chaikin Oscillator, Accumulation / Distribution indicator, etc.). We need a way to replace the regular Tick Volume with the Real Volume in order to use these properly.
Question to FXCodeBase guys: was Real Volume developed by you, or by FXCM directly?
By the way, I did a study of Tick Volume vs Real Volume, on my blog. The results suggest that that Tick Volume is a reasonable proxy for Real Volume. However, it would always be better to use the proper volume if available.
Apprentice · Tue Jul 01, 2014 1:46 pm
As far as I know it is FXCM baby.
all_in · Wed Jul 02, 2014 10:59 am
Thanks.
It seems logical to overlay an indicator over an indicator, like i.e. overlay a moving average over a MACD, so you overlay the Better Volume algorithm on top of the Real Volume indicator to produce the changes in colour.
daniel.kovacik · Wed Jul 02, 2014 3:07 pm
Hi,
is there any possibility to use this indicator in charts?
Thank you
robocod · Thu Jul 03, 2014 1:24 am
all_in wrote: Thanks.
It seems logical to overlay an indicator over an indicator, like i.e. overlay a moving average over a MACD, so you overlay the Better Volume algorithm on top of the Real Volume indicator to produce the changes in colour.
That would be nice wouldn’t it. The thing is, BetterVol and Chaikin Oscillator and several others use price & volume data, grouped together in what is known as a “bar_stream”.
The way FXCM programmed Real Volume, it is just the volume (“tick_stream”), and so you can’t overlay any indicator on it - since it does not contain the prices.
In theory, it should be possible to create an indicator that aggregates the price and Real Volume data into a new “bar_stream” - I tried this, but I was not successful - I think due to the way it is coded.
The simplest way would be for FXCM to improve this indicator. It is only a kind of Beta just now. Maybe they will add it, or provide better access for developers.
Apprentice · Thu Jul 03, 2014 2:25 am
I can do this task. Can someone please send the Real Volume Indicator to me. mario(.)jemic(@)gmail(.)com Looks like FxcmApp site is unavailable.
all_in · Thu Jul 03, 2014 2:58 pm
Apprentice wrote: I can do this task. Can someone please send the Real Volume Indicator to me. mario(.)jemic(@)gmail(.)com Looks like FxcmApp site is unavailable.
Done
robocod · Wed Jul 30, 2014 5:18 am
Apprentice wrote: I can do this task. Can someone please send the Real Volume Indicator to me. mario(.)jemic(@)gmail(.)com Looks like FxcmApp site is unavailable.
Did you make any progress with this? I had a go, but I could not get the indicator to function properly when used inside another indicator.
Apprentice · Wed Jul 30, 2014 11:04 am
Same problem here. Tried, was not satisfied with the result, left further development, for now. Ask FXCM to provide this data via regular source / Price Server stream.
MaximeCau · Fri Feb 13, 2015 3:23 pm
Hi,
Is it be possible to get this indicator for Real Volumes ?
Thank you
Apprentice · Fri Apr 17, 2015 6:07 am
Better Volume Overlay added.
transformer · Fri Apr 17, 2015 8:29 am
HI APPRENDICE,
CAN YOU ADD BETTER VOLUME BAR INDICATOR LIKE BWMFI BAR AND PVA BAR
THANK YOU.
Apprentice · Mon Apr 20, 2015 6:26 am
Better Volume Bar added.
MaximeCau · Tue Nov 03, 2015 12:05 pm
Hello, here is bettervolume v3 for ninjatrader. The code has been modified and provides more signals. Could be intersting to have it on marketscope if it is possible. thanks
Apprentice · Wed Nov 04, 2015 8:15 am
Your request is added to the development list.
Apprentice · Sat Aug 05, 2017 4:37 am
The indicator was revised and updated.
isamegrelo · Fri Nov 17, 2017 11:01 am
Please create alert for this indicator when volume is over “500” level

Apprentice · Sat Nov 18, 2017 8:22 am
BetVol with Level Alert.lua added.
Apprentice · Sat Apr 21, 2018 9:58 am
The indicator was revised and updated.
Alexander.Gettinger · Fri Mar 15, 2019 7:48 pm
Please try this indicator: