<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Compartilhamento de códigos fontes de membros da Comunidade - Neo TraderBot Forum				            </title>
            <link>https://neotraderbot.com/community/compartilhamento-codigo/</link>
            <description>Neo TraderBot Discussion Board</description>
            <language>pt-PT</language>
            <lastBuildDate>Fri, 24 Apr 2026 02:28:12 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>Não perder muito</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/nao-perder-muito/</link>
                        <pubDate>Tue, 03 Dec 2024 00:51:39 +0000</pubDate>
                        <description><![CDATA[alguem poderia escrever este código para o tororader?]]></description>
                        <content:encoded><![CDATA[<p>alguem poderia escrever este código para o tororader?</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Oliveira</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/nao-perder-muito/</guid>
                    </item>
				                    <item>
                        <title>Entrada baseada na ultima</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/entrada-baseada-na-ultima/</link>
                        <pubDate>Mon, 29 May 2023 14:57:20 +0000</pubDate>
                        <description><![CDATA[Bom dia! É possível fazer com que o Robô... verifique se ultima entrada foi de compra e na próxima entrada ele faça apenas uma entrada nas condições de venda?
Agradeço desde já... quem pude...]]></description>
                        <content:encoded><![CDATA[<p>Bom dia! É possível fazer com que o Robô... verifique se ultima entrada foi de compra e na próxima entrada ele faça apenas uma entrada nas condições de venda?</p>
<p>Agradeço desde já... quem puder compartilhar seu conhecimento fico muito agradecido.</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Anaxmando</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/entrada-baseada-na-ultima/</guid>
                    </item>
				                    <item>
                        <title>SETUP de Reversão à média utilizando Canal de Donchian</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/setup-de-reversao-a-media-utilizando-canal-de-donchian/</link>
                        <pubDate>Tue, 09 May 2023 20:16:04 +0000</pubDate>
                        <description><![CDATA[Pessoal,
 
         conforme apresentado na LIVE do dia 04/maio/23, segue código fonte básico de setup baseado na ideia de reversão à média utilizando Canal de Donchian (no caso não usei o...]]></description>
                        <content:encoded><![CDATA[<p>Pessoal,</p>
<p> </p>
<p>         conforme apresentado na LIVE do dia 04/maio/23, segue código fonte básico de setup baseado na ideia de reversão à média utilizando Canal de Donchian (no caso não usei o indicador propriamente dito, mas é o que indicador faz).</p>
<p>          Não fiz nenhuma alteração em relação ao código apresentado na LIVE para que cada um faça as adaptações que julgar necessárias.</p>
<p> </p>
<p>Abs!</p>
<p> </p>
<pre contenteditable="false">input
  iJanelaRecente(2);
  iHoraInicioOperacao(1000);
  iHoraFimOperacao(1500);
  iHoraEncerramento(1545);
var
  fMinima, fMaxima: float;
  fStop: float;
begin
  fMinima := Lowest(Low, iJanelaRecente);
  fMáxima := Highest(High, iJanelaRecente);
  fStop := AvgTrueRange(9,0);

  if not hasPosition then
  begin
    //Restrição de horário para abertura de posição
    if (Time &gt;= iHoraInicioOperacao) 
    and (Time &lt;= iHoraFimOperacao) then
    begin
      BuyLimit(fMinima);
      SellShortLimit(fMaxima);
    end;
  end
  // Gestão de posição
  else
  begin
    if isBought then
    begin
      SellToCoverLimit(fMaxima);
      SellToCoverStop(buyPrice - fStop, buyPrice - fStop - 10*MinPriceIncrement);
    end;

    if isSold then
    begin
      BuyToCoverLimit(fMinima);
      BuyToCoverStop(sellPrice + fStop, sellPrice + fStop + 10*MinPriceIncrement);
    end;
    if Time &gt;= iHoraEncerramento then ClosePosition;
  end;

  plot(fMinima);
  plot2(fMaxima);
end</pre>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Johnathas</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/setup-de-reversao-a-media-utilizando-canal-de-donchian/</guid>
                    </item>
				                    <item>
                        <title>SETUP TRAP DE RAPOSA</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/setup-trap-de-raposa/</link>
                        <pubDate>Mon, 24 Apr 2023 07:44:36 +0000</pubDate>
                        <description><![CDATA[Prezados membros,
 
       por oportunidade da série de vídeos &quot;Passeando pela Lojinha&quot;, na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do...]]></description>
                        <content:encoded><![CDATA[<p>Prezados membros,</p>
<p> </p>
<p>       por oportunidade da série de vídeos "Passeando pela Lojinha", na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do Profit Chart, compartilho abaixo a implementação do setup TRAP DE RAPOSA da Comunidade NeoTraderBot. Este setup é bastante difundido por Alexander Wolwacz, conhecido por Stormer, fundador da L&amp;S Quant.</p>
<pre contenteditable="false">const
  cEncerraPosicao = 1730;
  cOffsetEmTicks = 10;

input
  pRiscoGanho(1.61);
  pMediaRapida(9);
  pMediaLenta(81);
var
  bGraficoTemporalDiarioOuAcima: boolean;
  bTrapRaposa, bSinalCompra, bSinalVenda: boolean;
  fMediaRapida, fMediaLenta, fDifMedia: float;
  fVolMedia: float;
  fStop: float;

begin
  if CurrentBar = 0 then
  bGraficoTemporalDiarioOuAcima :=  (GraphicInterval = itDaily) 
                                 or (GraphicInterval = itWeekly)
                                 or (GraphicInterval = itMonthly);
  
  bTrapRaposa := false;
  bSinalCompra := false;
  bSinalVenda := false;
  fMediaRapida := MediaExp(pMediaRapida,Close);
  fMediaLenta := MediaExp(pMediaLenta,Close);
  fVolMedia := AvgTrueRange(100,0);
  

  plot(fMediaRapida);
  plot2(fMediaLenta);
  setPlotColor(1,clWhite);
  setPlotStyle(1,psDash);
  setPlotColor(2,clRed);
  setPlotWidth(2,2);


  bTrapRaposa := ( (Close &gt; fMediaRapida) and (Low &lt;= fMediaRapida)
                   or
                   (Close &lt; fMediaRapida) and (High &gt;= fMediaRapida)
                 );  

  if not hasPosition
  and (
        (not bGraficoTemporalDiarioOuAcima)
        or
        ((bGraficoTemporalDiarioOuAcima) and not bTrapRaposa)
      )
  then
  begin
    //Sinal bTrapRaposa de Compra + 2 Passos do Paraíso
    if bTrapRaposa
    and (fMediaRapida &gt; fMediaLenta)
    and (fMediaRapida &gt; fMediaRapida)
    and (fMediaLenta &gt; fMediaLenta)
    and ((Highest(fMediaRapida,pMediaRapida) - Lowest(fMediaRapida,pMediaRapida)) &gt;= fVolMedia)
    then
    begin
      bSinalCompra := true;
      PaintBar(clGreen);
      PlotText("C", clGreen, 3, 10, Low - 5*MinPriceIncrement);
    end;
  
    //Sinal InsideBar de Venda + 2 Passos do Paraíso
    if  bTrapRaposa
    and (fMediaRapida &lt; fMediaLenta)
    and (fMediaRapida &lt; fMediaRapida)
    and (fMediaLenta &lt; fMediaLenta)
    and ((Highest(fMediaRapida,pMediaRapida) - Lowest(fMediaRapida,pMediaRapida)) &gt;= fVolMedia)
    then 
    begin
      bSinalVenda := true;
      PaintBar(clRed);
      PlotText("V", clRed, 3, 10, High + 5*MinPriceIncrement);
    end;
  end;

  // Apregoa ordens stop
  if bGraficoTemporalDiarioOuAcima then
  begin
    if bSinalCompra then
    begin
      BuyStop(High + 1*MinPriceIncrement, High + cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  
    if bSinalVenda then
    begin
      SellShortStop(Low - 1*MinPriceIncrement, Low - cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  end
  else
  begin
    if bSinalCompra then
    begin
      BuyStop(High + 1*MinPriceIncrement, High + cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  
    if bSinalVenda then
    begin
      SellShortStop(Low - 1*MinPriceIncrement, Low - cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  end;

  // Gerencia posição
  if IsBought then
  begin
    SellToCoverStop(buyPrice - fStop, buyPrice - fStop - cOffsetEmTicks*MinPriceIncrement); 
    SellToCoverLimit(BuyPrice + pRiscoGanho*fStop);

    // Proteção para pulo de stop devido à gaps
    if (Close &lt; buyPrice - fStop - cOffsetEmTicks*MinPriceIncrement) 
    or (Close &gt; BuyPrice + pRiscoGanho*fStop) then ClosePosition;
    // Encerra posição ao final do dia se grafico não for diário ou maior
    if (Time &gt;= cEncerraPosicao) and 
       ((GraphicInterval = itMinute) and (GraphicOffset &lt;= 15))
     then ClosePosition;
  end;

  if IsSold then
  begin
    BuyToCoverStop(sellPrice + fStop, sellPrice + fStop + cOffsetEmTicks*MinPriceIncrement); 
    BuyToCoverLimit(sellPrice - pRiscoGanho*fStop);

    // Proteção para pulo de stop devido à gaps
    if (Close &gt; sellPrice + fStop + cOffsetEmTicks*MinPriceIncrement)
    or (Close &lt; sellPrice - pRiscoGanho*fStop) then ClosePosition;
    // Encerra posição ao final do dia se grafico for menor que 15 MIN
    if (Time &gt;= cEncerraPosicao) and 
       ((GraphicInterval = itMinute) and (GraphicOffset &lt;= 15))
     then ClosePosition;
  end;

end;</pre>
<p> </p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Johnathas</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/setup-trap-de-raposa/</guid>
                    </item>
				                    <item>
                        <title>Renko com nuvens de Tilson : &quot;Tilson Box Breakout&quot;</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/renko-com-nuvens-de-tilson-tilson-box-breakout/</link>
                        <pubDate>Tue, 11 Apr 2023 12:52:55 +0000</pubDate>
                        <description><![CDATA[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. 
 
//========================================================...]]></description>
                        <content:encoded><![CDATA[<p>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. </p>
<p> </p>
<pre class="fig" contenteditable="false">//==================================================================================================//
//                                        ..:::..                                                   //
//                                    :=**++=====-:                                                 //
//                                  :**=.      ..:--:.     ..:..                                    //
//                                 +**   ..:---===---:. :=====+=.                                   //
//                                 =**-:::::....:-=+*+-===-. .:++-                                  //
//                               ...***:            -*++=:-:   .=*:                                 //
//                            :----=+**+:           -+++.  :+:   ++                                 //
//                         .-=::==-::-**+=.        .+++-    .+=. :*:                                //
//                       .=+: :+=.    .++++-.     :++++       =+: +=                                //
//                      -*=. .+=        +++++-: :=**++-        +*:-=                                //
//                     =*=   +=         :+++++==++**++.        :**:=                                //
//                    -*+   :+           +++++====**++         .**:-                                //
//                    =*+   +:        .:-===++=-==**++-:..  ...=**.:                                //
//                    .**+-:+...::--========+:   :**++=======++++++++-:                             //
//                     .=+*++++**++++++====+*.   .++=========-----+=+**=                            //
//                        .--**+--::::-=======-:-++====-::.      .+  :**-                           //
//                         -:**.         ++==++++++++=           =-   +*-                           //
//                         =:**.        .++*++++++++++.         -+.  :*+.                           //
//                         +:=*=        :+**++-:-+++++-        :+:  -*+.                            //
//                         == =*-       =***=.   .-++++-      -+- .=+-                              //
//                         -*. -+-     :***-        -++*+. .:=+-.-+-.                               //
//                         .*=  .==.  .+**=          .=***===-:--:                                  //
//                          =*-   .=-.=+**:            =***:.:.                                     //
//                           ++=.   :==++*+-:.       ..:=+*-                                        //
//                            -++=-====..-=++++++==--:. .**+                                        //
//                             .:---:.   .::::..        :**-                                        //
//                                         .:-=---:---+**-                                          //
//                                           .::--=--:.                                             //
//                                              .:=:.                                               // 
//  ____                        _     _____                       _         _    _                  //
// / __ \                      | |   |  __ \                     | |       | |  (_)                 //
//| |  | | _   _   __ _  _ __  | |_  | |__) |  ___ __   __  ___  | | _   _ | |_  _   ___   _ __     //
//| |  | || | | | / _` || '_ \ | __| |  _  /  / _ \\ \ / / / _ \ | || | | || __|| | / _ \ | '_ \    //
//| |__| || |_| || (_| || | | || |_  | | \ \ |  __/ \ 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                           //</pre>
<p> </p>
<pre contenteditable="false">// 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 &gt; open) and (Abs(Low - Open)&gt;= (Abs(Close-Open)));    //Condição para definir se o box de alta está com pavio
  bDownBox:=(close &lt; open) and (Abs(High - Open)&gt;= (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 &gt; fTilson2) and (fTilson2 &gt; fMovingExp);   //Verifica se as médias estão alinhadas para cima
  bDownTrend:=(fTilson1 &lt; fTilson2) and (fTilson2 &lt; fMovingExp);   //verifica se médias estão alinhadas para baixo
  {Definição das condições para engolfo}
  bUpEngulf  := ((Low &lt;=fTilson2) and (High &gt;=fTilson1));
  bDownEngulf:= ((High &gt;=fTilson2) and (Low &lt;=fTilson1));
  {Definição dos sinais de entrada}
  bBuySignal := (bUpTrend) and (bUpBox) and (bUpEngulf);
  bSellSignal:=(bDownTrend) and (bDownBox) and (bDownEngulf);

  //fBoxRange:=Abs(Open-close);

  {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 &gt;= pEndTime) then
    ClosePosition;
  end;

end;</pre>
<div> </div>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Credson</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/renko-com-nuvens-de-tilson-tilson-box-breakout/</guid>
                    </item>
				                    <item>
                        <title>Up Down Volume: Indicador de Volume de Compra e Venda</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/up-down-volume-indicador-de-volume-de-compra-e-venda/</link>
                        <pubDate>Sat, 08 Apr 2023 16:13:03 +0000</pubDate>
                        <description><![CDATA[Esse indicador plota o volume de compra acima de zero e o volume de venda abaixa de zero, dentro de uma mesma barra. Você pode utilizar o código a votante e/ou modificá-lo desde que concorde...]]></description>
                        <content:encoded><![CDATA[<p>Esse indicador plota o volume de compra acima de zero e o volume de venda abaixa de zero, dentro de uma mesma barra. <br />Você pode utilizar o código a votante e/ou modificá-lo desde que concorde com os termos da Mozilla Public License 2.0, disponível em:<a href="//mozilla.org/MPL/2.0/" target="_blank" rel="noopener">//https://mozilla.org/MPL/2.0/</a> </p>
<p><br />O indicador também estará disponível, com código fonte aberto, através da loja de indicadores da Neológica com o nome: "<strong>Up Down Volume Indicator</strong>".</p>
<p> </p>
<pre contenteditable="false">// PARAMETROS ==========================================================================
input

  pMediaUp(9);
  pMediaDwn(9);
  pPlotMedia(false);

// VARIÁVEIS ==========================================================================
var

  fClose      :float;
  fOpen       :float;
  fRange      :float;
  fVolume     :float;
  fUpVolume   :float;
  fDwnVolume     :float;
  fBuyVolume  :float;
  fSellVolume :float; 
  iUpColor    :integer;
  iDwnColor   :integer;
  fMediaUp    :float;
  fMediaDwn   :float;

// INÍCIO DO CÓDIGO ==========================================================================
begin

  fClose   :=Close;
  fOpen    :=Open;
  fRange   :=(High-Low);         //cálcula o range da barra
  fVolume  :=Volume;                //Atribui o valor do volume a variável fVolume
  iUpColor :=RGB(38,166,154);   //Cor do volume de Compra
  iDwnColor:=RGB(255,82,0);    //Cor do volume de venda
  
 	 if (fClose &gt; fOpen) then
			      fUpVolume:=(fRange/(2*fRange+fOpen-fClose))*fVolume
			
			else if (fClose &lt; fOpen) then
      fUpVolume:=((fRange+fClose-fOpen)/(2*fRange+fClose-fOpen))*fVolume
			
   else if (fClose=fOpen) then	
      fUpVolume:=fVolume/2;
		   
   fDwnVolume:= fVolume - fUpVolume;

   fBuyVolume:=fUpVolume;
   fSellVolume:=Neg(fDwnVolume);

   fMediaUp :=MediaExp(9,fBuyVolume);
   fMediaDwn:=MediaExp(9,fSellVolume);

// PLOTS ==========================================================================       
  plot (Abs(fBuyVolume));
    SetPlotType(1,1);
    SetPlotColor(1,iUpColor);
    
  Plot2 (fSellVolume);
    SetPlotType(2,1);
    SetPlotColor(2,iDwnColor);

  if (pPlotMedia=true) then
      begin
        Plot3 (fMediaUp);
        SetPlotStyle(3,0);
        SetPlotWidth(3,1);
        SetPlotColor(3, clgreen);
  
        Plot4 (fMediaDwn);
        SetPlotStyle(4,0);
        SetPlotWidth(4,1);
        SetPlotColor(4, clred);
     end;

end;</pre>
<p> </p>
<p> </p>
<p> </p>
<div id="wpfa-12327" class="wpforo-attached-file"><a class="wpforo-default-attachment" title="Upd.png" href="//neotraderbot.com/wp-content/uploads/wpforo/default_attachments/1680970383-Upd.png" target="_blank" rel="noopener"><i class="fas fa-paperclip"></i> Upd.png</a></div>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Credson</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/up-down-volume-indicador-de-volume-de-compra-e-venda/</guid>
                    </item>
				                    <item>
                        <title>Setup - InsideBar</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/setup-insidebar/</link>
                        <pubDate>Wed, 05 Apr 2023 11:59:18 +0000</pubDate>
                        <description><![CDATA[Prezados membros,
 
       por oportunidade da série de vídeos &quot;Passeando pela Lojinha&quot;, na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do...]]></description>
                        <content:encoded><![CDATA[<p>Prezados membros,</p>
<p> </p>
<p>       por oportunidade da série de vídeos "Passeando pela Lojinha", na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do Profit Chart, compartilho abaixo a implementação do setup InsideBar da Comunidade NeoTraderBot.</p>
<pre contenteditable="false">const
  cEncerraPosicao = 1730;
  cOffsetEmTicks = 10;

input
  pRiscoGanho(1.61);
  pMediaRapida(9);
  pMediaLenta(81);

var
  bGraficoTemporalDiarioOuAcima: boolean;
  bInsideBar, bSinalCompra, bSinalVenda: boolean;
  fMediaRapida, fMediaLenta: float;
  fStop: float;

begin
  if CurrentBar = 0 then
  bGraficoTemporalDiarioOuAcima :=  (GraphicInterval = itDaily) 
                                 or (GraphicInterval = itWeekly)
                                 or (GraphicInterval = itMonthly);
  
  bInsideBar := false;
  bSinalCompra := false;
  bSinalVenda := false;
  fMediaRapida := MediaExp(pMediaRapida,Close);
  fMediaLenta := MediaExp(pMediaLenta,Close);

  plot(fMediaRapida);
  plot2(fMediaLenta);
  setPlotColor(1,clWhite);
  setPlotStyle(1,psDash);
  setPlotColor(2,clRed);
  setPlotWidth(2,2);


  bInsideBar := (Low &gt; Low) and (High &lt;= High);  
  if bInsideBar then PaintBar(clYellow);
  
  if not hasPosition
  and (
        (not bGraficoTemporalDiarioOuAcima)
        or
        ((bGraficoTemporalDiarioOuAcima) and not bInsideBar)
      )
  then
  begin
    //Sinal InsideBar de Compra + 2 Passos do Paraíso
    if bInsideBar
    and (Close &gt; fMediaRapida) 
    and (fMediaRapida &gt; fMediaLenta)
    and (fMediaRapida &gt; fMediaRapida)
    and (fMediaLenta &gt; fMediaLenta)
    then
    begin
      bSinalCompra := true;
      PaintBar(clGreen);
      PlotText("C", clGreen, 3, 10, Low - 5*MinPriceIncrement);
    end;
  
    //Sinal InsideBar de Venda + 2 Passos do Paraíso
    if  bInsideBar
    and (Close &lt; fMediaRapida)
    and (fMediaRapida &lt; fMediaLenta)
    and (fMediaRapida &lt; fMediaRapida)
    and (fMediaLenta &lt; fMediaLenta)
    then 
    begin
      bSinalVenda := true;
      PaintBar(clRed);
      PlotText("V", clRed, 3, 10, High + 5*MinPriceIncrement);
    end;
  end;

  // Apregoa ordens stop
  if bGraficoTemporalDiarioOuAcima then
  begin
    if bSinalCompra then
    begin
      BuyStop(High + 1*MinPriceIncrement, High + cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  
    if bSinalVenda then
    begin
      SellShortStop(Low - 1*MinPriceIncrement, Low - cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  end
  else
  begin
    if bSinalCompra then
    begin
      BuyStop(High + 1*MinPriceIncrement, High + cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  
    if bSinalVenda then
    begin
      SellShortStop(Low - 1*MinPriceIncrement, Low - cOffsetEmTicks*MinPriceIncrement);
      fStop := High - Low;
    end;  
  end;

  // Gerencia posição
  if IsBought then
  begin
    SellToCoverStop(buyPrice - fStop, buyPrice - fStop - cOffsetEmTicks*MinPriceIncrement); 
    SellToCoverLimit(BuyPrice + pRiscoGanho*fStop);

    // Proteção para pulo de stop devido à gaps
    if (Close &lt; buyPrice - fStop - cOffsetEmTicks*MinPriceIncrement) 
    or (Close &gt; BuyPrice + pRiscoGanho*fStop) then ClosePosition;
    // Encerra posição ao final do dia se grafico não for diário ou maior
    if (Time &gt;= cEncerraPosicao) and not bGraficoTemporalDiarioOuAcima then ClosePosition;
  end;

  if IsSold then
  begin
    BuyToCoverStop(sellPrice + fStop, sellPrice + fStop + cOffsetEmTicks*MinPriceIncrement); 
    BuyToCoverLimit(sellPrice - pRiscoGanho*fStop);

    // Proteção para pulo de stop devido à gaps
    if (Close &gt; sellPrice + fStop + cOffsetEmTicks*MinPriceIncrement)
    or (Close &lt; sellPrice - pRiscoGanho*fStop) then ClosePosition;
    // Encerra posição ao final do dia se grafico não for diário ou maior
    if (Time &gt;= cEncerraPosicao) and not bGraficoTemporalDiarioOuAcima then ClosePosition;
  end;

end;</pre>
<p> </p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Johnathas</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/setup-insidebar/</guid>
                    </item>
				                    <item>
                        <title>Setup - Cruzamento de 2 médias</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/setup-cruzamento-de-2-medias/</link>
                        <pubDate>Wed, 29 Mar 2023 22:47:20 +0000</pubDate>
                        <description><![CDATA[Prezados membros,
 
       por oportunidade da série de vídeos &quot;Passeando pela Lojinha&quot;, na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do...]]></description>
                        <content:encoded><![CDATA[<p>Prezados membros,</p>
<p> </p>
<p>       por oportunidade da série de vídeos "Passeando pela Lojinha", na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do Profit Chart, compartilho abaixo a implementação do setup clássico de Cruzamento de 2 médias (Double crossover) da Comunidade NeoTraderBot.</p>
<p> </p>
<pre contenteditable="false">input
  pQtdePeriodosMediaRapida(5);
  pQtdePeriodosMediaLenta(20);

var
  bSinalCompra,bSinalVenda : boolean;
  fMediaRapida,fMediaLenta : float;

begin
  //Inicializa variáveis a cada processamento
  bSinalCompra := False;
  bSinalVenda := False;

  fMediaRapida := MediaExp(pQtdePeriodosMediaRapida, Close);
  fMediaLenta := MediaExp(pQtdePeriodosMediaLenta, Close);

  //Plota indicadores
  SetPlotColor(1,clRed);
  SetPlotWidth(1,2);
  SetPlotStyle(1,psDash);
  SetPlotColor(2,clWhite);
  SetPlotWidth(2,2);
  Plot(fMediaRapida);
  Plot2(fMediaLenta);

  //Se já houver média lenta, realiza cálculos de entrada/saida/liquidação
  if (fMediaLenta &lt;&gt; 0) then
  begin
    if  (fMediaRapida &gt; fMediaLenta)
    and (fMediaRapida &lt;= fMediaLenta)  
    then bSinalCompra := True;

    if  (fMediaRapida &lt; fMediaLenta)
    and (fMediaRapida &gt;= fMediaLenta) 
    then bSinalVenda := True;

  end;

  if Not hasPosition and bSinalCompra then BuyAtMarket;
  if Not hasPosition and bSinalVenda then SellShortAtMarket;
  if (Position &gt; 0) and bSinalVenda then ReversePosition;
  if (Position &lt; 0) and bSinalCompra then ReversePosition;

end;</pre>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Johnathas</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/setup-cruzamento-de-2-medias/</guid>
                    </item>
				                    <item>
                        <title>Setup 123 - Inspirado nas ideias de Stormer (L&amp;S Quant)</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/setup-123-inspirado-nas-ideias-de-stormer-ls-quant/</link>
                        <pubDate>Wed, 29 Mar 2023 14:32:52 +0000</pubDate>
                        <description><![CDATA[Prezados membros,
 
       por oportunidade da série de vídeos &quot;Passeando pela Lojinha&quot;, na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do...]]></description>
                        <content:encoded><![CDATA[<p>Prezados membros,</p>
<p> </p>
<p>       por oportunidade da série de vídeos "Passeando pela Lojinha", na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do Profit Chart, e tendo em vista que a estratégia disponibilizada pela L&amp;S Quant de Setup 123 não está correta para tempos gráficos acima de 1D (verificação realizada em 26/03/2023), compartilho abaixo a implementação da Comunidade NeoTraderBot.</p>
<p> </p>
<pre contenteditable="false">var
  bGraficoTemporalDiarioOuAcima: boolean;
  bSinalCompra123, bSinalVenda123: boolean;
  fMedia08, fMedia80: float;
  fPrecoStop, fPrecoAlvo: float;
begin
  if CurrentBar = 0 then
  bGraficoTemporalDiarioOuAcima :=  (GraphicInterval = itDaily) 
                                 or (GraphicInterval = itWeekly)
                                 or (GraphicInterval = itMonthly);
  

  bSinalCompra123 := false;
  bSinalVenda123 := false;
  fMedia08 := MediaExp(8, Close);
  fMedia80 := MediaExp(80, Close);
  plot(fMedia08);
  plot2(fMedia80);

  
  if not hasPosition
  and (
        (not bGraficoTemporalDiarioOuAcima)
        or
        ((bGraficoTemporalDiarioOuAcima) and not(bSinalCompra123 or bSinalVenda123))
      )
  then
  begin
    // Indentificação Padrão 123 de Compra
    if (Low &gt; Low)
    and (Low &lt; Low)
    and (fMedia08 &gt; fMedia80)
    and (fMedia08 &gt; fMedia08)
    and (fMedia80 &gt; fMedia80)
    then
    begin
      bSinalCompra123 := true;
      PaintBar(clBlue);
      PlotText("C", clBlue,3, 10, Low - 3*MinPriceIncrement);

      fPrecoStop := Low - MinPriceIncrement;
      fPrecoAlvo := High + 1.61*(High - Lowest(Low,3));
    end;
  
    // Indentificação Padrão 123 de Venda
    if (High &lt; High)
    and (High &gt; High)
    and (fMedia08 &lt; fMedia80)
    and (fMedia08 &lt; fMedia08)
    and (fMedia80 &lt; fMedia80)
    then
    begin
      bSinalVenda123 := true;
      PaintBar(clRed);
      PlotText("V", clRed,3, 10, High + 3*MinPriceIncrement);

      fPrecoStop := High + MinPriceIncrement;
      fPrecoAlvo := Low - 1.61*(Highest(High,3) - Low);
    end;
  end;

  //Tratamento dos sinais de identificação
  if not bGraficoTemporalDiarioOuAcima
  then
  begin
    if bSinalCompra123
    then BuyStop(High + MinPriceIncrement, High + MinPriceIncrement);
  
    if bSinalVenda123 
    then SellShortStop(Low - MinPriceIncrement, Low - MinPriceIncrement);
  end
  else
  begin
    if bSinalCompra123
    then BuyStop(High + MinPriceIncrement, High + MinPriceIncrement);
  
    if bSinalVenda123 
    then SellShortStop(Low - MinPriceIncrement, Low - MinPriceIncrement);
  end;

  // Gestão das posições
  if isBought then
  begin
    SellToCoverStop(fPrecoStop, fPrecoStop - 10*MinPriceIncrement);
    SellToCoverLimit(fPrecoAlvo);
  end;

  if isSold then
  begin
    BuyToCoverStop(fPrecoStop, fPrecoStop + 10*MinPriceIncrement);
    BuyToCoverLimit(fPrecoAlvo);
  end;

end;</pre>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Johnathas</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/setup-123-inspirado-nas-ideias-de-stormer-ls-quant/</guid>
                    </item>
				                    <item>
                        <title>Setup PFR - Preço de Fechamento de Reversão</title>
                        <link>https://neotraderbot.com/community/compartilhamento-codigo/setup-pfr-preco-de-fechamento-de-reversao/</link>
                        <pubDate>Wed, 29 Mar 2023 04:02:46 +0000</pubDate>
                        <description><![CDATA[Prezados membros,
 
       por oportunidade da série de vídeos &quot;Passeando pela Lojinha&quot;, na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do...]]></description>
                        <content:encoded><![CDATA[<p>Prezados membros,</p>
<p> </p>
<p>       por oportunidade da série de vídeos "Passeando pela Lojinha", na qual realizamos a análise de desempenho das estratégias mais assinadas na Loja de Estratégias do Profit Chart, e tendo em vista que a estratégia disponibilizada pela L&amp;S Quant de PFR estava aparentemente incorreta (verificação realizada em 29/03/2023), compartilho abaixo a implementação da Comunidade NeoTraderBot.</p>
<p>       </p>
<p> </p>
<pre contenteditable="false">input
  pRiscoGanho(2.0);

var
  bGraficoTemporalDiarioOuAcima: boolean;
  bSinalCompraPFR, bSinalVendaPFR: boolean;
  fMedia08, fMedia80: float;
  fStop: float;
  fMinima2UltCandles, fMaxima2UltCandles: float;
begin
  if CurrentBar = 0 then
  bGraficoTemporalDiarioOuAcima :=    (GraphicInterval = itDaily) 
                                 or (GraphicInterval = itWeekly)
                                 or (GraphicInterval = itMonthly);
  

  bSinalCompraPFR := false;
  bSinalVendaPFR := false;
  fMedia08 := MediaExp(8,Close);
  fMedia80 := MediaExp(80,Close);
  fMinima2UltCandles := Lowest(Low,2);
  fMaxima2UltCandles := Highest(High,2);

  plot(fMedia08);
  plot2(fMedia80);
  setPlotColor(1,clWhite);
  setPlotColor(2,clWhite);

  if not hasPosition
  and (
        (not bGraficoTemporalDiarioOuAcima)
        or
        ((bGraficoTemporalDiarioOuAcima) and not(bSinalCompraPFR or bSinalVendaPFR))
      )
  then
  begin
  
    //Sinal PFR de Compra
    if  (Low &lt;= fMinima2UltCandles)
    and (Close &gt;= Close)
    and (fMedia08 &gt; fMedia80)
    and (fMedia08 &gt; fMedia08)
    and (fMedia80 &gt; fMedia80)
    then
    begin
      bSinalCompraPFR := true;
      PaintBar(clBlue);
      PlotText("C", clBlue, 3, 10, Low - 5*MinPriceIncrement);
    end;
  
    //Sinal PFR de Venda
    if  (High &gt;= fMaxima2UltCandles)
    and (Close &lt;= Close)
    and (fMedia08 &lt; fMedia80)
    and (fMedia08 &lt; fMedia08)
    and (fMedia80 &lt; fMedia80)
    then 
    begin
      bSinalVendaPFR := true;
      PaintBar(clRed);
      PlotText("V", clRed, 3, 10, High + 5*MinPriceIncrement);
    end;
  end;

  // Apregoa ordens stop
  if bGraficoTemporalDiarioOuAcima then
  begin
    if bSinalCompraPFR then
    begin
      BuyStop(High + 1*MinPriceIncrement, High + 10*MinPriceIncrement);
      fStop := High - Low;
    end;  
  
    if bSinalVendaPFR then
    begin
      SellShortStop(Low - 1*MinPriceIncrement, Low - 10*MinPriceIncrement);
      fStop := High - Low;
    end;  
  end
  else
  begin
    if bSinalCompraPFR then
    begin
      BuyStop(High + 1*MinPriceIncrement, High + 10*MinPriceIncrement);
      fStop := High - Low;
    end;  
  
    if bSinalVendaPFR then
    begin
      SellShortStop(Low - 1*MinPriceIncrement, Low - 10*MinPriceIncrement);
      fStop := High - Low;
    end;  
  end;

  // Gerencia posição
  if IsBought then
  begin
    SellToCoverStop(buyPrice - fStop, buyPrice - fStop - 10*MinPriceIncrement); 
    SellToCoverLimit(BuyPrice + pRiscoGanho*fStop);
  end;

  if IsSold then
  begin
    BuyToCoverStop(sellPrice + fStop, sellPrice + fStop + 10*MinPriceIncrement); 
    BuyToCoverLimit(sellPrice - pRiscoGanho*fStop);
  end;

end;</pre>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/compartilhamento-codigo/">Compartilhamento de códigos fontes de membros da Comunidade</category>                        <dc:creator>Johnathas</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/compartilhamento-codigo/setup-pfr-preco-de-fechamento-de-reversao/</guid>
                    </item>
							        </channel>
        </rss>
		