core/rustybot/src/main.rs

39 lines
971 B
Rust
Raw Normal View History

2021-01-05 12:58:47 +00:00
use tokio::time::{delay_for, Duration};
2021-01-04 10:45:54 +00:00
use crate::bot::BfxBot;
2021-01-13 09:04:58 +00:00
use crate::connectors::BitfinexConnector;
2021-01-04 12:07:03 +00:00
use crate::currency::{Symbol, SymbolPair};
use crate::events::SignalKind;
2021-01-05 19:50:14 +00:00
use crate::strategy::TrailingStop;
use std::thread::JoinHandle;
2021-01-02 14:10:16 +00:00
2021-01-05 12:58:47 +00:00
mod bot;
mod connectors;
mod currency;
2021-01-02 12:15:19 +00:00
mod events;
2021-01-13 09:03:24 +00:00
mod managers;
mod models;
2021-01-02 12:15:19 +00:00
mod pairs;
2021-01-02 14:10:16 +00:00
mod strategy;
2021-01-05 12:58:47 +00:00
mod ticker;
2021-01-01 14:07:16 +00:00
pub type BoxError = Box<dyn std::error::Error + Send + Sync>;
#[tokio::main]
async fn main() -> Result<(), BoxError> {
2021-01-05 19:50:14 +00:00
let test_api_key = "P1EVE68DJByDAkGQvpIkTwfrbYXd2Vo2ZaIhTYb9vx2";
let test_api_secret = "1nicg8z0zKVEt5Rb7ZDpIYjVYVTgvCaCPMZqB0niFli";
2021-01-13 09:04:58 +00:00
let bfx = BitfinexConnector::new(test_api_key, test_api_secret)
.with_affiliate_code(Some("XPebOgHxA".into()));
2021-01-05 19:50:14 +00:00
let mut bot = BfxBot::new(
bfx,
vec![Symbol::TESTBTC],
Symbol::TESTUSD,
Duration::new(20, 0),
)
.with_strategy(Box::new(TrailingStop::new()));
2021-01-02 14:10:16 +00:00
2021-01-05 19:50:14 +00:00
Ok(bot.start_loop().await?)
2021-01-01 14:07:16 +00:00
}