Você está na página 1de 2

const

verde = 65280;
vermelho = 00255;
HoraFechamento = 1730;

input

Periodo_RSI(14);
Tipo_RSI(0); // 0 para classico, 1 - para Simples
BandaSup(64);
BandaInf(36);
alvo(100);
loss(100);

var

SinalRsiC,SinalRsiV, RompCompra, RompVenda, Sinal_MACD_C, Sinal_MACD_V:


booleano;
takeProfit,stopLoss : real;

begin

// Condição para compra


//SinalRsiC := (RSI(Periodo_RSI,Tipo_RSI) > BandaSup);
Sinal_MACD_C := (MACD(20,10,10)|1| > 19);

// Condição para venda


//SinalRsiV := (RSI(Periodo_RSI,Tipo_RSI) < Bandainf);
Sinal_MACD_V := (MACD(20,10,10)|1| < -19);

//sinal na compra
if (SellPosition = 0) e (BuyPosition = 0) e Sinal_MACD_C then

inicio

paintbar(verde);
takeProfit := (maxima + alvo); // pega minha abertura e soma com a
variavel alvo
stopLoss := (maxima - loss); // pega a abertura e subtrai com a
variavel Loss
BuyStop(maxima,maxima); // faz a entrada da operação

Fim;

// Todas as condiçoes aceita para Venda


// sinal na venda
if (BuyPosition = 0) e( SellPosition = 0) e Sinal_MACD_V then

inicio
paintbar(vermelho); // pega minha abertura e soma com a variavel
alvo
takeProfit := (minima - alvo); // pega a abertura e subtrai com a
variavel Loss
stopLoss := (minima + loss); // faz a entrada da operação
SellShortStop(minima,Minima);
Fim;

{Alvo de compra }
se (BuyPosition > 0) entao
inicio
SellToCoverLimit(takeProfit);
SellToCoverStop(stopLoss,stopLoss);
Fim;

{Alvo de Venda}
se SellPosition > 0 entao
inicio
BuyToCoverLimit(takeProfit);
BuyToCoverStop(stopLoss,stopLoss);
Fim;

se (Time >= HoraFechamento) entao ClosePosition;


end;

Você também pode gostar