<?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>
									Dúvidas sobre Programação - Neo TraderBot Forum				            </title>
            <link>https://neotraderbot.com/community/programacao-ntsl/</link>
            <description>Neo TraderBot Discussion Board</description>
            <language>pt-PT</language>
            <lastBuildDate>Fri, 24 Apr 2026 02:28:10 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>Bug do Profit</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/bug-do-profit/</link>
                        <pubDate>Mon, 23 Feb 2026 20:24:45 +0000</pubDate>
                        <description><![CDATA[Em meu código NTLS o Profit está fazendo entradas fantasmas, &quot;sem autorização&quot;, e reversões não comandadas. Depois de usar até IA, venho pedir ajuda se alguém já enfrentou o mesmo problema.]]></description>
                        <content:encoded><![CDATA[<p>Em meu código NTLS o Profit está fazendo entradas fantasmas, "sem autorização", e reversões não comandadas. Depois de usar até IA, venho pedir ajuda se alguém já enfrentou o mesmo problema.</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>Arlindo</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/bug-do-profit/</guid>
                    </item>
				                    <item>
                        <title>IDENTIFICAR SAIDAS PARCIAIS</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/identificar-saidas-parciais/</link>
                        <pubDate>Sun, 30 Nov 2025 00:57:22 +0000</pubDate>
                        <description><![CDATA[Fala pessoal, novo novo por aqui e tbm novo em programação NTSL. Estou com dificuldade de atualizar o valor de uam variável para True quando uma parcial é feita.atualmente estou fazendo dest...]]></description>
                        <content:encoded><![CDATA[<p>Fala pessoal, novo novo por aqui e tbm novo em programação NTSL. Estou com dificuldade de atualizar o valor de uam variável para True quando uma parcial é feita.<br /><br />atualmente estou fazendo desta forma abaixo:<br /><br />// -----------------------------------------------------------<br />// 2) VERIFICA SE ATINGIU O PRIMEIRO ALVO DA PARCIAL E ATUALIZA O CONTROLE DE PARCIAIS<br />// -----------------------------------------------------------<br /><br />If (Close &gt;= BuyPrice + ParcialPontos) Then<br />Begin<br /><br />parcialCompraFeita := true;<br /><br />End;</p>
<p> </p>
<p>na iamgem que anexei, vejam que a parcial foi feita, mas o StopLoss não foi para o ponto zero, e o motivo para isso é pq a variavel: parcialCompraFeita  não atualizou para true.</p>
<p> </p>
<p>Alguem poderia me dar uma luzzzz please..</p>
<p> </p>
<p> </p>
<p> </p>
<p>Mas não sei o que está havendo, que não não entra nessa condição de jeito nenhum. A ideia é que após a parcial feita, ele entre ai e atulize a variavel para que eu possa colocar o StopLoso no ponto zero.<br /><br />SEgue o codigo completo da parcial.<br /><br /><br /><br /></p>
<p>If (IsBought) Then<br />Begin<br />// -----------------------------------------------------------<br />// 1) PARCIAL DE 50% NA COMPRA<br />//<br />// Condições:<br />// - Ainda não fez parcial (parcialCompraFeita = false)<br />// - A máxima do candle atingiu (BuyPrice + ParcialPontos)<br />//<br />// A quantidade de parcial é calculada como 50% do total de<br />// contratos configurados em Contratos.<br />// -----------------------------------------------------------<br /><br /><br />// FECHA 50% DA POSIÇÃO (Contratos / 2)<br />// IMPORTANTE: Caso numero de contratos impar, o maior lote vai ficar para a primeira parcial.<br /><br />If (not parcialCompraFeita) AND (BuyPositionQty() = Contratos) Then<br />Begin<br />// QUANTIDADE DA PARCIAL NA COMPRA:<br />// - Se CONTRATOS PAR: 50% exato<br />// - Se CONTRATOS ÍMPAR: maior parte na parcial<br /><br />If Mod(Contratos,2) = 0 then<br />SellToCoverLimit(BuyPrice() + ParcialPontos, Contratos / 2)<br />else<br />SellToCoverLimit(BuyPrice() + ParcialPontos, (Contratos + 1) / 2);<br />End;<br /><br /><br /><br />// -----------------------------------------------------------<br />// 2) VERIFICA SE ATINGIU O PRIMEIRO ALVO DA PARCIAL E ATUALIZA O CONTROLE DE PARCIAIS<br />// -----------------------------------------------------------<br /><br />If (Close &gt;= BuyPrice + ParcialPontos) Then<br />Begin<br /><br />parcialCompraFeita := true;<br /><br />End;<br /><br />// -----------------------------------------------------------<br />// 2) APÓS A PARCIAL, STOP EM BE E ALVO FINAL PARA A 2ª METADE<br />// -----------------------------------------------------------<br />If (parcialCompraFeita) Then<br />Begin<br />StopLoss := BuyPrice + MargelParcial; // Breakeven (ponto zero + margem)<br />StopGain := BuyPrice + AlvoFinalPontos; // Alvo final da 2ª metade<br /><br />SellToCoverLimit(StopGain);<br />SellToCoverStop(StopLoss, StopLoss - (10 * MinPriceIncrement));<br />End<br />else<br />Begin<br />// -------------------------------------------------------<br />// 3) ANTES DA PARCIAL:<br />// mantém stop técnico por ATR com base no preço de entrada<br />// -------------------------------------------------------<br />StopGain := BuyPrice + AlvoFinalPontos;<br />// StopLoss := BuyPrice - (valorATR * ATRMultiplicador);<br /><br />StopLoss := Low - 290; //StopATr<br />//TESTE DE OUTROS TIPOS DE STOP LOSS<br />//StopLoss := Low - margemStopLoss; //vega antigo<br /><br /><br />SellToCoverLimit(StopGain);<br />SellToCoverStop(StopLoss, StopLoss - (10 * MinPriceIncrement));<br />End;<br /><br />// ====== CONTROLE DE TEMPO NO TRADE (se habilitado) ======<br />If (UsaTempoMaximoTrade) and<br />(Time &gt;= HoraSaidaMaxima) Then<br />ClosePosition();<br /><br /><br />// Segurança extra: se o fechamento ultrapassar alvo ou stop, encerra<br />If (Close &gt; StopGain) or (Close &lt; StopLoss) Then<br />ClosePosition();<br />End;</p>
<p> </p>
<div id="wpfa-17531" class="wpforo-attached-file"><a class="wpforo-default-attachment" href="//neotraderbot.com/wp-content/uploads/wpforo/default_attachments/1764464242-Evidencia-1.jpg" target="_blank" title="Evidencia-1.jpg"><i class="fas fa-paperclip"></i>&nbsp;Evidencia-1.jpg</a></div>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>Marcosdepaula</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/identificar-saidas-parciais/</guid>
                    </item>
				                    <item>
                        <title>Ajuste e adição de parametros</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/ajuste-e-adicao-de-parametros/</link>
                        <pubDate>Thu, 21 Aug 2025 23:44:40 +0000</pubDate>
                        <description><![CDATA[//---ROBÔ DESENVOLVIDO POR @SPERBTRADER---

INPUT
offSet(30);



VAR
sinalC, sinalV, StopC, StopV : booleano;
cor : inteiro;
//variáveis
mm, valorIFR, valorStopC, valorStopV : rea...]]></description>
                        <content:encoded><![CDATA[<pre contenteditable="false">//---ROBÔ DESENVOLVIDO POR @SPERBTRADER---

INPUT
offSet(30);



VAR
sinalC, sinalV, StopC, StopV : booleano;
cor : inteiro;
//variáveis
mm, valorIFR, valorStopC, valorStopV : real; //preencher aqui com as variáveis necessárias



BEGIN

//PASSO 1 = CARREGAR INDICADOR
mm := mediaExp(34, (Close)); //preencher aqui os indicadores necessários
valorIFR := IFR(13);
//PASSO 2 = SINAIS DE ENTRADA
sinalC := (Abertura &gt;= mm) e (Fechamento &gt;= mm) e (valorIFR &gt;= 50); //preencher aqui com a configuração do sinal de entrada de compra
sinalV := (Abertura &lt;= mm) e (Fechamento &lt;= mm) e (valorIFR &lt;= 50); //preencher aqui com a configuração do sinal de entrada de venda

//PASSO 3 = SINAIS DE SAÍDA
stopC := (Fechamento &lt;= MediaExp(7,Close));  //preencher aqui com a configuração do sinal de saída de compra
stopV := (Fechamento &gt;= MediaExp(7,Close)); //preencher aqui com a configuração do sinal de saída de venda



//-----REGRAS DE EXECUÇÃO - NÃO EDITAR------

//REGRAS DE EXECUÇÃO DE ENTRADA
se (sinalC ou sinalV) e (not IsBought) e (not IsSold) então
   BuyStop((minima + MinPriceIncrement), (minima + MinPriceIncrement) + (offSet*MinPriceIncrement));
   SellShortStop((minima - MinPriceIncrement), (minima - MinPriceIncrement) - (offSet*MinPriceIncrement));

//REGRAS DE EXECUÇÃO DE SAÍDA
valorStopC := minima;
valorStopV := maxima;

//REGRAS DE COLORAÇÃO
se (sinalC) então cor := clVerde
senão se (sinalV) então cor := clVermelho
senão cor := clBranco;
//continuidade da coloração, apague se quiser apenas o gatilho colorido
se (cor  = clVerde) e (not StopC) então cor := clVerde;
se (cor  = clRed) e (not StopV) então cor := clVermelho;

PaintBar(cor);



END;</pre>
<p>Gostaria de ajuda pois preciso adiconar alguns parametros e outros não estão de acordo como eu preciso...<br />Eu quero que, quando o gatilho de compra ou de venda surgir, posicione ordem de compra 1 tick acima da maxima do candle de gatilho e posicione uma ordem de venda no mesmo padrão. O stop é sempre na outra ponta 1 tick fora tambem.<br />Gostaria de inserir uma parcial em 75 pontos, proteção no preço de entrada e candle a candle até chegar no alvo final de 500 pontos. depois disso busca novas entradas.<br /><br />o parametro de entrada correto deveria ser como da minha regra de coloração<br />Se (Abertura &gt;= MediaExp(34,Close)) e (Fechamento &gt;= MediaExp(34,Close)) e (Fechamento &gt;= MediaExp(7,Close)) e (IFR(13) &gt;= 50) então<br />PaintBar(clVerde)<br />Senão Se (Abertura &lt;= MediaExp(34,Close)) e (Fechamento &lt;= MediaExp(34,Close)) e (Fechamento &lt;= MediaExp(7,Close)) e (IFR(13) &lt;= 50) então<br />PaintBar(clVermelho);<br /><br />Não entendo absolutamente nada, tudo que aprendi e criei aprendi ontem de madrugada em video aulas do @danilo.profit<br />Agradeço qualquer tipo de ajuda desde ja.</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>sperbtrader</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/ajuste-e-adicao-de-parametros/</guid>
                    </item>
				                    <item>
                        <title>Plotagem diária</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/plotagem-diaria/</link>
                        <pubDate>Thu, 24 Jul 2025 12:51:00 +0000</pubDate>
                        <description><![CDATA[Estou desenvolvendo um indicador mas gostaria que o mesmo foisse plotado apenas no dia atual e não nos dias anteriores.
Como proceder para esta finalidade ?]]></description>
                        <content:encoded><![CDATA[<p>Estou desenvolvendo um indicador mas gostaria que o mesmo foisse plotado apenas no dia atual e não nos dias anteriores.</p>
<p>Como proceder para esta finalidade ?</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>Victor Feitoza</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/plotagem-diaria/</guid>
                    </item>
				                    <item>
                        <title>Utilização de múltiplos ativos</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/utilizacao-de-multiplos-ativos/</link>
                        <pubDate>Fri, 14 Mar 2025 21:34:52 +0000</pubDate>
                        <description><![CDATA[Pessoal, como faço para utilizar os ativos VALE3, PETR4 e BBAS3 numa estratégia que estou desenvolvendo?
Já os defini com o ASSET(&quot;VALE3&quot;, feedBovespa) mas simplesmente não traz os valores ...]]></description>
                        <content:encoded><![CDATA[<p>Pessoal, como faço para utilizar os ativos VALE3, PETR4 e BBAS3 numa estratégia que estou desenvolvendo?</p>
<p>Já os defini com o ASSET("VALE3", feedBovespa) mas simplesmente não traz os valores de fechamento do ativo. Sempre devolve zero.</p>
<p>Alguém pode me ajudar??</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>alex_cwb</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/utilizacao-de-multiplos-ativos/</guid>
                    </item>
				                    <item>
                        <title>Dados de site externo para o Profit</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/dados-de-site-externo-para-o-profit/</link>
                        <pubDate>Wed, 29 Jan 2025 12:45:27 +0000</pubDate>
                        <description><![CDATA[Pessoal tem como pegar dados de um site ou telegram e alimentar uma variável no Profit automaticamente?]]></description>
                        <content:encoded><![CDATA[<p>Pessoal tem como pegar dados de um site ou telegram e alimentar uma variável no Profit automaticamente?</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>Thomas</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/dados-de-site-externo-para-o-profit/</guid>
                    </item>
				                    <item>
                        <title>Utilizar media movel PONDERADA</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/utilizar-media-movel-ponderada/</link>
                        <pubDate>Tue, 07 Jan 2025 23:34:54 +0000</pubDate>
                        <description><![CDATA[boa noite,
 
Estou criando uma regra de coloração com médias móveis. Quando utilizo códigos declarando médias moveis exponenciais, funciona perfeitamente:
 
Var
MC,MM,ML : Float;

Iní...]]></description>
                        <content:encoded><![CDATA[<p>boa noite,</p>
<p> </p>
<p>Estou criando uma regra de coloração com médias móveis. Quando utilizo códigos declarando médias moveis exponenciais, funciona perfeitamente:</p>
<p> </p>
<pre contenteditable="false">Var
MC,MM,ML : Float;

Início

MC:=mediaexp(9,fechamento);
MM:=mediaexp(21,fechamento);
ML:=mediaexp(34,fechamento);</pre>
<p> </p>
<p>Porem preciso declarar medias moveis PONDERADAS, tentei assim (conforme manual NTSL):</p>
<p> </p>
<pre contenteditable="false">Var
MC,MM,ML : Float;

Início

MC:=WAverage(9,fechamento);
MM:=WAverage(21,fechamento);
ML:=WAverage(34,fechamento);

</pre>
<p> </p>
<p>Porem nao funciona, tentei algumas variações.</p>
<p> </p>
<p>Alguma ideia?</p>
<p> </p>
<p>Valeuu</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>patrickjota</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/utilizar-media-movel-ponderada/</guid>
                    </item>
				                    <item>
                        <title>Otimização Detector Topos e Fundos</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/otimizacao-detector-topos-e-fundos/</link>
                        <pubDate>Fri, 13 Dec 2024 23:32:40 +0000</pubDate>
                        <description><![CDATA[Boa noite, aproveitando que estou ingressando no mercado financeiro, na verdade mudando algumas estratégias, decidi voltar a estudar programação para facilitar minha vida. Essa é minha prime...]]></description>
                        <content:encoded><![CDATA[<p>Boa noite, aproveitando que estou ingressando no mercado financeiro, na verdade mudando algumas estratégias, decidi voltar a estudar programação para facilitar minha vida. Essa é minha primeira imersão na linguagem NTSL, e não está muito agradável, na verdade faz anos que não programo nada. Estou tentando achar uma solução para "otimizar" o indicador de topos e fundos para minha estratégia, que seria marcar os topos e fundos após o cruzamento de uma média, deixando apenas a letra T e F sobre os extremos e para os três últimos, criar uma linha até a barra de preços indicando que é o Topo/Fundo do Candle X. Alguém já tentou desenvolver algo similar a isso?</p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>jl.valentini</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/otimizacao-detector-topos-e-fundos/</guid>
                    </item>
				                    <item>
                        <title>Profit não aceita sigla ATR?</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/profit-nao-aceita-sigla-atr/</link>
                        <pubDate>Fri, 13 Dec 2024 02:58:40 +0000</pubDate>
                        <description><![CDATA[Olá, sou curioso na área de programação NTSL, pois estou tentando montar uma estratégia no Profit mas estou com dificuldades, pois não consigo utilizar a sigla ATR.Nesta linha da erro de sin...]]></description>
                        <content:encoded><![CDATA[<p>Olá, sou curioso na área de programação NTSL, pois estou tentando montar uma estratégia no Profit mas estou com dificuldades, pois não consigo utilizar a sigla ATR.<br />Nesta linha da erro de sintaxe: Parser: Função ou variável inválida: ATR<br />vATR := ATR(atrPeriod); // Cálculo do ATR para a volatilidade<br />Alguém consegue me ajudar? <br />Obrigado<br /><br /></p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>Jonas Mattjie</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/profit-nao-aceita-sigla-atr/</guid>
                    </item>
				                    <item>
                        <title>Codigo simples para detectar primeiro tick</title>
                        <link>https://neotraderbot.com/community/programacao-ntsl/codigo-simples-para-detectar-primeiro-tick/</link>
                        <pubDate>Tue, 10 Dec 2024 01:00:47 +0000</pubDate>
                        <description><![CDATA[Ola pessoal,
Estou utilizando um trecho de codigo que encontrei na secao de &quot;Snipets&quot; do site. O codigo simplesmente deve atribuir 1 a variavel firstTick quando for o primeiro tick da barra...]]></description>
                        <content:encoded><![CDATA[<p>Ola pessoal,</p>
<p>Estou utilizando um trecho de codigo que encontrei na secao de "Snipets" do site. O codigo simplesmente deve atribuir 1 a variavel firstTick quando for o primeiro tick da barra, comparando se CurrentBar e diferente da variavel currentCandle. Adicionei as variaveis t1 e t7 apenas para avaliar o comportamento:</p>
<pre contenteditable="false">  if ((CurrentBar()) &lt;&gt; currentCandle) then
    begin
      currentCandle := CurrentBar();
      firstTick := 1; 
      t7 := t7 - 1;   
    end
  else
    begin
      firstTick := 0;
      t1 := t1 + 1;
      t7 := 0;   
    end;   

      PlotText(t1 + " " + t7 + " firstTick" + firstTick + "currentCandle:" + currentCandle + "Time" + Time(), clLime, 2, 8);
</pre>
<p>Estou plotando o resultado do codigo e o resultado e:</p>
<p>- A variavel t1 e atualizada a cada tick (como um contador). Isso significa que firstTick deveria ser 0 pois t1 := t1 + 1 esta no trecho ELSE da condicao.</p>
<p>- O problema: a variavel firstTick na funcao PlotText tem valor SEMPRE 1. </p>
<p>Alguem conseguiria me explicar o motivo? </p>
<p> </p>]]></content:encoded>
						                            <category domain="https://neotraderbot.com/community/programacao-ntsl/">Dúvidas sobre Programação</category>                        <dc:creator>Webhackz</dc:creator>
                        <guid isPermaLink="true">https://neotraderbot.com/community/programacao-ntsl/codigo-simples-para-detectar-primeiro-tick/</guid>
                    </item>
							        </channel>
        </rss>
		