LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > Pine语言快速入门(四)如何用Pine语言编写完整的买进卖出策略

Pine语言快速入门(四)如何用Pine语言编写完整的买进卖出策略

2020-11-04 金金 来源:区块链网络

策略介绍

最简单的做多和平仓过程。

条件:

买入条件:RSI <30时进入多头 平仓条件:RSI> 70时平仓

订单和仓位管理

我们把做多和平仓都按一倍处理,不加杠杆,就等于现货了

指标设定

RSI周期默认值为14,我们采用21,从理论上讲,这应该会更少出错。

代码如下:

strategy(“Simple RSI”, overlay=true, initial_capital=10000)
longCondition = rsi(close, 21) < 30
if (longCondition)
strategy.entry(“Long 1”, strategy.long)

closeCondition = rsi(close, 21) > 70
if (closeCondition)
strategy.close(“Long 1”)

其中strategey(),括号内可以定义默认的“开单类型”:以合约数、金额或者总持仓百分比开单,这后面如果不定义具体数量,则默认为1,即1份合约、1美元,或者1%仓位开单。

上例是默认以合约数为单位开单。

以现金和百分比开单的写法如下:

以现金为单位开单:

strategy(“My Strategy”, overlay=true,pyramiding=1000,default_qty_type=strategy.cash,default_qty_value=30,currency=currency.USD)

以持仓百分比为单位开单:

strategy(“My Strategy”, overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 1, commission_type = strategy.commission.percent, pyramiding = 1)

每一个逗号之间,都是一个起始设定条件:
“default_qty_type = strategy.percent_of_equity”指的是以默认仓位百分比为单位下单。
“default_qty_value = 1”指的是每次下单为从持仓的1%,如果最终确定下单的命令中有其他数值定义,则覆盖这个默认设置。

“pyramiding = 1”是同一方向上最大可开单数,1就是只开多只能开一单,平仓或者做空之后,才能开下一单。如果是定投的话,相当于买很多次,可以定义为“pyramiding=1000”。

策略回测

如下图所示,在Strategy Tester里,可以看到既定策略所有的订单,盈利情况,最大回撤,平均订单收益等等。

在“List of Trades”可以看到详细的每一个订单的数量和收益情况。

在主图中的策略设置里,也可以手动设置以上这些参数。

图中注释的很清楚,就不再文字写一遍了。上面有代码,感兴趣的伙伴可以直接复制,自己回测。

明天讲几种不同的平仓的形式。

有想制定自己的指标和交易策略的伙伴,欢迎大家添加微信jinvlog交流。

注册Tradingview平台,点击Tradingview。

金金的分区间定投最近已经停止定投,等待更高位置,对分区间定投不了解的可以点击链接:

考虑周期的定投——才是最适合普通人的投资方法

—-

编译者/作者:金金

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...