到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > [重要]4.0 版與 3.5 版公式之間的相容性
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 17612

感歎 [重要]4.0 版與 3.5 版公式之間的相容性

4.0 版由於新增了許多關鍵性的函數語句,如迴圈和數列(陣列)等等
為了使整體的奇狐公式語言結構更加完善易用, 故做了一些改善
這些改善是非常必要的, 能使其公式語言結構更加健全好用
變更的幅度和數量非常少,僅對部份公式撰寫者會有些影響

詳見下列文章介紹:

向版主報告此篇 | 查IP位址
Old Post 2005-03-21 21:29
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 17612

【修正計算結果】
當語句 := 後為數值時(非數列),帶入 VBScript 計算後傳回結果會是亂數的問題


TEST:= 5;
<%
TEST = FFL.VarData("TEST")
STEST = TEST + 1
FFL.VarData("TEST") = STEST
%>
SHOW:TEST;


上述的公式在原來 3.5 版中運行
TEST 為數值5,帶入 VBScript 中將其值加上1後傳回
傳回的 TEST 數值並非我們要的 6 而是亂數(在VBS中還是6)
若 := 後為一個數列,如 TEST:=C 則可傳回正確的計算結果
4.0 版已修正此問題,可傳回正確的計算結果
註:此修正不會造成任何新舊版相容性的問題

向版主報告此篇 | 查IP位址
Old Post 2005-03-21 21:30
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 17612

【變更數的儲存型態】
原語句 變數:數值 中的變數型態為數列,現變更為數值


在 3.5 版中像 TEST:100 這樣的語句( : 後為數值而非數列 )
TEST 會以數列型態來儲存100 (即數列裡的每個數的值都是100)
到了 4.0 版 TEST 則是以數值來儲存100
註:變更是為了與新增的控制語句能搭配使用(合理化)

此變更對於用奇狐內建函數來寫公式的人沒有任何影響

只有對 撰寫公式裡有內嵌 VBScript 程式的人才有影響
需在 VBScript 程式中將 TEST 由原來的陣列存取,改用數值存取
在 4.0 版跑起來若無錯誤訊息,表示您的公式未遭遇此問題不需修改
若跑起來會有錯誤訊息(如:型態不合),則需修改變更存取方式

向版主報告此篇 | 查IP位址
Old Post 2005-03-21 21:30
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 17612

【修正函數運算】
修正 SUM, LLV, LLVBARS, HHV, HHVBARS, COUNT 六個函數


這六個函數有著相同的使用參數,如 SUM(X, N)
其中的 N 為統計的週期數
若 N 值為 0,代表自第一個有效週期算到當前位置
例如: SUM(C,0); 可以計算出 Close 價的加總

在 3.5 版中,N 若為常數的 0 可正常運算出對的結果(如 SUM(C,0);)
但若 N 為數列且該數列其中的值有 0 時
計算結果會不正確(傳回 0 值),請看下面的例子:
DD:=C*0;
SS:SUM(C,DD);
SS 應為 Close 價的加總,但卻傳回 0 值 (DD是數列)

4.0 版已修正此問題
這六個函數一般應用上 N 大部份都被設為常數
只有少部份有將 N 設為數列的人才會遭遇此問題

若您原來設計的指標,會因 4.0 版對此六個函數的修正
而變成不是您想要的結果(並非錯誤)
請參考下列的式子修改,即可保持原 3.5 版的樣子
XX:IF(DD=0,0,SUM(C,DD))

向版主報告此篇 | 查IP位址
Old Post 2005-03-21 21:31
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 17612

【於 VBScript 中存取 4.0 版的變數型態】

TEST:5; TEST是數值(3.5 版是數列)
TEST:=5; TEST是數值
TEST:CLOSE; TEST是數列
TEST:CLOSE*0+5; TEST是數列

向版主報告此篇 | 查IP位址
Old Post 2005-03-21 21:52
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 17612

【其它】
4.0 版中已可實現 A=A+1; 這類的運算式


例如:
TEST:5;
TEST:=TEST+1;
結果 TEST 的值為 6

向版主報告此篇 | 查IP位址
Old Post 2005-03-23 09:38
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 17612

【新增函數】

 4.0 新增加的函數如下,若您用的變數名稱與函數名稱相同請改名
  INPUT:定義並設定參數
  VARIABLE:定義並初始化變數
  BEGIN...END:可以把多條語句看作成是一條語句
  IF cond THEN expr1 ELSE expr2:當cond條件成立時,執行expr1,否則執行expr2
  WHILE cond DO expr :當cond條件成立時,迴圈執行expr
  FOR var=n1 TO n2 DO expr:從var=n1到n2開始迴圈執行 expr,每執行一次var加1
  FOR var=n1 DOWNTO n2 DO expr:從var=n1到n2開始迴圈執行 expr,每執行一次var減1
  BREAK:跳出迴圈
  EXIT:終止執行
  UBOUND(X):回傳數列X的最大編號(上界)
  LBOUND(X):回傳數列X的最小編號(下界)
  SETLBOUND(X,N):設定數列有效數據的起始最小編號(下界)
  SORT(X,D,N1,N2):對X數列從序號N1到N2進行排序。D為0升序,D為1降序
  SORTPOS(X,D,N1,N2):對X數列從序號N1到N2進行排序後。X存放原數值對應的位置。D為0升序,D為1降序
  DATACOUNT:回傳數列的資料數量
  REFLINE:設定坐標線
  DATA2-DATA10:引用疊加證券的行情資料
  STKFROMBLK(BLK,N):回傳BLK板塊中的第N個成員的證券代碼
  DRAWSL(COND,PRICE,SLOPE,LEN,EXPAND):在圖形上繪製指定斜率和長度的直線
  BARPOS:回傳當前是第幾根K線
  STKNAMEEX(SLBL):取得SLBL指定證券代碼的對應證券名稱
  STKINBLOCK(STK,BLK):證券代碼STK是否屬於BLK板塊,屬於輸出1否則爲0
  RAND(N):回傳一個範圍在1-N的隨機整數
  SYSPARAM(6):回傳十字游標處的數值
  LWINNER:計算近期獲利盤比例
  BARSTATUS:回傳數據位置狀態。1表示第1根K線,2表示最後1根K線,0表示中間的K線
  FREEMARGIN(ZHMC):回傳投資帳戶名稱爲ZHMC的可用資金
  DAYS1970:回傳該週期從1970以來的天數
  TIME0:回傳該週期從當日0點以來的秒數
  OPENMINUTES(TIME):回傳已開盤分鐘數
  D1970TODATE(X):回傳1970/01/01以來第X天的日期
  DATETOD1970(X):回傳某X日期,距1970/01/01是第幾天
  T0TOTIME(X):回傳今0點以來第X秒的時分秒
  TIMETOT0(X):回傳某X時分秒,距今0點是第幾秒
  LTRIM(STR):消去字串前面的空格
  RTRIM(STR):消去字串後面的空格
  VOLO、OPTION、DELTA、GAMMA、THETA、VEGA、RHO:期權函數
  LINEDOT、LINEDASH、LINEDASHDOT:虛線線型等函數
  BUYORDERS、SELLORDERS、BUYSHARES、SELLSHARES、TRADEORDERS、TRADESHARES 江波擴展函數

向版主報告此篇 | 查IP位址
Old Post 2005-03-31 09:30
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為22:56 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們