Confira os nossos eBooks, Snippets e Fóruns produzidos para cada plataforma!
A partir da dúvida de outro usuário aqui do fórum resolvi construir esse código baseado em Gráfico Renko com Nuvens de Tilson.
//==================================================================================================// // ..:::.. // // :=**++=====-: // // :**=. ..:--:. ..:.. // // +** ..:---===---:. :=====+=. // // =**-:::::....:-=+*+-===-. .:++- // // ...***: -*++=:-: .=*: // // :----=+**+: -+++. :+: ++ // // .-=::==-::-**+=. .+++- .+=. :*: // // .=+: :+=. .++++-. :++++ =+: += // // -*=. .+= +++++-: :=**++- +*:-= // // =*= += :+++++==++**++. :**:= // // -*+ :+ +++++====**++ .**:- // // =*+ +: .:-===++=-==**++-:.. ...=**.: // // .**+-:+...::--========+: :**++=======++++++++-: // // .=+*++++**++++++====+*. .++=========-----+=+**= // // .--**+--::::-=======-:-++====-::. .+ :**- // // -:**. ++==++++++++= =- +*- // // =:**. .++*++++++++++. -+. :*+. // // +:=*= :+**++-:-+++++- :+: -*+. // // == =*- =***=. .-++++- -+- .=+- // // -*. -+- :***- -++*+. .:=+-.-+-. // // .*= .==. .+**= .=***===-:--: // // =*- .=-.=+**: =***:.:. // // ++=. :==++*+-:. ..:=+*- // // -++=-====..-=++++++==--:. .**+ // // .:---:. .::::.. :**- // // .:-=---:---+**- // // .::--=--:. // // .:=:. // // ____ _ _____ _ _ _ // // / __ \ | | | __ \ | | | | (_) // //| | | | _ _ __ _ _ __ | |_ | |__) | ___ __ __ ___ | | _ _ | |_ _ ___ _ __ // //| | | || | | | / _` || '_ \ | __| | _ / / _ \\ \ / / / _ \ | || | | || __|| | / _ \ | '_ \ // //| |__| || |_| || (_| || | | || |_ | | \ \ | __/ \ V / | (_) || || |_| || |_ | || (_) || | | | // // \___\_\ \__,_| \__,_||_| |_| \__| |_| \_\ \___| \_/ \___/ |_| \__,_| \__||_| \___/ |_| |_| // // // // NOME: "TILSON BOX BREAKOUT" // // TIPO: EXECUÇÃO // // AUTOR: Credson Santos // // DATA DE CRIAÇÃO: 11/04/2023 // // VERSÃO: 1.0 // // TIPO DE ESTRATÉGIA: ( ) Indicador ( ) Coloração (x) Execução // // ( ) Screening ( ) Texto ( ) Alarme// // // CONFIGURAÇÕES PADRÃO // // Tilson: 5, desvio: 0.40 // // Tilson: 8, desvio: 0.40 // // Média Exp: 34 // // O Código fonte está sujeito aos termos da Mozilla Public License 2.0, disponível em: // // https://mozilla.org/MPL/2.0/ // // Esse indicador pode ser utilizado em qualquer estratégia não comercial //
// CONSTS ========================================================================== // INPUTS ========================================================================== input {Definição das médias} pFastTilson(5); pSlowTilson(8); pEma(34); {Horário da Estratégia} pStartTime (900); pEndTime (1700); pDayTrade (1); // VARIÁVEIS ========================================================================== var bBuySignal :boolean; bSellSignal :boolean; fTilson1 :float; fTilson2 :float; fMovingExp :float; fBoxRange :float; bUpBox :boolean; bDownBox :boolean; bUpTrend :boolean; bDownTrend :boolean; bUpEngulf :boolean; bDownEngulf :boolean; // REGRAS DO SETUP ========================================================================== Begin {Cálculo dos indicadores} fTilson1:= (Tilson(0.40,pFastTilson)); fTilson2:= (Tilson(0.40,pSlowTilson)); fMovingExp:= MediaExp(pEma,close); {Definição das condições dos box} bUpBox :=(close > open) and (Abs(Low - Open)>= (Abs(Close-Open))); //Condição para definir se o box de alta está com pavio bDownBox:=(close < open) and (Abs(High - Open)>= (Abs(Close-Open))); //Condição para definir se o box de baixa está com pavio {Definição das condições de tendência} bUpTrend := (fTilson1 > fTilson2) and (fTilson2 > fMovingExp); //Verifica se as médias estão alinhadas para cima bDownTrend:=(fTilson1 < fTilson2) and (fTilson2 < fMovingExp); //verifica se médias estão alinhadas para baixo {Definição das condições para engolfo} bUpEngulf := ((Low <=fTilson2) and (High >=fTilson1)); bDownEngulf:= ((High >=fTilson2) and (Low <=fTilson1)); {Definição dos sinais de entrada} bBuySignal := (bUpTrend) and (bUpBox) and (bUpEngulf); bSellSignal:=(bDownTrend) and (bDownBox) and (bDownEngulf); //fBoxRange:=Abs(Open[1]-close[1]); {Define as condições de entrada} if Not(Hasposition) then //Se não estiver posicionado begin {Condição de compra} if (bBuySignal) then BuyAtMarket {Condição de venda} else if (bSellSignal) then SellShortAtMarket; end; {Busca as saídas} if (IsBought) then begin SellToCoverLimit(BuyPrice+200); //saída no takeprofit SellToCoverStop(BuyPrice-200); //saída no stoploss end; if (IsSold) then begin BuyToCoverLimit(SellPrice-200); BuyToCoverStop(SellPrice+200); end; // REGRAS DE COLORAÇÃO E PLOTS ========================================================================== if (bBuySignal) then Paintbar(clverde); if (bSellSignal) then Paintbar(clvermelho); {Para usar a nuvem Plote somente as tilsons } plot(fTilson1); SetPlotColor (1,clAqua); plot2(fTilson2); SetPlotColor(2,clFuchsia); // REDEFINIÇÃO DE VARIÁVEIS E ENCERRAMENTO ========================================================================== If (pDayTrade = 1) then begin If (Time >= pEndTime) then ClosePosition; end; end;
Novamente obrigado Credson, por compartilhar esta estrategia das nuvens Tilson. Vou avalir nos testes com elas e estudar seu codigo.