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; 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() { list = addPassiveTradingStatus(super.status()); } LS activationStatus() { ret addPassiveTradingStatus(super.activationStatus()); } }