首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多时间帧策略

多时间帧策略
EN

Stack Overflow用户
提问于 2022-07-21 13:13:08
回答 1查看 76关注 0票数 0

我试图创造一种策略,如果MA200在1小时内价格低于价格,它就会购买。该策略销售的前提是: MA200在1小时内超越价格,MA9高于1周的价格,MA200高于4小时的价格。然而,它没有正常工作,更大的时间框架的情节扭曲了图表到我看不到烛台的地方。

代码语言:javascript
复制
strategy('Multi Time-Frame Analysis',
     overlay=true,
     initial_capital=1000,
     default_qty_value=30,
     default_qty_type=strategy.percent_of_equity,
     commission_type=strategy.commission.percent,
     commission_value=0.1)

timePeriod = time >= timestamp(syminfo.timezone, 2022, 6, 24, 02, 09)
notInTrade = strategy.position_size <= 0


buyCondition1 = ta.ema(close, 200) //< close   //1 hour
buyFrame1Hour = request.security("BTC", "60", buyCondition1 < close)
plot(buyCondition1, color = color.purple)

if (buyFrame1Hour and notInTrade and timePeriod)
    strategy.entry("Long", strategy.long)
    //when = buyCondition1


sellCondition1 = ta.ema(close, 200)  //1 hour
sellCondition2 = ta.ema(close, 9)    //1 week
sellCondition3 = ta.ema(close, 200)  //4 hours

timeFrame1Hour = request.security("BTC", "60", sellCondition1)   //1 hour
timeFrame1Week = request.security("BTC", "1W", sellCondition2)   //1 week
timeFrame4Hour = request.security("BTC", "240", sellCondition3)  //4 hours
//plot(timeFrame1Hour, color = color.red)
//plot(timeFrame1Week, color = color.blue)
//plot(timeFrame4Hour, color = color.green)

if (timeFrame1Hour and timeFrame1Week and timeFrame4Hour and notInTrade and timePeriod)
    strategy.exit(id = "stoploss", stop = PriceStop, limit = takeProfit)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-21 13:50:03

你是如何产生条件的,这似乎是有问题的。买卖应检查交叉和交叉200 1H EMA。下面的例子

代码语言:javascript
复制
//@version=5
strategy('Multi Time-Frame Analysis',  overlay=true)



buyCondition1 = ta.crossunder(ta.ema(close, 200),close)   //1 hour
expr=ta.ema(close,200)
ema200 = request.security(syminfo.tickerid, "60", expr)
buyFrame1Hour = ta.crossunder(ema200,close)

plot(ema200, color = color.purple)

if (buyFrame1Hour )
    strategy.entry("Long", strategy.long)

sellCondition2 = (ta.ema(close, 9)>close)    //1 week
sellCondition3 = (ta.ema(close, 200)>close)  //4 hours

timeFrame1Hour = ta.crossover(ema200,close)   //1 hour
timeFrame1Week = request.security(syminfo.tickerid, "1W", sellCondition2)   //1 week
timeFrame4Hour = request.security(syminfo.tickerid, "240", sellCondition3)  //4 hours

if (timeFrame1Hour and timeFrame1Week and timeFrame4Hour)
    strategy.entry("Short",strategy.short)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73066901

复制
相关文章

相似问题

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