奇狐社區論壇
在這個頁面顯示本主題全部的 7 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 求助 如何取 最後60 分K高低點位 1分K 及 五分K 有不會修改 求助 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=24037)


由 ivancclai 在 2024-08-15 09:47 發表:

求助 如何取 最後60 分K高低點位 1分K 及 五分K 有不會修改 求助

版主大大早安

求助 最後60 分K高低點位 1分K 及 五分K 有不會修改 求助



IF DATATYPE =1 THEN BEGIN //1分K
UU:=MAX(REF(HIGH,60-1),HIGH);
DD:=MIN(REF(LOW,60-1),HIGH);
End;
IF DATATYPE =2 THEN BEGIN //5分K
UU:=MAX(REF(HIGH,12-1),HIGH);
DD:=MIN(REF(LOW,12-1),LOW);
End;
IF DATATYPE =3 THEN BEGIN //15分K
UU1:=MAX(REF(HIGH,4-1),HIGH);
DD1:=MIN(REF(LOW,4-1),LOW);
UU2:=MAX(REF(HIGH,3-1),REF(HIGH,2-1));
DD2:=MIN(REF(LOW,3-1),REF(LOW,2-1));
UU:=MAX(UU1,UU2);
DD:=MIN(DD1,DD2);
End;
IF DATATYPE =4 THEN BEGIN //30分K
UU:=MAX(REF(HIGH,2-1),HIGH);
DD:=MIN(REF(LOW,2-1),LOW);
End;
IF DATATYPE =5 THEN BEGIN //60分K
UU:=HIGH; DD:=LOW;
End;


由 cgjj 在 2024-08-15 10:57 發表:

回覆: 求助 如何取 最後60 分K高低點位 1分K 及 五分K 有不會修改 求助

引用:
最初由 ivancclai 發表
版主大大早安

求助 最後60 分K高低點位 1分K 及 五分K 有不會修改 求助



IF DATATYPE =1 THEN BEGIN //1分K
UU:=MAX(REF(HIGH,60-1),HIGH);
DD:=MIN(REF(LOW,60-1),HIGH);
End;
IF DATATYPE =2 THEN BEGIN //5分K
UU:=MAX(REF(HIGH,12-1),HIGH);
DD:=MIN(REF(LOW,12-1),LOW);
End;
IF DATATYPE =3 THEN BEGIN //15分K
UU1:=MAX(REF(HIGH,4-1),HIGH);
DD1:=MIN(REF(LOW,4-1),LOW);
UU2:=MAX(REF(HIGH,3-1),REF(HIGH,2-1));
DD2:=MIN(REF(LOW,3-1),REF(LOW,2-1));
UU:=MAX(UU1,UU2);
DD:=MIN(DD1,DD2);
End;
IF DATATYPE =4 THEN BEGIN //30分K
UU:=MAX(REF(HIGH,2-1),HIGH);
DD:=MIN(REF(LOW,2-1),LOW);
End;
IF DATATYPE =5 THEN BEGIN //60分K
UU:=HIGH; DD:=LOW;
End;



看您目前程式的算法,似乎是在求近期60分內高低點,與解說文字中所謂的 "60分K" 不太符合

[相對應60分K最末根的高低點] 與 [最近60分內的高低點] 是不一樣的東西!

麻煩請舉實例說明清楚
您要的算的是哪一種? 希望得到什麼樣的結果~


由 ivancclai 在 2024-08-15 12:26 發表:

版主大大你好

此程式ˊ60分K及30分K 及15分K程式正常但是1分K及5分K不正常需要修正


此程式取最後60分K 高低點


由 cgjj 在 2024-08-15 14:00 發表:

引用:
最初由 ivancclai 發表
版主大大你好

此程式ˊ60分K及30分K 及15分K程式正常但是1分K及5分K不正常需要修正


此程式取最後60分K 高低點



您說的正常,盤後看可能OK,盤中看(K棒進行中)可能錯!
這樣難以精確溝通,我換個方式問好了~~

假設是應用在股票中,目前時間最後的5分K假設是在12:20分

你要求的高低範圍為哪個時段的?
是 11:21~12:20 呢? (最近60分)

還是
12:01~12:20 呢? (最近一根60分K範圍,前一根是 11:01~12:00)


由 ivancclai 在 2024-08-15 19:35 發表:

版主大大你好


主要是期貨 收盤前ˊ60 分K 的高低點
如1分K及五分K 的高低點
如時間12:46∼13:45 及 早上ˋ4:01至05:00 的高低點


IF DATATYPE =1 THEN BEGIN //1分K
UU:=MAX(REF(HIGH,60-1),HIGH);
DD:=MIN(REF(LOW,60-1),HIGH);
End;
IF DATATYPE =2 THEN BEGIN //5分K
UU:=MAX(REF(HIGH,12-1),HIGH);
DD:=MIN(REF(LOW,12-1),LOW);
End;
IF DATATYPE =3 THEN BEGIN //15分K
UU1:=MAX(REF(HIGH,4-1),HIGH);
DD1:=MIN(REF(LOW,4-1),LOW);
UU2:=MAX(REF(HIGH,3-1),REF(HIGH,2-1));
DD2:=MIN(REF(LOW,3-1),REF(LOW,2-1));
UU:=MAX(UU1,UU2);
DD:=MIN(DD1,DD2);
End;
IF DATATYPE =4 THEN BEGIN //30分K
UU:=MAX(REF(HIGH,2-1),HIGH);
DD:=MIN(REF(LOW,2-1),LOW);
End;
IF DATATYPE =5 THEN BEGIN //60分K
UU:=HIGH; DD:=LOW;
End;


由 cgjj 在 2024-08-16 09:22 發表:

引用:
最初由 ivancclai 發表
版主大大你好


主要是期貨 收盤前ˊ60 分K 的高低點
如1分K及五分K 的高低點
如時間12:46∼13:45 及 早上ˋ4:01至05:00 的高低點


IF DATATYPE =1 THEN BEGIN //1分K
UU:=MAX(REF(HIGH,60-1),HIGH);
DD:=MIN(REF(LOW,60-1),HIGH);
End;
IF DATATYPE =2 THEN BEGIN //5分K
UU:=MAX(REF(HIGH,12-1),HIGH);
DD:=MIN(REF(LOW,12-1),LOW);
End;
IF DATATYPE =3 THEN BEGIN //15分K
UU1:=MAX(REF(HIGH,4-1),HIGH);
DD1:=MIN(REF(LOW,4-1),LOW);
UU2:=MAX(REF(HIGH,3-1),REF(HIGH,2-1));
DD2:=MIN(REF(LOW,3-1),REF(LOW,2-1));
UU:=MAX(UU1,UU2);
DD:=MIN(DD1,DD2);
End;
IF DATATYPE =4 THEN BEGIN //30分K
UU:=MAX(REF(HIGH,2-1),HIGH);
DD:=MIN(REF(LOW,2-1),LOW);
End;
IF DATATYPE =5 THEN BEGIN //60分K
UU:=HIGH; DD:=LOW;
End;



這樣就可以直接求得(僅適用分線,需<=60分鐘,且60/N能整除)
CK:=ref(MOD(OPENMINUTES,60)=0,1);
CKSP:=barslast(CK);
UU:HHV(H,CKSP+1);
DD:LLV(L,CKSP+1);


由 ivancclai 在 2024-08-18 05:41 發表:

可以了 謝謝版主大大


全部時間均為台灣時間, 現在時間為11:45
在這個頁面顯示本主題全部的 7 個文章


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

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