154 std::vector<double> values_;
155 std::vector<unsigned char> written_;
156 long long own_bar_ = -1;
157 bool has_written_ =
false;
160 bool cached_ =
false;
165 long long cache_seen_bar_ = -1;
166 bool saved_cached_ =
false;
167 double saved_cval_ = 0.0;
168 long long saved_cbar_ = 0;
178 double saved_output_val_;
180 int saved_bar_count_;
197 double saved_prev_src_;
198 int saved_bar_count_;
210 double saved_prev_a_, saved_prev_b_;
222 double saved_prev_a_, saved_prev_b_;
256 double saved_output_val_;
258 int saved_bar_count_;
265 bool na_warmup_ =
false;
266 bool warmup_latched_ =
false;
292 MACD(
int fast_length,
int slow_length,
int signal_length);
326 double saved_prev_close_;
327 int saved_bar_count_;
331 double compute(
double high,
double low,
double close);
332 double recompute(
double high,
double low,
double close);
341 double compute(
double high,
double low,
double close,
double prev_chart_close);
342 double recompute(
double high,
double low,
double close,
double prev_chart_close);
353 double compute(
double src,
double high,
double low);
360 std::deque<double> history;
378 int last_nonzero_sign_;
380 double saved_prev_a_, saved_prev_b_;
381 int saved_last_nonzero_sign_;
434 std::deque<double> buffer_;
440 explicit StdDev(
int length,
bool biased =
true);
445 double held_stdev()
const;
446 double biased_value()
const;
459 double prev_upper_, prev_lower_, prev_st_;
460 double prev_direction_;
465 double saved_prev_upper_, saved_prev_lower_, saved_prev_st_;
466 double saved_prev_direction_, saved_prev_close_;
467 bool saved_initialized_;
484 RMA rma_plus_, rma_minus_, rma_tr_;
486 double prev_high_, prev_low_, prev_close_;
490 double saved_prev_high_, saved_prev_low_, saved_prev_close_;
491 bool saved_first_bar_;
494 DMI(
int di_length,
int adx_smoothing);
502 double start_, increment_, maximum_;
503 double af_, ep_, sar_;
506 double prev_high_, prev_low_, prev_close_;
507 double prev_prev_high_, prev_prev_low_;
510 double saved_af_, saved_ep_, saved_sar_;
511 bool saved_is_long_, saved_initialized_;
512 double saved_prev_high_, saved_prev_low_, saved_prev_close_;
513 double saved_prev_prev_high_, saved_prev_prev_low_;
516 SAR(
double start,
double increment,
double maximum);
517 double compute(
double high,
double low,
double close);
518 double recompute(
double high,
double low,
double close);
535 BB(
int length,
double mult);
556 KC(
int length,
double mult);
564 int left_bars_, right_bars_;
565 std::deque<double> buffer_;
576 int left_bars_, right_bars_;
577 std::deque<double> buffer_;
589 std::deque<double> buffer_;
601 std::deque<double> buffer_;
613 std::deque<double> sv_buffer_;
614 std::deque<double> v_buffer_;
615 double sv_sum_, v_sum_;
627 std::deque<double> buffer_;
639 std::deque<double> buffer_;
651 std::deque<double> buffer_;
663 std::deque<double> buffer_;
675 std::deque<double> buffer_;
728 std::deque<double> buffer_;
741 std::deque<double> buffer_;
753 std::deque<double> buffer_;
787 double offset_, sigma_;
788 std::deque<double> buffer_;
791 ALMA(
int length,
double offset = 0.85,
double sigma = 6.0);
799 std::deque<double> buffer_;
811 std::deque<double> pos_buffer_, neg_buffer_;
816 double saved_prev_src_;
817 int saved_bar_count_;
818 std::deque<double> saved_pos_buffer_, saved_neg_buffer_;
830 std::deque<double> up_buffer_, down_buffer_;
835 double saved_prev_src_;
836 int saved_bar_count_;
837 std::deque<double> saved_up_buffer_, saved_down_buffer_;
855 double saved_prev_src_;
856 int saved_bar_count_;
859 TSI(
int short_length,
int long_length);
872 double compute(
double close,
double high,
double low);
873 double recompute(
double close,
double high,
double low);
880 std::deque<double> buffer_;
894 BBW(
int length,
double mult);
905 KCW(
int length,
double mult);
906 double compute(
double src,
double high,
double low,
double close);
907 double recompute(
double src,
double high,
double low,
double close);
917 bool saved_ever_true_;
928 std::deque<double> values_;
931 std::deque<double> saved_values_;
943 std::deque<double> x_buffer_, y_buffer_;
958 double saved_prev_close_;
959 int saved_bar_count_;
962 explicit TR(
bool handle_na =
false);
963 double compute(
double high,
double low,
double close);
964 double recompute(
double high,
double low,
double close);
967 double compute(
double high,
double low,
double close,
double prev_chart_close);
968 double recompute(
double high,
double low,
double close,
double prev_chart_close);
975 std::deque<double> buffer_;
979 double compute(
double src,
double percentage);
987 std::deque<double> buffer_;
991 double compute(
double src,
double percentage);
1003 double saved_sum_ = 0.0, saved_prev_close_ =
na<double>();
1004 int saved_bar_count_ = 0;
1017 double saved_sum_ = 0.0;
1021 double compute(
double high,
double low,
double close,
double volume);
1022 double recompute(
double high,
double low,
double close,
double volume);
1033 double saved_nvi_ = 1.0, saved_prev_close_ =
na<double>(),
1035 int saved_bar_count_ = 0;
1051 double saved_pvi_ = 1.0, saved_prev_close_ =
na<double>(),
1053 int saved_bar_count_ = 0;
1067 double saved_pvt_ = 0.0, saved_prev_close_ =
na<double>();
1081 double saved_wad_ = 0.0, saved_prev_close_ =
na<double>();
1085 double compute(
double high,
double low,
double close);
1092 double compute(
double open,
double high,
double low,
double close,
double volume);
1093 double recompute(
double open,
double high,
double low,
double close,
double volume);
1099 double compute(
double high,
double low,
double close,
double volume);
1100 double recompute(
double high,
double low,
double close,
double volume);
1111 double cum_pv_ = 0.0;
1112 double cum_vol_ = 0.0;
1115 double cum_pv_sq_ = 0.0;
1124 int64_t anchor_day_ = std::numeric_limits<int64_t>::min();
1128 double saved_cum_pv_ = 0.0, saved_cum_vol_ = 0.0, saved_cum_pv_sq_ = 0.0;
1129 int64_t saved_anchor_day_ = std::numeric_limits<int64_t>::min();
1131 void roll_anchor(int64_t day);
1140 double compute(
double src,
double volume, int64_t timestamp_ms);
1141 double recompute(
double src,
double volume, int64_t timestamp_ms);
1142 double compute(
double src,
double volume, int64_t timestamp_ms,
1143 const std::string& tz,
const std::string& session);
1144 double recompute(
double src,
double volume, int64_t timestamp_ms,
1145 const std::string& tz,
const std::string& session);
1149 const std::string& tz,
const std::string& session);
1151 const std::string& tz,
const std::string& session);
1156#define PF_VWAP_HAS_SESSION_ANCHOR 1
1166 explicit VWAPBands(
double stdev_mult) : stdev_mult_(stdev_mult) {}
1168 return vwap_.compute_bands(src, volume, timestamp_ms, stdev_mult_);
1171 return vwap_.recompute_bands(src, volume, timestamp_ms, stdev_mult_);
1174 const std::string& tz,
const std::string& session) {
1175 return vwap_.compute_bands(src, volume, timestamp_ms, stdev_mult_, tz, session);
1178 const std::string& tz,
const std::string& session) {
1179 return vwap_.recompute_bands(src, volume, timestamp_ms, stdev_mult_, tz, session);
1186 std::deque<double> buffer_;
1188 explicit Mode(
int length) : length_(length) {}
1197 explicit Range(
int length) : highest_(length), lowest_(length) {}
1204 std::deque<double> buffer_;
1206 explicit Dev(
int length) : length_(length) {}
1214 double high,
double low,
double close);
double compute(double src)
double recompute(double src)
ALMA(int length, double offset=0.85, double sigma=6.0)
double recompute(double high, double low, double close)
double recompute(double high, double low, double close, double prev_chart_close)
double compute(double high, double low, double close)
double compute(double high, double low, double close, double prev_chart_close)
double compute(double high, double low, double close, double volume)
double recompute(double high, double low, double close, double volume)
double recompute(double src)
double compute(double src)
double recompute(double src)
double compute(double src)
double compute(double src)
double recompute(double src)
BBW(int length, double mult)
BBResult recompute(double src)
BB(int length, double mult)
BBResult compute(double src)
BarContextScope(const BarContextScope &)=delete
BarContextScope & operator=(const BarContextScope &)=delete
BarContextScope(long long bar_index, long long origin)
double compute(double src)
double recompute(double src)
double recompute(double src)
double compute(double src)
double recompute(double src)
double compute(double src)
double compute(double src, int length=1)
double recompute(double src, int length=1)
double compute(double src1, double src2)
double recompute(double src1, double src2)
bool compute(double a, double b)
bool recompute(double a, double b)
bool recompute(double a, double b)
bool compute(double a, double b)
bool recompute(double a, double b)
bool compute(double a, double b)
double compute(double src)
double recompute(double src)
DMI(int di_length, int adx_smoothing)
DMIResult compute(double high, double low, double close)
DMIResult recompute(double high, double low, double close)
double recompute(double src)
double compute(double src)
double compute(double src)
EMA(int length, EmaSeeding seeding)
double recompute(double src)
Result update(double src, bool advance, bool want_max)
double recompute(double src)
double compute(double src)
double compute(double src)
double recompute(double src)
double compute(double src)
double recompute(double src)
double recompute(double src)
double compute(double src)
double recompute(double high, double low, double close, double volume)
double compute(double high, double low, double close, double volume)
double recompute(double src, double high, double low, double close)
KCW(int length, double mult)
double compute(double src, double high, double low, double close)
KCResult compute(double src, double high, double low, double close)
KCResult recompute(double src, double high, double low, double close)
KC(int length, double mult)
double recompute(double src, double offset)
double compute(double src, double offset)
double recompute(double src)
double compute(double src)
double compute(double src)
double recompute(double src)
MACDResult recompute(double src)
MACD(int fast_length, int slow_length, int signal_length)
MACDResult compute(double src)
double compute(double src, double vol)
double recompute(double src, double vol)
double compute(double src)
double recompute(double src)
double recompute(double src)
double compute(double src)
double recompute(double close, double volume)
double compute(double close, double volume)
double recompute(double close, double volume)
double compute(double close, double volume)
double recompute(double close, double volume)
double compute(double close, double volume)
double recompute(double close, double volume)
double compute(double close, double volume)
double compute(double src)
double recompute(double src)
PercentileLinearInterpolation(int length)
double recompute(double src, double percentage)
double compute(double src, double percentage)
double recompute(double src, double percentage)
double compute(double src, double percentage)
PercentileNearestRank(int length)
double compute(double src)
PivotHigh(int left_bars, int right_bars)
double recompute(double src)
PivotLow(int left_bars, int right_bars)
double recompute(double src)
double compute(double src)
double recompute(double src)
double compute(double src)
double compute(double src)
double recompute(double src)
double recompute(double src)
double compute(double src)
double compute(double src)
double recompute(double src)
double compute(double src)
double recompute(double src)
double compute(double src)
double recompute(double src)
SAR(double start, double increment, double maximum)
double compute(double high, double low, double close)
double recompute(double high, double low, double close)
double recompute(double src)
double compute(double src)
double compute(double src)
double recompute(double src)
StdDev(int length, bool biased=true)
double recompute(double src)
double compute(double src)
double compute(double src, double high, double low)
double recompute(double src, double high, double low)
Supertrend(double factor, int atr_period)
SupertrendResult recompute(double high, double low, double close)
SupertrendResult compute(double high, double low, double close)
double compute(double high, double low, double close, double prev_chart_close)
double recompute(double high, double low, double close, double prev_chart_close)
double recompute(double high, double low, double close)
double compute(double high, double low, double close)
double compute(double src)
TSI(int short_length, int long_length)
double recompute(double src)
VWAPBandsResult recompute(double src, double volume, int64_t timestamp_ms)
VWAPBandsResult compute(double src, double volume, int64_t timestamp_ms)
VWAPBands(double stdev_mult)
VWAPBandsResult compute(double src, double volume, int64_t timestamp_ms, const std::string &tz, const std::string &session)
VWAPBandsResult recompute(double src, double volume, int64_t timestamp_ms, const std::string &tz, const std::string &session)
double recompute(double src, double volume, int64_t timestamp_ms)
double recompute(double src, double volume, int64_t timestamp_ms, const std::string &tz, const std::string &session)
VWAPBandsResult recompute_bands(double src, double volume, int64_t timestamp_ms, double stdev_mult)
double compute(double src, double volume, int64_t timestamp_ms, const std::string &tz, const std::string &session)
VWAPBandsResult recompute_bands(double src, double volume, int64_t timestamp_ms, double stdev_mult, const std::string &tz, const std::string &session)
VWAPBandsResult compute_bands(double src, double volume, int64_t timestamp_ms, double stdev_mult, const std::string &tz, const std::string &session)
double compute(double src, double volume, int64_t timestamp_ms)
VWAPBandsResult compute_bands(double src, double volume, int64_t timestamp_ms, double stdev_mult)
double compute(double src, double vol)
double recompute(double src, double vol)
double compute(bool condition, double source, int occurrence)
double recompute(bool condition, double source, int occurrence)
ValueWhen(int max_occurrence=1)
Variance(int length, bool biased=true)
double recompute(double src)
double compute(double src)
double compute(double high, double low, double close)
double recompute(double high, double low, double close)
double recompute(double src)
double compute(double src)
double compute(double close, double high, double low)
double recompute(double close, double high, double low)
double recompute(double open, double high, double low, double close, double volume)
double compute(double open, double high, double low, double close, double volume)
bool & ema_na_warmup_flag()
BarContext & bar_context()
std::vector< double > pivot_point_levels(const std::string &method, double high, double low, double close)