首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PineScript /贸易视图:如何在策略中检查开单

PineScript /贸易视图:如何在策略中检查开单
EN

Stack Overflow用户
提问于 2020-07-07 06:25:16
回答 1查看 2.4K关注 0票数 0
代码语言:javascript
运行
复制
pma = sma(maSource, periods)
entryLong = close * 1.10
longCondition = close >= pma

if longCondition
   strategy.entry(id = "Long Entry", long = true, stop = entryLong)

有几条可以连续满足这个longCondition,但我不希望后续的条覆盖前面的条。理想情况下,我希望添加一个检查,以查看strategy.openentries == 0是否存在,但当然,这样的变量在Tradingview中并不存在。

想做这样的事:

代码语言:javascript
运行
复制
pma = sma(maSource, periods)
entryLong = close * 1.10
longCondition = close >= pma

if longCondition and strategy.openorders == 0
   strategy.entry(id = "Long Entry", long = true, stop = entryLong)

if barssince(longCondition) = 3
   strategy.cancel(id = "Long Entry")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-07 15:58:00

您可以在前一个栏上检查条件是否为真,而忽略当前的条件。因此,连续发生的事件将被忽略。

代码语言:javascript
运行
复制
pma = sma(close, 10)
entryLong = close * 1.10
longCondition = close >= pma
long = longCondition and not nz(longCondition[1])

// debug
bgcolor(longCondition ? color.green : na)
bgcolor(long ? color.blue : na)

您还可以使用内置的strategy.position_size函数。

代码语言:javascript
运行
复制
strategy.position_size > 0  // long is opened.
strategy.position_size < 0  // short is opened.
strategy.position_size == 0  // no opened positions
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62769268

复制
相关文章

相似问题

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