Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
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'))