import json
from eng2 import *
V2 = [
 (71, "v4 baseline (half at HOT)", {}),
 (72, "extended = 25% above 20d avg, half", dict(ext_rule='ma20', ext_x=0.25)),
 (73, "extended = 40% above 20d avg, half", dict(ext_rule='ma20', ext_x=0.40)),
 (74, "extended = 60% above 20d avg, half", dict(ext_rule='ma20', ext_x=0.60)),
 (75, "extended = +50% in 30 days, half", dict(ext_rule='r30', ext_x=0.50)),
 (76, "extended = +100% in 30 days, half", dict(ext_rule='r30', ext_x=1.00)),
 (77, "extended = RSI 14 >= 80, half", dict(ext_rule='rsi', ext_x=80)),
 (78, "extended = RSI 14 >= 85, half", dict(ext_rule='rsi', ext_x=85)),
 (79, "extended = +30% from entry, half", dict(ext_rule='gain', ext_x=0.30)),
 (80, "extended = +50% from entry, half", dict(ext_rule='gain', ext_x=0.50)),
 (81, "extended = day 8 in trade, half", dict(ext_rule='days', ext_x=8)),
 (82, "HOT but sell ALL", dict(ext_action='all')),
 (83, "RSI>=80 sell ALL", dict(ext_rule='rsi', ext_x=80, ext_action='all')),
 (84, "HOT half, then RSI>=85 sell rest", dict(ext2=('rsi', 85))),
 (85, "HOT half, then +100% 30d sell rest", dict(ext2=('r30', 1.0))),
 (86, "no extended rule at all", dict(ext_rule=None)),
 (87, "HOT half, exit 10d low", dict(nout=10)),
 (88, "RSI>=80 half + 20d low exit", dict(ext_rule='rsi', ext_x=80, nout=20)),
]
R = {}
for i, nm, kw in V2:
    r = evaluate(**kw); R[i] = dict(name=nm, kw={k: v for k, v in kw.items()}, **{k: v for k, v in r.items() if k != 'trades'})
    print("%2d %s" % (i, line(nm, r)), flush=True)
json.dump(R, open('res_g.json', 'w'))
