peter109 2005-7-18 02:09
均線排序 --- 解盤中顯示上漲/下跌箭頭
HH: =H;
A: =MA(C,5);
B: =MA(C,10);
CC: =MA(C,20);
D: =MA(C,30);
要求做下降排序
這是我照做的做法
可是當中有一個值(D) 始終為零
哪位可以幫我看一下並修正嗎
HH: =H;
A: =MA(C,5);
B: =MA(C,10);
CC: =MA(C,20);
D: =MA(C,30);
VARIABLE:SLN[5]=0, SLNPOS[5]=0, SS[5]='';
ss[1]:='HH:'; ss[2]:='A:'; ss[3]:='B:'; ss[4]:='CC:'; ss[5]:='D:';
for n=LBOUND(HH) to ubound(HH) do begin
SLN[1]:=HH[n]; LBNO:=1;
if n>=LBOUND(A) then begin
SLN[2]:=A[n]; LBNO:=LBNO+1;
end;
else SLN[2]:=0;
if n>=LBOUND(B) then begin
SLN[3]:=B[n]; LBNO:=LBNO+1;
end;
else SLN[3]:=0;
if n>=LBOUND(CC) then begin
SLN[4]:=CC[n]; LBNO:=LBNO+1;
end;
else SLN[4]:=0;
if n>=LBOUND(D) then begin
SLN[5]:=D[n]; LBNO:=LBNO+1;
end;
else SLN[5]:=0;
for i = 1 to 5 do begin
SLNPOS[i]:=SLN[i];
end;
tmp:=SORT(SLN,1,1,LBNO);
tmp:=SORTPOS(SLNPOS,1,1,LBNO);
EXPN1[n]:=SLN[1]; EXPS1[n]:=SLNPOS[1];
EXPN2[n]:=SLN[2]; EXPS2[n]:=SLNPOS[2];
EXPN3[n]:=SLN[3]; EXPS3[n]:=SLNPOS[3];
EXPN4[n]:=SLN[4]; EXPS4[n]:=SLNPOS[4];
EXPN5[n]:=SLN[5]; EXPS5[n]:=SLNPOS[5];
end;
EXPLAINEX(EXPS1=1,ss[1],EXPN1,2,0),ColorGreen;
EXPLAINEX(EXPS1=2,ss[2],EXPN1,2,0),ColorGreen;
EXPLAINEX(EXPS1=3,ss[3],EXPN1,2,0),ColorGreen;
EXPLAINEX(EXPS1=4,ss[4],EXPN1,2,0),ColorGreen;
EXPLAINEX(EXPS1=5,ss[5],EXPN1,2,0),ColorGreen;
EXPLAINEX(EXPS2=1,ss[1],EXPN2,2,0),ColorGreen;
EXPLAINEX(EXPS2=2,ss[2],EXPN2,2,0),ColorGreen;
EXPLAINEX(EXPS2=3,ss[3],EXPN2,2,0),ColorGreen;
EXPLAINEX(EXPS2=4,ss[4],EXPN2,2,0),ColorGreen;
EXPLAINEX(EXPS2=5,ss[5],EXPN2,2,0),ColorGreen;
EXPLAINEX(EXPS3=1,ss[1],EXPN3,2,0),ColorGreen;
EXPLAINEX(EXPS3=2,ss[2],EXPN3,2,0),ColorGreen;
EXPLAINEX(EXPS3=3,ss[3],EXPN3,2,0),ColorGreen;
EXPLAINEX(EXPS3=4,ss[4],EXPN3,2,0),ColorGreen;
EXPLAINEX(EXPS3=5,ss[5],EXPN3,2,0),ColorGreen;
EXPLAINEX(EXPS4=1,ss[1],EXPN4,2,0),ColorGreen;
EXPLAINEX(EXPS4=2,ss[2],EXPN4,2,0),ColorGreen;
EXPLAINEX(EXPS4=3,ss[3],EXPN4,2,0),ColorGreen;
EXPLAINEX(EXPS4=4,ss[4],EXPN4,2,0),ColorGreen;
EXPLAINEX(EXPS4=5,ss[5],EXPN4,2,0),ColorGreen;
EXPLAINEX(EXPS5=1,ss[1],EXPN5,2,0),ColorGreen;
EXPLAINEX(EXPS5=2,ss[2],EXPN5,2,0),ColorGreen;
EXPLAINEX(EXPS5=3,ss[3],EXPN5,2,0),ColorGreen;
EXPLAINEX(EXPS5=4,ss[4],EXPN5,2,0),ColorGreen;
EXPLAINEX(EXPS5=5,ss[5],EXPN5,2,0),ColorGreen;
[color=Teal][align=right] 本贴由 peter109 于 2005-7-20 02:21 最后编辑 [/align][/color]
peter109 2005-7-18 13:51
快看不到了 重新浮出
peter109 2005-7-18 17:47
騎大 對不起
騎大 生氣了? 不願協助我解決問題!!
是因為我開 "量的異常" 那樓的事情
如果是 我向您賠不是
這麼寫(for .. only) 是因為唯恐其他人有看沒懂 浪費他們的時間 (我有過這經歷 感覺不爽) 可沒想到 卻因此而讓騎大不爽了 真是顧此失彼
個人學習公式寫作是這論壇啟蒙的 我喜歡這論壇 乾淨 沒有火藥味 更是學習成長的好地方 主因版大個位的勞苦付出 無私的協助 無求的付出 造就了今天論壇的正面回應
第二次在這論壇公開道歉 上次是hx817
所有論壇不歡迎的動作 我想我不會故意去做 有失讀書人的一份子
看在我是無心犯下的錯誤 還請騎大 您大人大量
再次向騎大表達最深之歉意
並謝謝論壇各位先進的分享與指導
祝福大家
1995 2005-7-18 17:48
我也顶上来
股市骑兵00 2005-7-18 19:04
[quote]Originally posted by [i]peter109[/i] at 2005-7-18 17:47:
騎大 生氣了? 不願協助我解決問題!!
是因為我開 "量的異常" 那樓的事情
如果是 我向您賠不是
這麼寫(for .. only) 是因為唯恐其他人有看沒懂 浪費他們的時間 (我有過這經歷 感覺不爽) 可沒想到 卻 ... [/quote]
呵呵,我干吗要生气啊,晕,你道歉干吗?又没做坏事,心虚吧~:D
有时我没时间,可能答复迟,论坛上高手很多的,也会帮你的呀~
参考如下:
[code]
HH:H;A:MA(C,5);
B:MA(C,10);CC:MA(C,20);
D:MA(C,30);gb:=SYSPARAM(1);
p[1]:=hh[gb];p[2]:=a[gb];
p[3]:=b[gb];p[4]:=cc[gb];
p[5]:=d[gb];
s[1]:=hh[gb];s[2]:=a[gb];
s[3]:=b[gb];s[4]:=cc[gb];
s[5]:=d[gb];
VARIABLE:ptr[5]='';
ptr[1]:='hh';ptr[2]:='a';
ptr[3]:='b';ptr[4]:='cc';
ptr[5]:='d';px:=SORTPOS(p,0,1,5);
EXPLAINEX(barpos=gb,ptr[p[1]]+': ',s[p[1]],3,0);
EXPLAINEX(barpos=gb,ptr[p[2]]+': ',s[p[2]],3,0);
EXPLAINEX(barpos=gb,ptr[p[3]]+': ',s[p[3]],3,0);
EXPLAINEX(barpos=gb,ptr[p[4]]+': ',s[p[4]],3,0);
EXPLAINEX(barpos=gb,ptr[p[5]]+': ',s[p[5]],3,0);
[/code]
peter109 2005-7-18 21:16
哇靠
我這長的公式 您三言兩語的就解決了
您這是鬼來著嗎 怎這般神勇
股市骑兵00 2005-7-19 13:39
[quote]Originally posted by [i]peter109[/i] at 2005-7-18 21:16:
哇靠
我這長的公式 您三言兩語的就解決了
您這是鬼來著嗎 怎這般神勇 [/quote]
我开摩托还神勇呢,谢谢夸奖~~:p
hx817 2005-7-19 13:43
呵呵,巧妙的将 横向数据转换为纵向数据,而后用排序函数解决问题
股市骑兵00 2005-7-19 13:52
[quote]Originally posted by [i]hx817[/i] at 2005-7-19 13:43:
呵呵,巧妙的将 横向数据转换为纵向数据,而后用排序函数解决问题 [/quote]
地下室里学来的,你的功劳很大呀,谢谢鼓励!:)
peter109 2005-7-19 13:53
hx817 版大 最近忙些甚麼
難得看到現身
有好東西可記得要分享
讓咱也學習 學習
peter109 2005-7-20 02:19
顯示上漲/下跌箭頭
騎大
如果我要在各變數解盤中顯示上漲/下跌箭頭 (相同則不用有箭頭)
有沒有比較簡潔的方式
如果照我目前的作業方式 又是一大串的公式
peter109 2005-7-20 08:28
10個變數值 排序後取五個到解盤
假如我有10個變數
MA5:=MA(C,5);MA10:=MA(C,10);MA20:=MA(C,20);MA40:=MA(C,40);
MA60:MA(C,60);MA80:=MA(C,80);MA100:=MA(C,100);MA120:=MA(C,120);
MA220:=MA(C,220); 收盤:=CLOSE
經過降序排序
我只要顯示其中的五個在解盤中 而這五個中必須包括 收盤
也就是說 取 收盤以及收盤上下各兩個變數值
我手中有個公式範例 但也是很長
想看看騎大簡潔有力的公式
請騎大指導
下面是依據您的公式寫排序部分
MA5:=MA(C,5);MA10:=MA(C,10);MA20:=MA(C,20);MA40:=MA(C,40);
MA60:MA(C,60);MA80:=MA(C,80);MA100:=MA(C,100);MA120:=MA(C,120);
MA220:=MA(C,220); 收盤:=CLOSE
p[1]:=MA5[gb];p[2]:=MA10[gb];
p[3]:=MA20[gb];p[4]:=MA40[gb];
p[5]:=MA60[gb];p[6]:=MA80[gb];
p[7]:=MA100[gb];p[8]:=MA120[gb];
p[9]:=MA220[gb];p[10]:=收盤[gb];
s[1]:=MA5[gb];s[2]:=MA10[gb];
s[3]:=MA20[gb];s[4]:=MA40[gb];
s[5]:=MA60[gb];s[6]:=MA80[gb];
s[7]:=MA100[gb];s[8]:=MA120[gb];
s[9]:=MA220[gb];s[10]:=收盤[gb];
VARIABLE: ptr[10]='';
ptr[1]:='MA5';ptr[2]:='MA10';
ptr[3]:='MA20';ptr[4]:='MA40';
ptr[5]:='MA60';ptr[6]:='MA80';
ptr[7]:='MA100';ptr[8]:='MA120';
ptr[9]:='MA220';ptr[10]:='收盤';
px:=SORTPOS(p,0,1,10);
EXPLAINEX(barpos=gb,ptr[p[1]]+': ',s[p[1]],3,0);
EXPLAINEX(barpos=gb,ptr[p[2]]+': ',s[p[2]],3,0);
EXPLAINEX(barpos=gb,ptr[p[3]]+': ',s[p[3]],3,0);
EXPLAINEX(barpos=gb,ptr[p[4]]+': ',s[p[4]],3,0);
EXPLAINEX(barpos=gb,ptr[p[5]]+': ',s[p[5]],3,0);
EXPLAINEX(barpos=gb,ptr[p[6]]+': ',s[p[6]],3,0);
EXPLAINEX(barpos=gb,ptr[p[7]]+': ',s[p[7]],3,0);
EXPLAINEX(barpos=gb,ptr[p[8]]+': ',s[p[8]],3,0);
EXPLAINEX(barpos=gb,ptr[p[9]]+': ',s[p[9]],3,0);
EXPLAINEX(barpos=gb,ptr[p[10]]+': ',s[p[10]],3,0);
[color=Teal][align=right] 本贴由 peter109 于 2005-7-20 12:53 最后编辑 [/align][/color]
pengyou 2005-7-20 12:12
[quote]Originally posted by [i]peter109[/i] at 2005-7-18 09:16 PM:
哇靠
我這長的公式 您三言兩語的就解決了
您這是鬼來著嗎 怎這般神勇 [/quote]
:D
股市骑兵00 2005-7-20 13:05
[quote]Originally posted by [i]peter109[/i] at 2005-7-20 08:28:
假如我有10個變數
MA5:=MA(C,5);MA10:=MA(C,10);MA20:=MA(C,20);MA40:=MA(C,40);
MA60:MA(C,60);MA80:=MA(C,80);MA100:=MA(C,100);MA120:=MA(C,120);
MA220:=MA(C,220); 收盤:=CLOSE
經過降序排序
我只要顯 ... [/quote]
呵呵,你提问题怎么象挤牙膏似的呀!
也许你们那里交流比较保守吧,交流想要的,又怕别人知道什么,前怕狼后怕虎啊!我已碰上多次了:po:
加在前面的公式大致这样:
[code]
//以指标线B:为上下各兩個變數值
for i=1 to 5 do if ptr[p[i]]='b' then break;
EXPLAINEX(barpos=gb and i-1>0,ptr[p[i-1]]+': ',s[p[i-1]],3,0);
EXPLAINEX(barpos=gb,ptr[p[i]]+': ',s[p[i]],3,0);
EXPLAINEX(barpos=gb and i+1<6,ptr[p[i+1]]+': ',s[p[i+1]],3,0);
[/code]
peter109 2005-7-20 13:55
騎大 您想錯了 或許別人如此 可不是咱
咱功力不好 但是 昨天從您這學到的 昨天就教別人了 下面的七樓
[url]http://www.chiefox.com.tw/bbs/showthread.php?s=&threadid=3665&highlight=cdp[/url]
多少人會還不說呢
台灣交流保守 是個事實 所以我喜歡到國內來交流
至於會有擠牙膏的事情發生
是因為咱思路不好 想到的只是目前的需求
會再跟帖 是因為思路的延續
您別見外
我也許不是像您那麼好 但我嘗試著成為像您那麼好
我也許不是很好 但絕對是好的那堆
我也許不是很好 但絕不是不好的一份子
13樓的問題 多謝協助 我待會試試
12樓的問題可以簡化嗎
peter109 2005-7-20 14:21
[quote]Originally posted by [i]股市骑兵00[/i] at 2005-7-20 13:05:
//以指标线B:为上下各兩個變數值
for i=1 to 5 do if ptr[p[i]]='b' then break;
EXPLAINEX(barpos=gb and i-1>0,ptr[p[i-1]]+': ',s[p[i-1]],3,0);
EXPLAINEX(barpos=gb,ptr[p[i]]+': ',s[p[i]],3,0);
EXPLAINEX(barpos=gb and i+1<6,ptr[p[i+1]]+': ',s[p[i+1]],3,0); [/quote]
當B為最大值的時候 解盤會列出兩個排序結果 可以接受 也正常
當B為最小值的時候 會出現下標越界
這部分是否可以仿照最大值的解盤方式
股市骑兵00 2005-7-20 14:52
[quote]Originally posted by [i]peter109[/i] at 2005-7-20 13:55:
騎大 您想錯了 或許別人如此 可不是咱
咱功力不好 但是 昨天從您這學到的 昨天就教別人了 下面的七樓
[url]http://www.chiefox.com.tw/bbs/showthread.php?s=&threadid=3665&highlight=cdp[/url]
多少 ... [/quote]
我只是对那些保守交流的风格不太欣赏。你也别介意!
股市骑兵00 2005-7-20 14:54
[quote]Originally posted by [i]peter109[/i] at 2005-7-20 14:21:
當B為最大值的時候 解盤會列出兩個排序結果 可以接受 也正常
當B為最小值的時候 會出現下標越界
這部分是否可以仿照最大值的解盤方式 [/quote]
公式解盘里我已考虑越界问题了,为什么还越界我也不清楚了。
改用IF语句吧:
[code]
for i=1 to 5 do if ptr[p[i]]='b' then break;
if i-1>0 then EXPLAINEX(barpos=gb,ptr[p[i-1]]+': ',s[p[i-1]],3,0);
EXPLAINEX(barpos=gb,ptr[p[i]]+': ',s[p[i]],3,0);
if i+1<6 then EXPLAINEX(barpos=gb,ptr[p[i+1]]+': ',s[p[i+1]],3,0);
[/code]
股市骑兵00 2005-7-20 14:57
12樓画箭頭,好象挺麻烦的,要多很多语句呢,似呼没这个必要吧~~
peter109 2005-7-20 15:00
[quote]Originally posted by [i]股市骑兵00[/i] at 2005-7-20 14:54:
公式解盘里我已考虑越界问题了,为什么还越界我也不清楚了。
改用IF语句吧:
[code]
for i=1 to 5 do if ptr[p[i]]='b' then break;
if i-1>0 then EXPLAINEX(barpos=gb,ptr[p[i-1]]+': ',s[p[i-1]],3, ... [/quote]
嗯 這部分正常了
boweb 2005-11-15 02:03
学习
dxzcjkcq 2005-12-14 16:59
[quote]Originally posted by [i]流光之星[/i] at 2005-11-18 03:09 PM:
每次过路时间不长,但都能有新的收获,真诚谢谢以上各位! [/quote]
好贴 各位辛苦了:D:cool:
第九交响曲 2006-10-6 15:04
高手就是高手,学习
页:
[1]