python - 如何创建 Ichimoku “3 线”信号?
问题描述
嗨,我尝试编写一个基于 Ichimoku Cloud 的简单策略。最强和最有利可图的 Ichimoku 信号 - 由系统的创建者 Mr.Hosoda 描述 - 被称为“3 线信号” 该信号有几个条件: 1. 转换线与基线交叉 2. 收盘价高于转换线 3. 转换线高于baseLine 4. Cloud /leadLine1 和leadLine2/ 上方的基线 5. 价格上方的位移线
问题:当我把所有这些条件放在一起时,我得到“没有数据”。
它仅适用于第 3 个条件 /crossover 和 close>conversionline 和 close>baseline)当我添加条件 4. 和 5. 时,策略显示“无数据”。/例如:baseline>leadline1 and baseline>leadline2 and close>displacement/ 仅适用于条件 1,2,3。所以云和位移有一些问题,但我找不到解决方案
请帮助:)谢谢
代码/仅用于长条目/:
//@version=4
strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)
conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")
profit = input(100, minval=1, title="Profit")
loss = input(100, minval=1, title="Loss")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement + 1, color=#459915, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.green,
title="Lead 1")
p2 = plot(leadLine2, offset = displacement - 1, color=color.red,
title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.green : color.red)
entry()=> crossover (conversionLine, baseLine) and close>baseLine and close>conversionLine
strategy.entry (id="Long entry", long=true, when=entry())
strategy.exit (id="Long exit", profit=200, loss=200)
视觉条件:
解决方案
原因条件编号 4 即基线>leadline1 和基线>leadline2不起作用是因为
- Leadline1 和 LeadLine2 均绘制未来 26 个周期
如果您查看由lead1 和lead2 形成的云,您一定会发现有两种类型的云,未来绘制的云和与baseLine 和conversionLine 在同一时间范围内绘制的云
您必须以满足以下两个条件的方式修改代码
基准线和转换线都在云之上(与基准线和转换线在同一时间范围内的云)
a = 转换线 > 引导线 1[26]
b = 转换线 > 引导线2[26]
c = 基线 > 引导线 1[26]
d = 基线 > 引导线2[26]
e = 引线1[26] > 引线2[26]
未来的云26期是绿色的
f = 引线1 > 引线2
推荐阅读
- javascript - 一个有趣的 Javascript 任务
- java - Reactor Java Flux 与 Mono
- javascript - 提交后如何显示一个部分
- database - 数据库设计:如何处理空值?
- django - 在 Django/Vue 应用程序中更改公共 index.html 中的 chunk_vendors/app js 文件导入 url
- laravel - 使用一些数据过滤从日期到日期
- javascript - 如何使用 Javascript 随机化 WordPress 中的图像(高级自定义字段)
- f# - 为什么在这种情况下在 F# 中使用引用
- swift - 如何在类内设置计算值的绑定(SwiftUI)
- pyspark - 使用 pyspark 联合 Delta Lake 表