![]() |
在這個頁面顯示本主題全部的 14 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請問SHIFT的問題 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=1372)
請問SHIFT的問題
我想設定6日均線偏移三天,以便未來三天可以看到將要的六日均線扣抵值,我設定的公式為
ALINE:REF(C,6),SHIFT3
但當天出現的ALINE數值卻是10天前的收盤價,不是六日前的收盤價
我把SHIFT3改為SHIFT2出現的數值也不對
請問我該如何更改才能符合我的需求
另外如何將偏移三天後的數值顯示在ALINE上面
ALINE:REF(C,6),LINETHICK;
PARTLINE(1,ALINE),SHIFT3;
引用:
最初由 king 發表
ALINE:REF(C,6),LINETHICK;
PARTLINE(1,ALINE),SHIFT3;
DRAWNUMBER配ISLASTBAR
1是強迫真值
先看看下面的公式代码,显示的结果:
x1:close;
x2:close,SHIFT1;
再看看下面代码显示的结果:
x1:close;
x3:ref(close,1);
请比较x1和x3的结果有何异同.
最后看下面的代码:
x1:close;
x4:ref(close,1),shift1;
謝謝KING大大的回覆
雖然我還是寫不出來在SHIFT後的線上面顯現我所需的數字
函數的解說有時還真看不懂
謝謝南客大大的指點,感恩
DRAWNUMBER(ISLASTBAR,C,C,2),SHIFT1;
程式撰寫最大的問題不是函數的解釋,而是邏輯與函數組合排列,唯一的方法也是速成的方法就是多看及多寫,沒有其他的方法.
再次謝謝king大大的解答
讓我順利的將所需指標完成
由於軟體的轉換,之前使用的軟體中,當天收盤是否站上<當天最大成交量的成交價>
我翻閱了前輩們的文章及問題交流中的問題
找不出一點頭緒該如何開始
<當日分價量表中最大成交量的成交價>
不知公式該如何進行???
將此公式於分筆成交週期跑即可
原碼:
maxvolc:c*0;
usec:=c;
usevol:=vol;
<%
maxvolc=FFL.VarData("maxvolc")
usevol=FFL.VarData("usevol")
usec=FFL.VarData("UseC")
NowMaxVol=0: NowC=0
StNo = FFL.VarStartIndex("usevol")
EndNo = ubound(usevol)
for i = StNo to EndNo
if usevol(i)>NowMaxVol then NowMaxVol=usevol(i):NowC=usec(i)
next
for i = StNo to EndNo
maxvolc(i)=NowC
next
FFL.VarData("maxvolc")=maxvolc
%>
謝謝總版主的回覆
可是我將公式套在分筆成交週期跑之後
有些資料不太正確
以今天(8/23)1101與1301為例..最大分筆成交價都不對(與番網的數值比對)
不知哪裡出了問題
另外我要如何才能將<MAXVOLC>放在五分K上面??
跨週期引用公式好像沒有<分筆成交>的使用
<當天最大成交量的成交價>
<當日分價量表中最大成交量的成交價>
我被搞迷糊囉
再確認一次
您要的是求當日那一個價成交量最多對吧?
而不是當天成交量最大那一刻的的現價
註:後者是這次原碼求的
跨週期引用可用此命令
STKINDI(STKLABEL,INDINAME,INDITYPE,PERIOD)
引用:
最初由 cgjj 發表
<當天最大成交量的成交價>
<當日分價量表中最大成交量的成交價>
我被搞迷糊囉![]()
這兩者不同喔?我也迷糊了???
不過我要的是
<當日那一個價成交量最多>
求當日那一個價成交量最多
MaxVolC 為其價
MaxVolV 為其量
註:若碰到有兩個價都是最多時, 取離目前時間最近的價原碼:
UseC:=C;
UseV:=V;
MaxVolC:c*0;
MaxVolV:c*0;
<%
UseC = FFL.VarData("UseC")
UseV = FFL.VarData("UseV")
MaxVolC = FFL.VarData("MaxVolC")
MaxVolV = FFL.VarData("MaxVolV")
stno = FFL.VarStartIndex("UseC")
endno = ubound(UseC)
redim RdC(5000), RdV(5000)
NowRdNo=0: EndRdNo=-1
for i = endno to stno step -1
for RdNo=0 to EndRdNo
if UseC(i)=RdC(RdNo) then
RdV(RdNo)=RdV(RdNo)+UseV(i)
exit for
end if
next
if RdNo=EndRdNo+1 then
EndRdNo=EndRdNo+1
RdC(EndRdNo)=UseC(i)
RdV(EndRdNo)=UseV(i)
end if
next
MaxN=0: MaxRdNo=0:
for RdNo=0 to EndRdNo
if RdV(RdNo) > MaxN then MaxN = RdV(RdNo): MaxRdNo = RdNo
next
for i = stno to endno
MaxVolC(i)=RdC(MaxRdNo)
MaxVolV(i)=RdV(MaxRdNo)
next
FFL.VarData("MaxVolC") = MaxVolC
FFL.VarData("MaxVolV") = MaxVolV
%>
謝謝總版主的詳細回覆
全部時間均為台灣時間, 現在時間為04:10 | 在這個頁面顯示本主題全部的 14 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.