问题一: VARDATA的问题
RUNMODE :1;//序列模式
fl:0;//给指标赋初值
fx:0;//给指标赋初值
FUNC1;//自定义函数,计算指标FL
x:=fl;
上述FUNC1自定义函数,通过"formula.VARDATA("fl") = fl"将VBA计算后的FL、fx传递到PEL中,实际看FL、FX指标的显示也是计算正确的,但是问题出在X:=FL,理论上应该等于FL,可实际X等于0,请问原因,如何解决?
虽然可以用FL:=FUNC1的方式返回值,但因为我希望FUNC返回FL、FX甚至还有更多的参数,所以只能用VARDATA方法
问题二:VBA画图问题
以前在PEL中用DRAWICON、DRAWLINE函数画图很简单,可现在VBA编程最好是直接通过VBA画图,不再返回到PEL,VBA中GRID对象也有同名的方法,例如DRAWICON(X,Y,Path)(X,Y,Path),可我希望的达到PEL一样的效果,在符合条件的K线上画图标,而VBA的DRAWICON的参数是坐标,请问如何达到和PEL画图函数相同的效果。
[此贴子已经被作者于2016-8-31 21:56:02编辑过]
一、因为fl是vba里的变量,你pel里的fl是0,自然x:=fl是0了。你可以在vba里去用SetExtData 写到全局变量,然互pel的x去读取对应的值
二、PelsByPos 以周期序列为参数,返回与之相对应的X坐标象素位置。
PriceToPels 以当前价格为参数,取其在窗格相对应的Y坐标位置(象素)。
建议客户帮助信息里多找找,也可以自己动手写下
谢谢老师解答,我这就能节省少浪费好多时间。
另外,再请问formula.VARDATA("fl") = fl",这个对象方法不就是将VBA中的变量FL的数值传递到PEL中变量FL吗,大不了在PEL中我换个变量名,叫FLX,用formula.VARDATA("flX") = fl"?