首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >松树脚本v5,EMA云和警报

松树脚本v5,EMA云和警报
EN

Stack Overflow用户
提问于 2022-04-10 21:06:01
回答 1查看 1.3K关注 0票数 0

试着在这里学习松树剧本来优化我的交易策略。我有大约1.5年的交易经验。我使用的流行系统是万能的Ripster云。它是基于几个EMA移动,并制造一个云(如一木木云),并发现趋势逆转。我将链接粘贴下面的代码。

我苦苦挣扎的是添加警告和箭头,指向趋势逆转的起点和终点。

Bull =当EMA云2越过EMA云3时

当EMA云3在EMA云3下穿越时,Bear =。

我还想要一个变量,说明它所基于的时间框架。我的建议是3分钟,10分钟,1小时,1天和1周。

如果有人可以指点我的方向来寻求帮助,或者在评论中帮助我,我们会非常感激的。

当然,代码是免费的。

云层变化的截图。云2= 5-13 EMA交叉,云3= 34-50 EMA交叉

这里是描述EMA云的视频。视频在这里

干杯,

代码语言:javascript
复制
//@version=5

indicator("TwntySQ EMA Clouds - modified version of Ripster47 EMA clouds", shorttitle="TQ", overlay=true)

matype = input.string(title='MA Type', defval='EMA', options=['EMA', 'SMA'])



ma_len1 = input(title='Short EMA1 Length', defval=8)

ma_len2 = input(title='Long EMA1 Length', defval=9)

ma_len3 = input(title='Short EMA2 Length', defval=5)

ma_len4 = input(title='Long EMA2 Length', defval=13)

ma_len5 = input(title='Short EMA3 Length', defval=34)

ma_len6 = input(title='Long EMA3 Length', defval=50)

ma_len7 = input(title='Short EMA4 Length', defval=72)

ma_len8 = input(title='Long EMA4 Length', defval=89)

ma_len9 = input(title='Short EMA5 Length', defval=180)

ma_len10 = input(title='Long EMA5 Length', defval=200)



src = input(title='Source', defval=hl2)

ma_offset = input(title='Offset', defval=0)

//res = input(title="Resolution", type=resolution, defval="240")



f_ma(malen) =>

float result = 0

if matype == 'EMA'

result := ta.ema(src, malen)

result

if matype == 'SMA'

result := ta.sma(src, malen)

result

result



htf_ma1 = f_ma(ma_len1)

htf_ma2 = f_ma(ma_len2)

htf_ma3 = f_ma(ma_len3)

htf_ma4 = f_ma(ma_len4)

htf_ma5 = f_ma(ma_len5)

htf_ma6 = f_ma(ma_len6)

htf_ma7 = f_ma(ma_len7)

htf_ma8 = f_ma(ma_len8)

htf_ma9 = f_ma(ma_len9)

htf_ma10 = f_ma(ma_len10)



//plot(out1, color=green, offset=ma_offset)

//plot(out2, color=red, offset=ma_offset)



//lengthshort = input(8, minval = 1, title = "Short EMA Length")

//lengthlong = input(200, minval = 2, title = "Long EMA Length")

//emacloudleading = input(50, minval = 0, title = "Leading Period For EMA Cloud")

//src = input(hl2, title = "Source")

showlong = input(false, title='Show Long Alerts')

showshort = input(false, title='Show Short Alerts')

showLine = input(false, title='Display EMA Line')

ema1 = input(true, title='Show EMA Cloud-1')

ema2 = input(true, title='Show EMA Cloud-2')

ema3 = input(true, title='Show EMA Cloud-3')

ema4 = input(true, title='Show EMA Cloud-4')

ema5 = input(true, title='Show EMA Cloud-5')



emacloudleading = input.int(0, minval=0, title='Leading Period For EMA Cloud')

mashort1 = htf_ma1

malong1 = htf_ma2

mashort2 = htf_ma3

malong2 = htf_ma4

mashort3 = htf_ma5

malong3 = htf_ma6

mashort4 = htf_ma7

malong4 = htf_ma8

mashort5 = htf_ma9

malong5 = htf_ma10



cloudcolour1 = mashort1 >= malong1 ? #036103 : #880e4f

cloudcolour2 = mashort2 >= malong2 ? #4caf50 : #f44336

cloudcolour3 = mashort3 >= malong3 ? #2196f3 : #ffb74d

cloudcolour4 = mashort4 >= malong4 ? #009688 : #f06292

cloudcolour5 = mashort5 >= malong5 ? #05bed5 : #e65100

//03abc1



mashortcolor1 = mashort1 >= mashort1[1] ? color.olive : color.maroon

mashortcolor2 = mashort2 >= mashort2[1] ? color.olive : color.maroon

mashortcolor3 = mashort3 >= mashort3[1] ? color.olive : color.maroon

mashortcolor4 = mashort4 >= mashort4[1] ? color.olive : color.maroon

mashortcolor5 = mashort5 >= mashort5[1] ? color.olive : color.maroon





mashortline1 = plot(ema1 ? mashort1 : na, color=showLine ? mashortcolor1 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA1')

mashortline2 = plot(ema2 ? mashort2 : na, color=showLine ? mashortcolor2 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA2')

mashortline3 = plot(ema3 ? mashort3 : na, color=showLine ? mashortcolor3 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA3')

mashortline4 = plot(ema4 ? mashort4 : na, color=showLine ? mashortcolor4 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA4')

mashortline5 = plot(ema5 ? mashort5 : na, color=showLine ? mashortcolor5 : na, linewidth=1, offset=emacloudleading, title='Short Leading EMA5')



malongcolor1 = malong1 >= malong1[1] ? color.green : color.red

malongcolor2 = malong2 >= malong2[1] ? color.green : color.red

malongcolor3 = malong3 >= malong3[1] ? color.green : color.red

malongcolor4 = malong4 >= malong4[1] ? color.green : color.red

malongcolor5 = malong5 >= malong5[1] ? color.green : color.red



malongline1 = plot(ema1 ? malong1 : na, color=showLine ? malongcolor1 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA1')

malongline2 = plot(ema2 ? malong2 : na, color=showLine ? malongcolor2 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA2')

malongline3 = plot(ema3 ? malong3 : na, color=showLine ? malongcolor3 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA3')

malongline4 = plot(ema4 ? malong4 : na, color=showLine ? malongcolor4 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA4')

malongline5 = plot(ema5 ? malong5 : na, color=showLine ? malongcolor5 : na, linewidth=3, offset=emacloudleading, title='Long Leading EMA5')



fill(mashortline1, malongline1, color=cloudcolour1, title='MA Cloud1', transp=45)

fill(mashortline2, malongline2, color=cloudcolour2, title='MA Cloud2', transp=65)

fill(mashortline3, malongline3, color=cloudcolour3, title='MA Cloud3', transp=70)

fill(mashortline4, malongline4, color=cloudcolour4, title='MA Cloud4', transp=65)

fill(mashortline5, malongline5, color=cloudcolour5, title='MA Cloud5', transp=65)
EN

回答 1

Stack Overflow用户

发布于 2022-04-22 13:21:28

有几种方法,你可以计算这些云的交叉或交叉从TA的角度。

首先是等待整个云2跨云3;这可以通过使用每个云中较慢的MAs的交叉来实现。

代码语言:javascript
复制
bull_signal = ta.crossover(htf_ma4, htf_ma6)
bear_signal = ta.crossunder(htf_ma4, htf_ma6)

第二,当云层开始交叉或低于时,就会得到交叉信号。在这种情况下,您可以在每个云中使用速度更快的MAs。

代码语言:javascript
复制
bull_signal = ta.crossover(htf_ma3, htf_ma5)
bear_signal = ta.crossunder(htf_ma3, htf_ma5)

另一种选择是获取每个云的平均点,并将其用于交叉信号。

代码语言:javascript
复制
cloud2_avg = math.avg(htf_ma3, htf_ma4)
cloud3_avg = math.avg(htf_ma5, htf_ma6)

bull_signal = ta.crossover(cloud2_avg , cloud3_avg)
bear_signal = ta.crossunder(cloud2_avg, cloud3_avg)

最后,要存储正在使用的时间框架,可以使用内置的timeframe.period

因此:

res = timeframe.period

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71820564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档