Login Page - Create Account

Support Board


Date/Time: Thu, 06 Mar 2025 12:55:50 +0000



Post From: How to create my own class and use it correctly?

[2022-01-29 23:25:39]
Tony - Posts: 552
我不是程序员,刚刚用ACSIL两年,没有办法回答你关于Class的问题,只是说说你代码里其他比较
明显的问题:

背景:ACSIL最基本的概念就是所有的K线作为数组来处理,比如你有100条K线,那么数组的编号就是
从[0]到[99],最后一条K线的编号可以用 sc.Index来代替,具体到我们这个例子,sc.Index的数
值就是99,如果有新的K线(比如5分钟图的下一个5分钟)那sc.Index的数值会自动跟新,就是100,
101..依次排下去。开盘价、收盘价、最高价和最低价不需要专门定义,直接调用就可以,比如,如果
你想知道第67根K线的最高价:sc.High[67],或者最后一条K线的收盘价:sc.Close[sc.Index]。

有了背景知识,你要添加的任何指标,实际上就是在已有的K线数组上添加新的数组而已,编号一样,具
体到你的代码里,从 SmallWavesTop[0] 到 SmallWavesTop[sc.Index],以及从 SmallWavesBottom[0]
到 SmallWavesBottom[sc.Index]都要有数据,不然就算编译通过了,你在图上也看不到任何结果。

威科夫波浪有很强的主观性,如果没有具体的公式,很难在K线图上表达出来。

DRAWSTYLE_TRANSPARENT_FILL_RECTANGLE_TOP 和 DRAWSTYLE_TRANSPARENT_FILL_RECTANGLE_BOTTOM
是作为一对数据来用的,用来显示一条信息。你的代码里好像有两条信息:上升浪和下降浪,应该需要两对
上下对应的 DRAWSTYLE 才对。

另外,根据我的经验,用function可能比用class要方便,而且放在同一个.cpp文件即可,如果有
其他指标,也都可以放在同一个.cpp文件。
Date Time Of Last Edit: 2022-01-29 23:54:39