BBNarrow.lua
À propos du fichier
- Type de fichier
- Fichier LUA de 4 Ko (text/plain)
- Confidentialité
- Fichier public, envoyé le 13 février 2019 à 18:43, depuis l'adresse IP 88.167.x.x (France)
- Sécurité
- Ne contient aucun Virus ou Malware connus - Dernière vérification: 13 heures
- Statistiques
- La présente page de téléchargement a été vue 822 fois depuis l'envoi du fichier
- Page de téléchargement
-
Aperçu du fichier
-- Indicateur BB Narrow v0.3
-- Bastien Faure beobast@gmail.com
-- Cet indicateur colorie les lignes de BB lorsque celles ci sont étroites, c'est à dire avec une largeur inférieure à un certain seuil (15 points par défaut)
local first, source, period, deviation, BB, hideAverage, BB_Top, BB_Bottom, BB_Middle;
function Init()
indicator:name("Indicateur BB Narrow");
indicator:description("Colorie les lignes de BB dans les zones etroites");
indicator:requiredSource(core.Bar);
indicator:type(core.Indicator);
indicator.parameters:addGroup("Calcul");
indicator.parameters:addInteger("period", "Nombre de periodes des BB", "Nombre de periodes des BB", 20, 1, 10000);
indicator.parameters:addDouble("deviation", "Ecart-type des BB", "Ecart-type des BB", 2.0, 0.0001, 1000.0);
indicator.parameters:addGroup("Style");
indicator.parameters:addColor("bandsColor", "Couleur des lignes en zone etroite", "Couleur des lignes hautes et basses en zone etroite", core.rgb(0, 0, 0));
indicator.parameters:addInteger("bandsWidth", "Largeur des lignes en zone etroite", "Largeur des lignes hautes et basses en zone etroite", 2, 1, 5);
indicator.parameters:addInteger("bandsStyle", "Style des lignes en zone etroite", "Style des lignes hautes et basses en zone etroite", core.LINE_SOLID);
indicator.parameters:setFlag("bandsStyle", core.FLAG_LINE_STYLE);
indicator.parameters:addBoolean("hideAverage", "Masquer la ligne moyenne en zone etroite", "Masquer la ligne moyenne en zone etroite", false);
indicator.parameters:addColor("averageColor", "Couleur de la ligne moyenne en zone etroite", "Couleur de la ligne moyenne en zone etroite", core.rgb(0, 0, 0));
indicator.parameters:addInteger("averageWidth", "Largeur de la ligne moyenne en zone etroite", "Largeur de la ligne moyenne en zone etroite", 2, 1, 5);
indicator.parameters:addInteger("averageStyle", "Style de la ligne moyenne en zone etroite", "Style de la ligne moyenne en zone etroite", core.LINE_SOLID);
indicator.parameters:setFlag("averageStyle", core.FLAG_LINE_STYLE);
indicator.parameters:addDouble("maxWidth", "Seuil des bandes etroites", "Les lignes des BB seront coloriees si la largeur des BB est inferieure a ce seuil", 15.0, 0.0, 100.0);
end
function Prepare(nameOnly)
source = instance.source;
period = instance.parameters.period;
deviation = instance.parameters.deviation;
first = source:first() + period;
local name = profile:id() .. "(" .. source:name() .. ", " .. period .. ", " .. deviation .. ")";
instance:name(name);
if nameOnly then return; end
BB = core.indicators:create("BB", source, period, deviation);
BB_Top = instance:addStream("BB_Top", core.Line, name .. ".Top", "TL", instance.parameters.bandsColor, first);
BB_Top:setWidth(instance.parameters.bandsWidth);
BB_Top:setStyle(instance.parameters.bandsStyle);
BB_Bottom = instance:addStream("BB_Bottom", core.Line, name .. ".Bottom", "BL", instance.parameters.bandsColor, first);
BB_Bottom:setWidth(instance.parameters.bandsWidth);
BB_Bottom:setStyle(instance.parameters.bandsStyle);
if not instance.parameters.hideAverage then
BB_Middle = instance:addStream("BB_Middle", core.Line, name .. ".Middle", "AL", instance.parameters.averageColor, first);
BB_Middle:setWidth(instance.parameters.averageWidth);
BB_Middle:setStyle(instance.parameters.averageStyle);
end
end
function Update(period, mode)
if period <= first then return; end
BB:update(mode);
local top = BB.TL[period];
local bottom = BB.BL[period];
BB_Top[period] = top;
BB_Bottom[period] = bottom;
if not hideAverage then BB_Middle[period] = BB.AL[period]; end
if (top - bottom > instance.parameters.maxWidth) then
BB_Top:setBreak(period, true);
BB_Bottom:setBreak(period, true);
if not hideAverage then BB_Middle:setBreak(period, true); end
end
end
Partager le fichier BBNarrow.lua sur le Web et les réseaux sociaux:
Télécharger le fichier BBNarrow.lua