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

乐游胡子
乐游胡子 任何事情都需要倾入热情。

2 People liked this article · 2481 views

我们在刚开始写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


Published on 2024-03-12 22:20

Disclaimers:

This document is written by 乐游胡子 Original published on 百果量化交流平台 ,The copyright belongs to the author。

Log in,More exciting content waiting for you to find,Contribute wonderful answers,Participate in comment interaction

go Sign in! No accountgoregister

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

Included in the column