Ptrade的3个小自定义函数范例

老胡上山打老虎
老胡上山打老虎 任何事情都需要倾入热情。

2 人点赞了该文章 · 295 浏览

我们在刚开始写PT代码的时候,很容易就直接用IF语句来进行一些简单判断,久而久之策略代码就会充斥着很多条件非常多的判断语句,这样可以实现一些功能,但是后期代码量增加之后阅读、修改、维护都会比较麻烦。为了代码简洁,是可以把一些通用功能函数化的。


以下举了具体3个小自定义函数的范例,抛砖引玉。


范例1:

判断——某个价格( price是否在一个设定的价格区间内( down_price 是区间下边界价格 线 , up_price 是区间上边界价格线 。通过这个小函数,后续策略中所有需要进行这种区间判断的地方,都可以反复调用它,只需要传入这么3个价格参数就可以了。


def price_in_area (down_price, price, up_price):
    if down_price <= price <= up_price : return True
    else : return False


范例2:

判断——某个价格(price离开某一个价格线(line)是否超过一个距离 (distance


def price_go_away (price, line, distance):
    if abs(price - line) >= distance: return True
    else : return False

范例3:

判断——标的价格是否触碰到某个 价格线(line)。一个价格是否触碰到一个价格线其实存在多种情况:

a、比如设定的价格线是100,上一个价格是105,现在价格是95,这算触碰了

b、 比如设定的价格线是100,上一个价格是95,现在价格是105,这算触碰了 

c、 比如设定的价格线是100,上一个价格是98,现在价格是100,这算触碰了 

d、 比如设定的价格线是100,上一个价格是102,现在价格是100,这算触碰了  。

所以,标的价格是否触碰到某个价格线的情况,需要使用到现价和上一个价格(这里上一个价格是上一个TICK价格 ,还是上一分钟价格,还是上5分钟都OK,具体怎么使用取决于设计者想要跟踪得多细节)


def price_touch_line (line, nowprice ,lastprice ):
    if (nowprice >= line >= lastprice) or (lastprice >= line >= nowprice) : return True
    else : return False


发布于 2024-03-12 22:20

免责声明:

本文由 老胡上山打老虎 原创发布于 百果量化交流平台 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

老胡上山打老虎
2024-03-14 11:37
@cymaster 可以去看看最新那个”预埋单“小范例,里面有调用了自定义函数
cymaster
2024-03-13 14:54
胡总多发,小板凳摆好了,努力学习。可以讲讲定义函数和调用吗?