Path: blob/master/ invest-robot-contest_sirius-master/strategy/trade_signal.py
5932 views
from strategy.calculate_utils import calculate_ma1from utils.settings import settings23fast_ma_step = int(settings()['TRADE']['fast_ma_step'])4slow_ma_step = int(settings()['TRADE']['slow_ma_step'])5trend_ma_step = int(settings()['TRADE']['trend_ma_step'])678def break_from_down(candles, name_first, name_second):9return candles[0][name_first] < candles[0][name_second] and \10candles[-1][name_first] > candles[-1][name_second]111213def break_from_up(candles, name_first, name_second):14return candles[0][name_first] > candles[0][name_second] and \15candles[-1][name_first] < candles[-1][name_second]161718def get_trade_signal(candles):19min_time_frame_minutes = 3020signal = ''2122if len(candles) < min_time_frame_minutes:23return signal2425calculate_ma(candles, fast_ma_step, 'price', 'fast_ma')26calculate_ma(candles, slow_ma_step, 'price', 'slow_ma')27calculate_ma(candles, trend_ma_step, 'price', 'trend_ma')2829if break_from_down(candles, 'fast_ma', 'slow_ma') and break_from_down(candles, 'fast_ma', 'trend_ma'):30signal = 'buy'31if break_from_up(candles, 'fast_ma', 'slow_ma') and break_from_up(candles, 'fast_ma', 'trend_ma'):32signal = 'sell'3334return signal3536373839