以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  两个问题请教  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=138991)

--  作者:分析者
--  发布时间:2016/8/31 21:55:00
--  两个问题请教

问题一:  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编辑过]

--  作者:yukizzc
--  发布时间:2016/9/1 15:16:59
--  

一、因为fl是vba里的变量,你pel里的fl是0,自然x:=fl是0了。你可以在vba里去用SetExtData   写到全局变量,然互pel的x去读取对应的值

二、PelsByPos         以周期序列为参数,返回与之相对应的X坐标象素位置。

PriceToPels       以当前价格为参数,取其在窗格相对应的Y坐标位置(象素)。

 

建议客户帮助信息里多找找,也可以自己动手写下


--  作者:分析者
--  发布时间:2016/9/2 16:25:43
--  

谢谢老师解答,我这就能节省少浪费好多时间。

另外,再请问formula.VARDATA("fl") = fl",这个对象方法不就是将VBA中的变量FL的数值传递到PEL中变量FL吗,大不了在PEL中我换个变量名,叫FLX,用formula.VARDATA("flX") = fl"


--  作者:分析者
--  发布时间:2016/9/2 16:29:12
--  
并且,我让FL指标显示出来,确认用VARDATA传递成功了的,但就是将FL再赋值给别的变量就出问题