请教:python模块当中,ema指标是怎么编写的?其他常用指标呢?
求指数平滑移动平均。
用法:
EMA(X,N),求X的N日指数平滑移动平均。算法:若Y=EMA(X,N)
则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。
例如:EMA(CLOSE,30)表示求30日指数平滑均价
[此贴子已经被作者于2019/4/9 10:45:58编辑过]
LZ的意思应该是在python语言环境中如何编写EMA?
另外,请问能否在python语言环境中调用pel语言中的各类函数?谢谢!!!
看下stkindi这个函数,可以调用pel里面的公式指标
具体使用类似pel中的stkindi函数
抱歉,记错了。
帮助-python api文档
在这里搜下
get_indicator获取PEL指标线值
[此贴子已经被作者于2019/4/22 8:56:30编辑过]
能否写个python交易系统的实例,用调用指标的方式,而不是把指标算法写在python中,谢谢。
你自己看下上面这个函数的例子,然后在handle_bar里print下调用过来的值不就好了
交易系统自带就有例子,上面的例子你看懂了把交易系统里条件改下就行了啊
PyMaTrader Ma 均线交易系统
=======
//该范例展示如何在Pel公式代码中调用Python计算结果,并用该计算结果实现下单。
//如果Python中的计算量较大,将该公式用于图表可能造成卡顿,建议使用后台程序化。
//引用Python代码模块 "PelMaDemo", 需要注意大小写敏感
Py_Import PelMaDemo;
//置5日和10日变量数据至Python中,该变量可以在context对象中获取
//由于该变量值不变,所以限制第一根Bar下设置,提高运行效率
If BarPos = 1 Then
Begin
//置普通数值变量至Python
SETPYTHONVAL('long_period',0,M);
SETPYTHONVAL('short_period',0,N);
//若置数组,参考下面的代码
//VARIABLE : X[10]:=0;
//SETPYTHONVAL(x,'test');
End;
//触发Python中的Handle_bar方法
FIREPYHANDLEBAR;
//得到2个返回值,注意变量名大小写敏感
Ma5:GETPYTHONVAL('ma5');
Ma10:GETPYTHONVAL('ma10');
开多条件:=CROSS(MA5,MA10);
平多条件:=CROSS(MA10,MA5);
平多:SELL(平多条件,0,MARKETR);
开多:BUY(开多条件,1,MARKETR);
=======
是否指的这段代码?谢谢。
不是,你这个是python的计算结果给pel去调用
如果你要在python里调用pel的指标,看着个例子
get_indicator('sh600000','my_test','ma5','30','1d',10)