Warning: session_start(): open(/var/lib/php/sessions/sess_o7e1cvgi31335kos4e3dr3m2g7, 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 G22PassiveTradingStrategy extends G22TradingStrategy {
// A regular expression that will be used to match
// the "strategy" field coming from TradingView to
// distinguish this strategy from others on the same coin.
settableWithVar S tradingViewRegexp;
// If not 0, ths "PS" comment (position size) coming from
// TradingView is evaluated.
// tradingViewPSFactor == 100 => scale $100 in TradingView to our current equity
// tradingViewPSFactor == 50 => scale $100 in TradingView to 50% of our current equity
settableWithVar double tradingViewPSFactor;
// Stop loss percentage assumed for riskPerTrade calculation (0 if not set)
settableWithVar double assumedStopLoss;
// If not 0, this is the assumed standard quantity of each
// trade in the TradingView strategy. Then pyramiding will be
// done using this value.
settableWithVar double tradingViewStandardQty;
// If not 0, positions will be opened proportional to those
// in the TradingView strategy using this factor.
// This overrides the other methods of determining position size.
settableWithVar double tradingViewScalingFactor;
void price(double price) {
if (currentPrice == price) ret;
currentPrice = price;
afterStep(); change();
}
bool tradingViewMatch(S text) {
ret empty(cleanedTradingViewRegexp())
|| safeRegexpFindIC(cleanedTradingViewRegexp(), text);
}
S cleanedTradingViewRegexp() {
ret trim(tradingViewRegexp);
}
LS addPassiveTradingStatus(LS list) {
if (nempty(tradingViewRegexp))
list.add("TradingView regexp: " + cleanedTradingViewRegexp());
ret list;
}
LS status() {
ret addPassiveTradingStatus(super.status());
}
LS activationStatus() {
ret addPassiveTradingStatus(super.activationStatus());
}
bool hasTradingViewPSFactor() {
ret isNonZero(tradingViewPSFactor);
}
}