我想在松树脚本中打印“ i”的值

时间:2019-12-13 01:18:36

标签: pine-script

一旦条件成立,我想打印“ i”的值。 例如: 关闭> ema(close,1),关闭> ema(close,2)和关闭> ema(close,3)

我想打印1,2和3

这是代码

//@version=4
study("My Script")

ma(x) =>
    ema = x
    for i = 1 to 20
        ema := ema(x,i)
        tick = x > ema ? i : 0


plot(ma(close))

1 个答案:

答案 0 :(得分:1)

内置方法存在错误,并且循环的索引用作长度,因此您应该使用 CREATE OR REPLACE FUNCTION audit.if_modified_func_MyTable() RETURNS TRIGGER AS $body$ DECLARE audit_row audit.logged_actions_MyTable; include_values boolean; log_diffs boolean; h_old hstore; h_new hstore; excluded_cols text[] = ARRAY[]::text[]; BEGIN IF TG_WHEN <> 'AFTER' THEN RAISE EXCEPTION 'audit.if_modified_func_MyTable() may only run as an AFTER trigger'; END IF; audit_row = ROW( nextval('audit.logged_actions_MyTable_event_id_seq'), -- event_id TG_TABLE_SCHEMA::text, -- schema_name TG_TABLE_NAME::text, -- table_name TG_RELID, -- relation OID for much quicker searches session_user::text, -- session_user_name current_timestamp, -- action_tstamp_tx statement_timestamp(), -- action_tstamp_stm clock_timestamp(), -- action_tstamp_clk txid_current(), -- transaction ID current_setting('application_name'), -- client application inet_client_addr(), -- client_addr inet_client_port(), -- client_port current_query(), -- top-level query or queries (if multistatement) from client substring(TG_OP,1,1), -- action NULL, NULL, -- row_data, changed_fields 'f' -- statement_only ); IF NOT TG_ARGV[0]::boolean IS DISTINCT FROM 'f'::boolean THEN audit_row.client_query = NULL; END IF; IF TG_ARGV[1] IS NOT NULL THEN excluded_cols = TG_ARGV[1]::text[]; END IF; IF (TG_OP = 'UPDATE' AND TG_LEVEL = 'ROW') THEN audit_row.row_data = hstore(OLD.*) - excluded_cols; audit_row.changed_fields = (hstore(NEW.*) - audit_row.row_data) - excluded_cols; audit_row.MyTableid = (old."MyTableid"); audit_row.modifiedon = Now(); audit_row.modifiedby = (select firstname || ' ' || lastname as name from public.Users where userid=(old."modifiedby")); audit_row.ActualField = (hstore(old.*) - (audit_row.row_data - ((hstore(old.*)) - (hstore(NEW.*))) )); -- ActualField is taken to get old values of only the columns which have been changed and not all the columns. IF audit_row.changed_fields = hstore('') THEN -- All changed fields are ignored. Skip this update. RETURN NULL; END IF; ELSIF (TG_OP = 'DELETE' AND TG_LEVEL = 'ROW') THEN audit_row.row_data = hstore(OLD.*) - excluded_cols; ELSIF (TG_OP = 'INSERT' AND TG_LEVEL = 'ROW') THEN audit_row.row_data = hstore(NEW.*) - excluded_cols; ELSIF (TG_LEVEL = 'STATEMENT' AND TG_OP IN ('INSERT','UPDATE','DELETE','TRUNCATE')) THEN audit_row.statement_only = 't'; ELSE RAISE EXCEPTION '[audit.if_modified_func_MyTable] - Trigger func added as trigger for unhandled case: %, %',TG_OP, TG_LEVEL; RETURN NULL; END IF; INSERT INTO audit.logged_actions_MyTable VALUES (audit_row.*); RETURN NULL; END; $body$ LANGUAGE plpgsql SECURITY DEFINER SET search_path = pg_catalog, public; 的松实现:

ema