Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.kronus.app;

import br.com.kronus.core.Candle;
import br.com.kronus.core.SinalDeTrade;
import br.com.kronus.core.Timeframe;
import br.com.kronus.fibo.FibonacciService;
import br.com.kronus.strategy.EstrategiaGatilhoTipo2;
import br.com.kronus.strategy.Strategy;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

public class MainKronus {

    public static void main(String[] args) {
        List<Candle> candles = gerarCandlesExemplo();

        FibonacciService fiboService = new FibonacciService();
        Strategy strategy = new EstrategiaGatilhoTipo2(fiboService);

        List<SinalDeTrade> sinais = strategy.gerarSinais(candles);

        System.out.println("SINAIS GERADOS:");
        for (SinalDeTrade s : sinais) {
            System.out.println(s.getDirecao() +
                    " | Entrada: " + s.getPrecoEntrada() +
                    " | Stop: " + s.getStopLoss() +
                    " | Alvo: " + s.getAlvo() +
                    " | Hora: " + s.getTime());
        }
    }

    private static List<Candle> gerarCandlesExemplo() {
        List<Candle> lista = new ArrayList<>();
        LocalDateTime t = LocalDateTime.now().minusMinutes(30);

        for (int i = 0; i < 20; i++) {
            double open = 100 + i;
            double close = 100 + i + (i % 2 == 0 ? 2 : -1);
            double high = Math.max(open, close) + 1;
            double low = Math.min(open, close) - 1;

            lista.add(new Candle(
                    t.plusMinutes(i),
                    open,
                    high,
                    low,
                    close,
                    1000L + i * 10,
                    Timeframe.M5
            ));
        }
        return lista;
    }
}