def __init__(self, product_code, use_percent, duration, past_period, stop_limit_percent, back_test): self.API = APIClient(settings.access_token, settings.account_id) if back_test: self.signal_events = SignalEvents() else: self.signal_events = SignalEvents.get_signal_events_by_count(1) self.product_code = product_code self.use_percent = use_percent self.duration = duration self.past_period = past_period self.optimized_trade_params = None self.stop_limit = 0 self.stop_limit_percent = stop_limit_percent self.back_test = back_test self.start_trade = datetime.datetime.utcnow() self.candle_cls = factory_candle_class(self.product_code, self.duration) self.update_optimize_params(False)
from functools import partial import logging from app.models.candle import create_candle_with_duration from oanda.oanda import Ticker import constants import settings logger = logging.getLogger(__name__) # TODO from oanda.oanda import APIClient api = APIClient(settings.access_token, settings.account_id) class StreamData(object): def stream_ingestion_data(self): api.get_realtime_ticker(callback=self.trade) def trade(self, ticker: Ticker): logger.info(f'action=trade ticker={ticker.__dict__}') for duration in constants.DURATIONS: is_created = create_candle_with_duration(ticker.product_code, duration, ticker) print(is_created) stream = StreamData()
if __name__ == '__main__': """ print(settings.account_id) print(settings.access_token) print(settings.product_code) print(settings.db_name) print(settings.db_driver) print(settings.web_port) print(settings.trade_duration) print(settings.back_test) print(settings.use_percent) print(settings.past_period) print(settings.stop_limit_percent) print(settings.num_ranking) """ api_client = APIClient(access_token=settings.access_token, account_id=settings.account_id) """ balance = api_client.get_balance() print(balance.available) print(balance.currency) ticker = api_client.get_ticker(product_code='USD/JPY') print(ticker.product_code) print(ticker.timestamp) print(ticker.bid) print(ticker.ask) print(ticker.volume) print(ticker.truncate_date_time('5s')) print(ticker.truncate_date_time('1m')) print(ticker.truncate_date_time('1h'))