奇狐社區論壇 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 16 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 不知道要如何撰寫??? (http://www.chiefox.com.tw/bbs/showthread.php?threadid=2998)


由 CCHCP0699 在 2005-04-25 10:10 發表:

不知道要如何撰寫???

引用其他商品的資料
REALPRICE := "TW100$CLOSE" ;

====================================

我想得知 所引用的資料 的Last Price 的時間???
不知道要如何撰寫


或是

AM9點之後 才要計算差值???
可是不知道要如何寫出????


由 peter109 在 2005-04-25 10:33 發表:

您將鼠標放在想知道的K線位置 不就可以知道相關時間位置了 幹嘛還要寫公式....???
如果要計算差值 也得知道您的條件
差值:close-ref(close,1);//和前一個做比較


由 CCHCP0699 在 2005-04-25 11:17 發表:

要用來計算 期貨 和 現貨 的價差

我要用來計算 期貨 和 現貨 的價差

因為開盤時間不同 我想期貨開盤後才要計算
並且用指標畫成副圖


所以才會問如何取得Last Price 的時間


由 king 在 2005-04-25 11:34 發表:

別名: 範圍
所屬類別: 邏輯函數 參數數量: 3

介於某個範圍之間。
用法:
RANGE(A,B,C)表示A大於B同時小於C時返回1,否則返回0
例如:RANGE(CLOSE,MA(CLOSE,10),MA(CLOSE,20))表示收盤價大於10日均線並且小於20日均線
===========================
別名: 時分秒
所屬類別: 時間函數 參數數量: 0

取得該週期的時分秒。
用法:
TIME
函數返回有效值範圍為(000000-235959)
=============================================
使用上面兩個函數搭配就可以解決了,這樣現貨開盤才會計算

__________________
E-Trader World 交易世界
Plurk
Facebook
Twitter
(EQ:情緒智商) & (HD:習慣領域)才是主導成功交易的重要關鍵。
「存於一個人自身的真相非常簡單,然而人們卻總是追求深奧的真理。」,金融交易亦是如此。


由 CCHCP0699 在 2005-04-25 14:04 發表:

以下的Code不知道要如何修改

以下的Code不知道要如何修改
希望在 9 點後才開始計算

{ 期貨水差的計算 }
if range( time , 9 , 14 ) then
begin
XX := C - REALPRICE ;
end;


由 king 在 2005-04-25 14:13 發表:

RANGE(TIME,085959,133100)

__________________
E-Trader World 交易世界
Plurk
Facebook
Twitter
(EQ:情緒智商) & (HD:習慣領域)才是主導成功交易的重要關鍵。
「存於一個人自身的真相非常簡單,然而人們卻總是追求深奧的真理。」,金融交易亦是如此。


由 CCHCP0699 在 2005-04-25 14:23 發表:

會出現語法錯誤

if RANGE(TIME,085959,133100) then
begin
XX := C - REALPRICE ;
end;

會出現語法錯誤


由 CCHCP0699 在 2005-04-25 14:25 發表:

奇狐版本

奇狐版本


由 cgjj 在 2005-04-25 14:34 發表:

回覆: 會出現語法錯誤

引用:
最初由 CCHCP0699 發表
if RANGE(TIME,085959,133100) then
begin
XX := C - REALPRICE ;
end;

會出現語法錯誤




您誤用的 if .... then 命令了
if .... then 僅能用於單一數值的判斷不能應用於整個數列的判斷

TIME 是數列(存每根K棒的時間)
故 RANGE(TIME,085959,133100) 的結果為數列

您需改用 IF(X,A,B) 函數
用法:
IF(X,A,B)若X不為0則返回A,否則返回B
例如:
IF(CLOSE<OPEN,LOW,HIGH)
表示該週期收陰則返回最低價,否則返回最高價


由 traver0000 在 2005-07-04 13:57 發表:

請問各位狐友...

IF 後只能判斷單一數列,
那如果

XYZ:CLOSE>OPEN;
IF XYZ=1 THEN BEGIN
CC:LCOSE
END;

這樣好像也不行,
那要如何更改呢??


由 cgjj 在 2005-07-04 14:08 發表:

引用:
最初由 traver0000 發表
請問各位狐友...

IF 後只能判斷單一數列,
那如果

XYZ:CLOSE>OPEN;
IF XYZ=1 THEN BEGIN
CC:LCOSE
END;

這樣好像也不行,
那要如何更改呢??



用 3.5 版的 IF 即可, 不需用 4.0 版的 IF
cc:IF(CLOSE>OPEN,CLOSE,0);


由 king 在 2005-07-04 14:14 發表:

引用:
最初由 traver0000 發表
請問各位狐友...

IF 後只能判斷單一數列,
那如果

XYZ:CLOSE>OPEN;
IF XYZ=1 THEN BEGIN
CC:LCOSE
END;

這樣好像也不行,
那要如何更改呢??


CC:IF(C>O,C,0)

__________________
E-Trader World 交易世界
Plurk
Facebook
Twitter
(EQ:情緒智商) & (HD:習慣領域)才是主導成功交易的重要關鍵。
「存於一個人自身的真相非常簡單,然而人們卻總是追求深奧的真理。」,金融交易亦是如此。


由 traver0000 在 2005-07-04 19:55 發表:

謝謝樓上二位版主,
只是想在IF的條件式成立後想計算一些東西(有三至四行的公式),
我所舉的例子我把他簡化了,
想請教有方法嗎??

我的想法是既然IF後只能判斷單一數列,
那"1"跟"0"何以不能算在單一數列呢??^^


由 cgjj 在 2005-07-04 20:43 發表:

舉個例子:
前一天的收盤價 >= 今日收盤價 將 CK 的值 設為 1
若不成立則將 CK 的值 設為 0

可用下列式子簡單完成
ck:IF(ref(c,1)>=c,1,0);

改以 if.... then 來做, 其程式如下:

原碼:

cc
:=c;
ck:c*0;
for 
i=lbound(cc)+1 to ubound(cc) do begin
  
if cc[i-1]>=cc[ithen ck[i]:=1;
end;


由 cgjj 在 2005-07-04 20:59 發表:

延續前例:
若 前一天的收盤價 >= 今日收盤價 將 CK 的值 設為 1, UseC 設為 前一天的收盤價
若不成立則將 CK 的值 設為 0, UseC 設為今日收盤價

可用下列式子簡單完成
ck:IF(ref(c,1)>=c,1,0);
UseC:IF(ref(c,1)>=c,ref(C,1),c);

改以 if.... then 來做, 其程式如下:

原碼:

cc
:=c;
ck:c*0;
UseC:c;
for 
i=lbound(cc)+1 to ubound(cc) do begin
  
if cc[i-1]>=cc[ithen begin
    ck
[i]:=1;
    
UseC[i]:=cc[i-1];
  
end;
  else 
begin
    UseC
[i]:=cc[i];
  
end;
end;


全部時間均為台灣時間, 現在時間為04:31 總頁數 (2): [1] 2 »
在這個頁面顯示本主題全部的 16 個文章


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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.