def weekday(data): return f.filter(data, f.filter_weekday)
if __name__ == '__main__': logging.basicConfig(filename="/tmp/retracement.log", filemode='w', format='%(asctime)s,%(msecs)d %(name)s %(levelname)s' + '%(message)s line:%(lineno)d', datefmt='%H:%M:%S', level=logging.DEBUG) # years = [2016, 2017, 2018] years = [2018] # ltf data datafile_ltf = sys.argv[1] data_ltf = f.filter(f.load_candles(datafile_ltf), f.filter_year, years) # day data datafile_d = sys.argv[2] data_d = weekday(f.filter(f.load_candles(datafile_d), f.filter_year, years)) # profile bearish days beardates = dates(f.filter(data_d, f.filter_bearish, True)) # , False) bearbuckets = retracement(f.BearBull.BEARISH, data_ltf, beardates) print_buckets(bearbuckets) # profile bullish days bulldates = dates(f.filter(data_d, f.filter_bullish, True)) # , False) bullbuckets = retracement(f.BearBull.BULLISH, data_ltf, bulldates) print_buckets(bullbuckets)
item1 = item continue delta = abs(item1.close - item.close) day = item.time.weekday() print(item.high, item.low) price, cnt = buckets.get(day, (0., 0)) price += delta cnt += 1 buckets[day] = (price, cnt) for day in buckets: price, cnt = buckets[day] ave = price / cnt buckets[day] = (price, cnt, ave) return buckets if __name__ == '__main__': # years = [2013, 2014, 2015, 2016, 2017, 2018] years = [2018] # data datafile = sys.argv[1] data = f.filter(f.load_candles(datafile), f.filter_year, years) print(process(data))
low_ = None data_idx += 1 return within, total if __name__ == '__main__': logging.basicConfig( filename="/tmp/rangebreaks.log", filemode='w', format='%(asctime)s,%(msecs)d %(name)s %(levelname)s' + '%(message)s line:%(lineno)d', datefmt='%H:%M:%S', level=logging.DEBUG) years = [2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018] # years = [2018] # day data datafile_d = sys.argv[1] data_d = f.filter( f.load_candles(datafile_d), f.filter_year, years) within, total = rangebreaks(data_d) pc = within * 100.0 / total print("Ranges maintained: {within}/{total}, {pc:.2f}%".format( within=within, total=total, pc=pc))
def profile_range(trend, data, narrow): range = profile_range_(data) print_range(trend, "NORMAL", range) range_narrow = profile_range_(data, narrow) print_range(trend, "NARROW", range_narrow) if __name__ == '__main__': years = [2013, 2014, 2015, 2016, 2017, 2018] # years = [2018] # hour data datafile_hr = sys.argv[1] data_hr = f.filter(f.load_candles(datafile_hr), f.filter_year, years) data_narrow = narrow_range(data_hr) # narrow_asian_range(data_hr) # day data datafile_d = sys.argv[2] data_d = weekday(f.filter(f.load_candles(datafile_d), f.filter_year, years)) # profile bearish days beardata = f.filter(data_d, f.filter_bearish, False) # , False) profile_range("BEARISH", beardata, data_narrow) # profile bullish days bulldata = f.filter(data_d, f.filter_bullish, False) # , False) profile_range("BULLISH:", bulldata, data_narrow)
elif trend_m == f.BearBull.BULLISH and item.low < bull_low: low = bull_low = item.low elif trend_m == f.BearBull.BEARISH and item.high > high: high = item.high elif trend_m == f.BearBull.BULLISH and item.low < low: low = item.low if dayofweek == 'Friday': close = item.close bear_pc = (bear_high_cnt * 100.) / bear_cnt if bear_cnt else 100 bear_result = "BEARISH WEEKS: M-T/ HIGH: {num}/{tot} {pc:.2f}%".format( num=bear_high_cnt, tot=bear_cnt, pc=bear_pc) print(bear_result) bull_pc = (bull_low_cnt * 100.) / bull_cnt if bull_cnt else 100 bull_result = "BULLISH WEEKS: M-T/ LOW: {num}/{tot} {pc:.2f}%".format( num=bull_low_cnt, tot=bull_cnt, pc=bull_pc) print(bull_result) if __name__ == '__main__': data = f.filter( f.load_candles(sys.argv[1]), f.filter_year, #[2013, 2014, 2015, 2016, 2017, 2018]) [2018]) week_highlow(data, False)