- Code: Select all
function Init()
indicator:name("Inside/outside bar Indicator");
indicator:description("Inside/outside bar Indicator");
indicator:requiredSource(core.Bar);
indicator:type(core.Indicator);
indicator.parameters:addColor("clrIn", "Inside bar color", "Inside bar color", core.rgb(255, 255, 0));
indicator.parameters:addColor("clrOut", "Outside bar color", "Outside bar color", core.rgb(0, 0, 255));
end
local first;
local source = nil;
local buffIn;
local buffOut;
function Prepare()
source = instance.source;
Percent=instance.parameters.Percent;
MaxPeriod=instance.parameters.MaxPeriod;
first = source:first()+2;
local name = profile:id() .. "(" .. source:name() .. ")";
instance:name(name);
buffIn = instance:createTextOutput ("Inside", "Inside", "Wingdings", 10, core.H_Center, core.V_Center, instance.parameters.clrIn, first);
buffOut = instance:createTextOutput ("Outside", "Outside", "Wingdings", 10, core.H_Center, core.V_Center, instance.parameters.clrOut, first);
end
function Update(period, mode)
if (period>first) then
if source.high[period]>source.high[period-1] and source.low[period]<source.low[period-1] then
buffOut:set(period, source.high[period], "\159", "");
end
if source.high[period]<source.high[period-1] and source.low[period]>source.low[period-1] then
buffIn:set(period, source.low[period], "\159", "");
end
end
end