 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
字串符轉換
想要求 收盤價的每一個值
例如 收盤價是51.26
c1:...=6
c2:...=2
c3:...=1
c4:...=5
試寫公式如下
cs:FRACPART(C)*100,precision0,linethick;//小數化整 也試過不用取小數值 而直接求值
c1:strtonum(strright(numtostr(Cs,0),1)),linethick;//小數右邊第一位數值
c2:strtonum(strleft(numtostr(Cs,0),1)),linethick;////小數左邊第一位數值
vertline(c1<ref(C1,1));//測試用
vertline(c1>ref(C1,1));//測試用
vertline(c2<ref(C2,1));//測試用
vertline(c2>ref(C2,1));//測試用
cz:INTPART(C),precision0,linethick;//取整數部分
c3:strtonum(strright(numtostr(Cz,0),1)),linethick;//整數右邊第一位值
vertline(c3<ref(C3,1));//測試用
vertline(c3>ref(C3,1));//測試用
partline(C,0),linedot;
搞不懂 為何出來的數值全部都是固定的值(全部都是最後一根K線的值) 不會因為K線位置的變動而改變
然而由圖中(TW2353)可以清楚的看到 值應該是有變化的
煩請指導
peter109 附帶上了此圖片:
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2006-05-14 21:51 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
多謝版大的指導 我試試
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2006-05-15 00:50 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
還是有問題耶
出來的值有些時候正確 有些時後不正確
請觀看個股 然後比對每一個收盤價 例如最近的20根K線 似乎取整的時候系統會自動四捨五入 導致不正常 例如TW1110東泥 日期5/11和 5/9值就是錯誤的
公式如下
CC:=c;
C1:INTPART(mod(CC,100000)/10000),linethick;//整數萬
c2:INTPART(mod(CC,10000)/1000),linethick;//整數千
C3:INTPART(mod(CC,1000)/100),linethick;//整數百
C4:INTPART(mod(CC,100)/10),linethick;//整數十
C5:INTPART(mod(CC,10)),linethick;//整數個位
C6:INTPART(mod(CC*10,10)),linethick;
C7:INTPART(mod(CC*100,10)),linethick;
C8:INTPART(mod(CC*1000,10)),linethick;
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2006-05-15 01:43 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
我是這麼解的
CC:C*10000,linethick;
C1:mod(CC,10),linethick;//以下小數千位
c2A:=mod(CC,100);//小數兩位
C2:INTPART(MOD(c2A-C1,100)/10),linethick;//小數百位
.... 餘類推
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2006-05-15 14:58 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
不知是否bug
下式係lillian2005 兄提出來的另解方式
CC:C,linethick,precision4;
cs:cc*10000,precision0,linethick0;
ss:strlen(numtostr(Cs[SYSPARAM(1)],0)),linethick0,colorwhite;
s4:strtonum(strmid(numtostr(Cs[SYSPARAM(1)],0),ss-3,1)),linethick;//小數個位
s3:strtonum(strmid(numtostr(Cs[SYSPARAM(1)],0),ss-2,1)),linethick;//小數十位
s2:strtonum(strmid(numtostr(Cs[SYSPARAM(1)],0),ss-1,1)),linethick;//小數百位
s1:strtonum(strright(numtostr(Cs[SYSPARAM(1)],0),1)),linethick;//小數千位
z1:strtonum(strmid(numtostr(Cs[SYSPARAM(1)],0),ss-4,1)),linethick;//整數個位
//以下是我添加的部分
z2:strtonum(strmid(numtostr(Cs[SYSPARAM(1)],0),ss-5,1)),linethick;//整數十位
z3:strtonum(strmid(numtostr(Cs[SYSPARAM(1)],0),ss-6,1)),linethick;//整數百位
請比對TW1110東泥
您會發覺東泥的整數只有一位數值 然而卻多出了兩位數值z2以及z3
並且z2和z3這多出來的值都沿用前一個數值z1
不知是我作業錯誤 還是 這是一個bug
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2006-05-16 20:30 |
|
|
|  |
 |
kkkkkk
資深會員
註冊日期: Dec 2003
來 自:
文章數量: 291 |
這不是bug,是用在整數部分時,不能如此行之,看看整個字串長度只有5,怎堪得再減去5或6呢?
|
最後由 kkkkkk 在 2006-05-17 04:41 編輯 |
向版主報告此篇 |  |
|
2006-05-16 20:59 |
|
|
|  |
 |
peter109
資深會員
註冊日期: Dec 2004
來 自: Taipei
文章數量: 1893 |
整個字串長度只有5 怎堪得再減去5或6
只是在想一個問題
系統為何不將多出來的字串長度預設為零 而一定要預設為目前的狀態
__________________
至誠能勝天下至偽
至拙能勝天下至巧
|
|
向版主報告此篇 |  |
|
2006-05-17 08:42 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|