O algoritmo verifica se a média móvel de curto prazo (Ma9) cruzou acima ou abaixo da média móvel de longo prazo (Ma21). Se cruzou, ele abre uma posição de compra ou venda. Se já houver posição aberta, ele fecha a posição existente e abre uma nova posição na direção do cruzamento.
O algoritmo verifica se a média móvel de curto prazo (Ma9) cruzou acima ou abaixo da média móvel de longo prazo (Ma21). Se cruzou, ele abre uma posição de compra ou venda. Se já houver posição aberta, ele fecha a posição existente e abre uma nova posição na direção do cruzamento.
O algoritmo verifica se a média móvel de curto prazo (Ma9) cruzou acima ou abaixo da média móvel de longo prazo (Ma21). Se cruzou, ele abre uma posição de compra ou venda. Se já houver posição aberta, ele fecha a posição existente e abre uma nova posição na direção do cruzamento.
begin if CrossedAbove then begin BuyAtMarket; // Position := 1; // Define a posição como compra (1) end else if CrossedBelow then begin SellShortAtMarket; // Position := -1; // Define a posição como venda (-1) end; end else begin if CrossedBelow then // Se a posição for venda, então compre para cobrir begin BuyToCoverLimit(Close + 40 * MinPriceIncrement); BuyToCoverStop(Open + 20 * MinPriceIncrement); //Position := 0; // Define a posição como nenhuma (0) end else if CrossedAbove then // Se a posição for compra, então venda para cobrir begin SellToCoverLimit(Close + 40 * MinPriceIncrement); SellToCoverStop(Open - 20 * MinPriceIncrement); // Position := 0; // Define a posição como nenhuma (0) end; end; End.