Olá amigos, preciso fazer alguns ajustes na estratégia abaixo. Não desejo entradas a mercado. A mudança seria entrada com 2 contratos, 1 parcial e stop fixo.
Para COMPRA, inserir ao sinal de compra 2 contratos de compra 1 tick acima da mínima, sendo 1 saída parcial com 50pts e a ordem final com 100pts e stop fixo com 250 pts (sei que a relação é ruim, mas é para iniciar os testes dessa maneira).
Para VENDA, inserir ao sinal de venda 2 contratos de venda 1 tick abaixo da máxima, sendo 1 saída parcial com 50pts e a ordem final com 100pts e stop fixo com 250 pts.
OBS: Quando for aberto a ordem de compra ou venda, é necessário que dê gain com a parcial + final ou stop total. Enquanto tiver ordem aberta, não abrir novas posições.
OBS2: Uma outra opção de entrada é fazer a entrada no 50% do pavio (de compra entre a mínima e a abertura e venda entre a máxima e a abertura) essa seria uma alternativa interessante.
input
PeriodoCCI(14);
PeriodoMM(3);
TipoMM(1);
gatilhoEntradaC(170); //considerar como vlr negativo
gatilhoStopC(100);
gatilhoEntradaV(170);
gatilhoStopV(100); //considerar como vlr negativo
var
vlrCCI, mmCCI, mmFiltro : real; //float
sinalC, sinalV,StopC, StopV : booleano; //boolean
cor : inteiro;
begin
//INDICADOR
vlrCCI := CCI(PeriodoCCI);
se (TipoMM = 1) entao mmCCI := media(PeriodoMM,vlrCCI) //MEDIA MOVEL CCI
senao se (TipoMM = 2) entao mmCCI := MediaExp(PeriodoMM,vlrCCI);
mmFiltro := mediaexp(100,close);
//SINAIS ENTRADA
sinalC := (mmCCI <= (-gatilhoEntradaC));// e (fechamento > mmFiltro);
sinalV := (mmCCI >= (gatilhoEntradaV));// e (fechamento < mmFiltro);
//SAIDAS
StopC := (mmCCI >= (gatilhoStopC));// ou (fechamento < mmFiltro);
StopV := (mmCCI <= (-gatilhoStopV));// ou (fechamento > mmFiltro);
//EXECUÇÃO DE ENTRADA
se (sinalC) e (not IsBought) e (not IsSold) entao BuyAtMarket;
se (sinalV) e (not IsBought) e (not IsSold) entao SellShortAtMarket;
//EXECUÇÃO DE SAIDA
se (IsBought) e (StopC) entao SellToCoverAtMarket;
se (IsSold) e (StopV) entao BuyToCoverAtMarket;
//COLORAÇÃO PARA PINTAR O TRECHO
se sinalC entao cor:=cllime
senao se sinalV entao cor:=clred
senao cor:= clwhite;
PaintBar(cor);
se (cor[1] = cllime) e (not StopC) entao cor:=cllime;
se (cor[1] = clred) e (not StopV) entao cor:=clred;
//PLOTAGEM
plot(vlrCCI);
setPlotColor(1,clgray);
setPlotType(1,1);
plot2(mmCCI);
setPlotColor(2,clblue);
//PLOTA GATILHOS
plot3(-gatilhoEntradaC);
setPlotColor(3,cllime);
plot4(gatilhoStopC);
setPlotColor(4,clfucsia);
plot5(gatilhoEntradaV);
setPlotColor(5,clred);
plot6(-gatilhoStopV);
setPlotColor(6,clblue);
end;