Hébergeur de fichiers indépendant

BBEtroites.lua

À propos

Type de fichier
Fichier LUA de 2 Ko (text/plain)
Confidentialité
Fichier public, envoyé le 27 février 2019 à 09:34, depuis l'adresse IP 92.171.x.x (France)
Sécurité
Ne contient aucun Virus ou Malware connus - Dernière vérification: 3 jours
Statistiques
La présente page de téléchargement a été vue 39 fois depuis l'envoi du fichier
Page de téléchargement

Aperçu du fichier


-- Indicateur BB Etroites v0.4
-- Bastien Faure beobast@gmail.com
-- Cet indicateur colorie l'espace entre les BB lorsque celles ci sont étroites, c'est à dire avec une largeur inférieure à un certain seuil (15 points par défaut)

function Init()
    indicator:name("Indicateur BB Etroites");
    indicator:description("Colorie les zones etroites des BB");
    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:addDouble("maxWidth", "Seuil des bandes etroites", "L'espace entre les BB sera peint si la largeur est inferieure a ce seuil", 15.0, 0.0, 100.0);
    indicator.parameters:addGroup("Style");
	indicator.parameters:addColor("cloudColor", "Couleur des bandes etroites", "Couleur de fond quand la largeur des bandes est inferieure au seuil", core.rgb(0, 0, 0));
	indicator.parameters:addInteger("transparency", "Transparence des bandes etroites", "Transparence des bandes etroites en pourcentage", 95, 0, 100);
end

local first, BB;

function Prepare(nameOnly)
    local source = instance.source;
    local period = instance.parameters.period;
    first = source:first() + period;
    instance:name(profile:id() .. "(" .. source:name() .. ")");
    if nameOnly then return; end
    BB = core.indicators:create("BB", source, period, instance.parameters.deviation);
	BBTop, BBBottom = instance:addInternalStream(first), instance:addInternalStream(first);
	instance:createChannelGroup("Cloud", "Cloud", BBTop, BBBottom, instance.parameters.cloudColor, 100 - instance.parameters.transparency);
end

function Update(period, mode)
    if period <= first then return; end
    BB:update(mode);
    local top, bottom = BB.TL[period], BB.BL[period];
    if (top - bottom < instance.parameters.maxWidth) then
        BBTop[period], BBBottom[period] = top, bottom;
    else
        BBTop[period] = nil;
    end
end



Partager le fichier

Télécharger BBEtroites.lua

Télécharger le fichier (2 Ko)