我有绘制 McGinley Dynamic 的代码。 我的目标是根据上升或下降线(绿色/红色)区分线的颜色。 用于绘制 McGinley 作品的代码。 问题是它只用一种颜色绘制。 添加最后两条注释行(并删除应该更改颜色的“plot(mg,color=orange,linewidth=4)”)后,整 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我的策略基于 3 个不同的指标。 作为一个条件,在主要指标变为真之前,至少在一根蜡烛上它们都必须是假的。 在我的示例中,蜡烛 4 没有触发,因为蜡烛 3 上的指标 2 不是假的。蜡烛 10 对主要指标是正确的,因为所有指标在蜡烛 8 或 9 上都是错误的。
酒吧 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
指标 1 | 真的 | 真的 | 错误的 | 真的 | 真的 | 错误的 | 真的 | 真的 | 错误的 | 真的 | ... | ... |
指标 2 | 错误的 | 真的 | 真的 | 真的 | 错误的 | 错误的 | 真的 | 真的 | 错误的 | 真的 | ... | ... |
指标 3 | 错误的 | 真的 | 错误的 | 真的 | 错误的 | 错误的 | 真的 | 错误的 | 真的 | 真的 | ... | ... |
熔化指标 | 错误的 | 真的 | 错误的 | 错误(在 #3 上并非所有人都是错误的) | 错误的 | 错误的 | 真的 | 错误的 | 真的 | 真的 | ... | ... |
你会帮我很多!
如果我理解正确,当指标 1-2-3 为true
时,您需要熔化指标为true
,但前提是指标 1-2-3 在前 2 根柱线中的任何点都为false
。
这个伪代码可以做到这一点。
//@version=5
indicator("My Script", overlay=true)
var bool a = na // indicator 1
var bool b = na // indicator 2
var bool c = na // indicator 3
var bool m = na // melting indicator
m := a and b and c and (not a[1] or not a[2]) and (not b[1] or not b[2]) and (not c[1] or not c[2])
plot(na)
或者您可以使用 function 来完成,这会提高代码的可读性。
//@version=5
indicator("My Script", overlay=true)
var bool a = na // indicator 1
var bool b = na // indicator 2
var bool c = na // indicator 3
var bool m = na // melting indicator
f_check(bool _x) => _x and (not _x[1] or not _x[2])
m := f_check(a) and f_check(b) and f_check(c)
plot(na)
编辑 1 以回应此评论:
蜡烛数量未定义的示例
//@version=5
indicator("My Script", overlay=true)
var bool a = na // indicator 1
var bool b = na // indicator 2
var bool c = na // indicator 3
var bool m = na // melting indicator
var bool a_triggered = false
var bool b_triggered = false
var bool c_triggered = false
// once triggered, keep triggered until reset
a_triggered := not a or a_triggered[1]
b_triggered := not b or b_triggered[1]
c_triggered := not c or c_triggered[1]
// melting indicator will ony be able to be true when conditions are met for a, b, c AND if all triggers have fired since last reset
m := a and b and c and a_triggered and b_triggered and c_triggered
// melting indicator is true?
if m
// reset triggers
a_triggered := false
b_triggered := false
c_triggered := false
plot(na)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.