Obrigado leonsmota, tentei não roloou segue abaixo
Input
  pBollinger(Verdadeiro);
  bMacd     (Falso);
  Desvio(0.5);
  MediaB(9);
  Alvo(2.0);
  MediaC(7);
  MediaL(9);
  Sinal(5);
Var
  BolChC       : Float;
  BolChV       : Float;
  MediaBol     : Float;
  StopV        : Float;
  StopC        : Float;
  pMacd,Msinal : Float;
begin
  
  MediaBol := Media(MediaB,0);
  BolChC   := BollingerBands(Desvio,MediaB,1)[1];
  BolChV   := BollingerBands(Desvio,MediaB,1)[0];
  Se (pBollinger) e (bMacd = Falso) então
  Plot(MediaBol);
  Plot(BolChC);
  SetPlotColor(1,Clwhite);
  Plot2(BolChV);
  SetPlotColor(2,Clwhite); 
  
  pMacd := MACD(MediaL,MediaC,Sinal);
  Msinal := Media(Sinal,pMacd);
  Se (bMacd) e (pBollinger = Falso) então
  Plot3(pMacd);
  Plot4(Msinal);
  SetPlotColor(3,ClWhite);
  SetPlotColor(4,ClRed); 
  
  
  Se (Isbought) entao
    //Verifica se esta comprado
    Inicio
      SellToCoverLimit(BuyPrice+500,1);
      //Alvo
      SellToCoverStop(Lowest(low,5),Lowest(low,5),1);
      //Stop
    Fim;
  Se (IsSold) entao
    //Verifica se esta vendido
    Inicio
      BuyToCoverLimit(SellPrice-500,1);
      //Alvo
      BuyToCoverStop(Highest(high,5),Highest(High,5),1);
      //Stop
    Fim;
  if (BuyPosition = 0) e (SellPosition = 0) entao
    //Verifica se existe posição
    //Condição de venda
    Se (Fechamento[1] > BolChV[1]) e (Fechamento[0] < BolChV[0]) e (pMacd[1] > Msinal[1]) e (pMacd[0] < Msinal[0]) entao
      Inicio
        SellShortAtMarket;
        //Condição de Compra
        Se (Fechamento[1] < BolChC) e (Fechamento[0] > BolChC) e (pMacd[1] < Msinal[1]) e (pMacd[0] > Msinal[0]) entao
          Inicio
            BuyAtMarket;
          Fim;
      end;
end;