以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp)
-- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4)
---- 为什么AA 和BB 没有 输出值? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=181445)
|
-- 作者:OscarDeng
-- 发布时间:2020/7/28 14:17:50
-- 为什么AA 和BB 没有 输出值?
为什么AA 和BB 没有 输出值?使用在分钟周期里, 肯定超过1万个数据以上。
DIFF :EMA(CLOSE,SHORT) - EMA(CLOSE,LONG); DEA :EMA(DIFF,M); MACD:2*(DIFF-DEA),COLORSTICK; MACDMAX:=MAX(C,O); MACDMIN:=MIN(C,O); MACDL:=LLV(MACDMIN,7);//8周期内最低收盘价 AA:MA(ABS(DIFF),10000),NOAXIS; BB:STD(ABS(DIFF),10000),NOAXIS;
|
-- 作者:wenarm
-- 发布时间:2020/7/28 15:50:08
--
自己在策略中输出k线数量看
ccc:DATACOUNT; 此主题相关图片如下:41.png
|
-- 作者:OscarDeng
-- 发布时间:2020/7/28 17:34:43
--
我用在15分钟上CC已经2324, 为什么BB 也显示不出来?为什么BB不会自动找前面1400的数据? 我程序化难道还要缩小画面才能让他自己找数据吗? 此主题相关图片如下:qq图片20200728173202.png
DIFF :EMA(CLOSE,SHORT) - EMA(CLOSE,LONG); DEA :EMA(DIFF,M); MACD:2*(DIFF-DEA),COLORSTICK; MACDMAX:=MAX(C,O); MACDMIN:=MIN(C,O); MACDL:=LLV(MACDMIN,7);//8周期内最低收盘价 BB:STD(ABS(DIFF),1440),NOAXIS; cc:datacount,NOAXIS;
|
-- 作者:yukizzc
-- 发布时间:2020/7/28 19:49:09
--
datacount是整个图上有多少跟k你要看barpos当前十字光标所在k是多少跟k 你看你图上十字光标的序列是1144,不足1440
|
-- 作者:yukizzc
-- 发布时间:2020/7/28 19:50:12
--
举个例子你要计算360均线,你在刚上市品种那几根k上去看均线,能得到均线吗
|
-- 作者:OscarDeng
-- 发布时间:2020/7/29 10:25:23
--
那下面的语句要怎样改才能正确? 就是开始的时候DIFFSTD取值少一点, barpos多了之后 std()的N值取值多一些
VARIABLE:DIFFSTD:=5; IF BARPOS>50 AND BARPOS<100 THEN DIFFSTD:=STD(ABS(DIFF),50); IF BARPOS>=100 AND BARPOS<200 THEN DIFFSTD:=STD(ABS(DIFF),100); IF BARPOS>=200 AND BARPOS<300 THEN DIFFSTD:=STD(ABS(DIFF),200); IF BARPOS>=300 AND BARPOS<500 THEN DIFFSTD:=STD(ABS(DIFF),300); IF BARPOS>=500 AND BARPOS<750 THEN DIFFSTD:=STD(ABS(DIFF),500); IF BARPOS>=750 AND BARPOS<1000 THEN DIFFSTD:=STD(ABS(DIFF),750); IF BARPOS>=1000 THEN DIFFSTD:=STD(ABS(DIFF),1000);
|
-- 作者:FireScript
-- 发布时间:2020/7/29 10:47:59
--
你这里的问题是std不能用在if里面吧。那你可以这样,先把std的参数计算好,再算std,这样就不用把std放在if里面的: VARIABLE:DIFFSTD:=5; Len:BARPOS;
IF BARPOS>50 AND BARPOS<100 THEN Len:=50; IF BARPOS>=100 AND BARPOS<200 THEN Len:=100; IF BARPOS>=200 AND BARPOS<300 THEN Len:=200; IF BARPOS>=300 AND BARPOS<500 THEN Len:=300; IF BARPOS>=500 AND BARPOS<750 THEN Len:=500; IF BARPOS>=750 AND BARPOS<1000 THEN Len:=750; IF BARPOS>=1000 THEN Len:=1000; DIFFSTD:=STD(ABS(DIFF),Len);//对BARPOS小于50的就按照有多少个K算多少K。
|
-- 作者:OscarDeng
-- 发布时间:2020/7/29 11:44:53
--
那能否这样写? LEN:=BARPOS; //就是说Len 每次都+1 IF BARPOS>=1000 THEN LEN=1000; DIFFSTD:=STD(ABS(DIFF),LEN);
|
-- 作者:FireScript
-- 发布时间:2020/7/29 13:05:38
--
也可以的啊。
|