Warning: session_start(): open(/var/lib/php/sessions/sess_u073s6ij8eekn2m071sllit7vn, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
concept JuiceStrategy extends G22TradingStrategy {
settableWithVar AbstractJuicer prototypeJuicer;
persistable class Position extends G22TradingStrategy.Position {
settable AbstractJuicer juicer;
}
selfType emptyClone() {
JuiceStrategy clone = cast super.emptyClone();
clone.prototypeJuicer(prototypeJuicer?.configClone());
ret clone;
}
void price(double price) {
if (currentPrice == price) ret;
currentPrice = price;
afterwards { change(); }
for (p : openPositions()) {
cast p to Position;
if (p.juicer != null) {
var signals = p.juicer.calculateCloseSignals();
var strongest = highestBy(signals, s -> s.strength());
if (strongest != null && strongest.isTrigger()) {
p.close(strongest);
}
}
}
}
}