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

奇狐社區論壇 (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=13377)


由 KV1566 在 2010-04-06 19:35 發表:

引用:
最初由 mead 發表
盤後測都是對的 但在即時盤盤中則SP和SP1會一樣在數K棒 SP1無法固定成一比例值(如100)

謝謝KV1566兄的熱心協助

謝謝 感恩


了解!

那,改成下面這樣試試。應該可以在即時盤中固定住SP1了!
我沒有用即時盤中,所以用訓練模式測試,理論來說應該是可以的!
至於程式碼是否能再簡化之,就得請總版主幫幫忙了!

N:=300;
if datatype=11 or datatype<=5 then begin
CK:=date<>ref(date,1);
SP:=barslast(CK)+1 LINETHICK0;
OM:=OPENMINUTES(TIME) LINETHICK0;
SP1:=REF(SP,SP) LINETHICK0;
LSP:=ubound(SP) LINETHICK0;
SP1:INTPART(N*SP[LSP-SP[LSP]]/SP1/(OM[ubound(OM)-1]-OM[ubound(OM)-2]));
MA(C,SP1);
end;


由 mead 在 2010-04-06 21:47 發表:

引用:
最初由 KV1566 發表
了解!

那,改成下面這樣試試。應該可以在即時盤中固定住SP1了!
我沒有用即時盤中,所以用訓練模式測試,理論來說應該是可以的!
至於程式碼是否能再簡化之,就得請總版主幫幫忙了!

N:=300;
if datatype=11 or datatype<=5 then begin
CK:=date<>ref(date,1);
SP:=barslast(CK)+1 LINETHICK0;
OM:=OPENMINUTES(TIME) LINETHICK0;
SP1:=REF(SP,SP) LINETHICK0;
LSP:=ubound(SP) LINETHICK0;
SP1:INTPART(N*SP[LSP-SP[LSP]]/SP1/(OM[ubound(OM)-1]-OM[ubound(OM)-2]));
MA(C,SP1);
end;


好 明天盤中我在試試

謝謝KV1566兄的熱心協助

謝謝 感恩


由 mead 在 2010-04-07 09:56 發表:

今天期貨一開盤就測試SP=-1;所以認為有問題而沒再測試
但9:00後再測 可以了ㄋㄟ

明天再測9:00前的狀況


由 KV1566 在 2010-04-07 12:07 發表:

引用:
最初由 mead 發表
今天期貨一開盤就測試SP=-1;所以認為有問題而沒再測試
但9:00後再測 可以了ㄋㄟ

明天再測9:00前的狀況


這是數據取用有碰到誇天的關係,明天9:00前如果要試,要改用下面這組程式。
(又加入了一個ND的控制,程式越來越亂,若不計較就將就用用吧,不然,就得找總版主優化一下了)

N:=300;
if datatype=11 or datatype<=5 then begin
CK:=date<>ref(date,1);
SP:=barslast(CK)+1 LINETHICK0;
OM:=OPENMINUTES(TIME) LINETHICK0;
SP1:=REF(SP,SP) LINETHICK0;
LSP:=ubound(SP) LINETHICK0;
dd:=date;
if dd[datacount-1]<>dd[datacount-2] then ND:=1 else ND:=0;
SP1:INTPART(N*SP[LSP-SP[LSP]]/SP1/(OM[ubound(OM)-1+ND]-OM[ubound(OM)-2+ND]));
MA(C,SP1);
end;


由 mead 在 2010-04-07 14:37 發表:

引用:
最初由 KV1566 發表
這是數據取用有碰到誇天的關係,明天9:00前如果要試,要改用下面這組程式。
(又加入了一個ND的控制,程式越來越亂,若不計較就將就用用吧,不然,就得找總版主優化一下了)

N:=300;
if datatype=11 or datatype<=5 then begin
CK:=date<>ref(date,1);
SP:=barslast(CK)+1 LINETHICK0;
OM:=OPENMINUTES(TIME) LINETHICK0;
SP1:=REF(SP,SP) LINETHICK0;
LSP:=ubound(SP) LINETHICK0;
dd:=date;
if dd[datacount-1]<>dd[datacount-2] then ND:=1 else ND:=0;
SP1:INTPART(N*SP[LSP-SP[LSP]]/SP1/(OM[ubound(OM)-1+ND]-OM[ubound(OM)-2+ND]));
MA(C,SP1);
end;



好 明天我試試

謝謝您熱心的協助

感恩


由 ccutmis 在 2010-04-08 09:23 發表:

引用:
最初由 mead 發表
好 明天我試試

謝謝您熱心的協助

感恩



參考 總版主及KV1566兄的程式碼,個人作了一些修改,
剛才試過台當月、加權及台積電各分鐘的週期,
跟大家分享^^,希望有幫助!

N:=300;
if datatype=11 or datatype<=5 then begin
OM:=OPENMINUTES(TIME);
MX:=OM-ref(OM,1); //取得當前週期
MX:=if(MX<0,ref(MX,2),MX); //修正跨日問題
SP1:N/MX,linethick0;
MA(CLOSE,SP1);
end;


由 mead 在 2010-04-08 09:48 發表:

引用:
最初由 ccutmis 發表
參考 總版主及KV1566兄的程式碼,個人作了一些修改,
剛才試過台當月、加權及台積電各分鐘的週期,
跟大家分享^^,希望有幫助!

N:=300;
if datatype=11 or datatype<=5 then begin
OM:=OPENMINUTES(TIME);
MX:=OM-ref(OM,1); //取得當前週期
MX:=if(MX<0,ref(MX,2),MX); //修正跨日問題
SP1:N/MX,linethick0;
MA(CLOSE,SP1);
end;



謝謝 ccutmis 大大您熱心的參予和協助

我測試看看

謝謝 感恩


由 cgjj 在 2010-04-08 10:05 發表:

引用:
最初由 cgjj 發表
CK:=date<>ref(date,1);
SP:=barslast(CK)+1;
N:ref(SP,SP) linethick0;
N:=N[datacount];
MA(C,N);

引用:
最初由 mead 發表
可以了 謝謝總版主的幫忙

謝謝 感恩



這段在加權和期貨都可以用
不是已經確認 ok 了嗎, 還有什麼問題嗎?


由 mead 在 2010-04-08 10:07 發表:

ccutmis大大 不行ㄋㄟ
你的SP1無法固定

以三分K來說好了;在還沒到三分K時
第一個分SP1=300
第二個分SP1=150
第三個分SP1=100(此時已滿足三分鐘)

而我們要的是任何時刻;在三分K的日均線是ma(C,100);
在六分K的日均線是ma(C,50);

餘類推

以上報告測試結果 謝謝您熱心協助

感恩


由 ccutmis 在 2010-04-08 11:34 發表:

引用:
最初由 mead 發表
ccutmis大大 不行ㄋㄟ
你的SP1無法固定

以三分K來說好了;在還沒到三分K時
第一個分SP1=300
第二個分SP1=150
第三個分SP1=100(此時已滿足三分鐘)

而我們要的是任何時刻;在三分K的日均線是ma(C,100);
在六分K的日均線是ma(C,50);

餘類推

以上報告測試結果 謝謝您熱心協助

感恩



不好意思,是我測試時沒考慮到分鐘線不足的情況,
這邊再加上分鐘線不足時的處理,希望合用
對了,另外有個地方請您留意...就是在開盤第一分鐘時是否正常


N:=300;
if datatype=11 or datatype<=5 then begin
OM:=OPENMINUTES(TIME);
MX:=OM-ref(OM,1); //取得當前週期
MX:=if(MX<0,ref(MX,2),MX); //修正跨日問題
MX:=if(MX<>ref(MX,1),ref(MX,2),MX); //修正分鐘線不足的問題
SP1:INTPART(N/MX),linethick0;
MA(CLOSE,SP1);
end;

{剛才測試到在加權會有點小問題,所以改了一些地方}
{測試的結果跟總版主及KV兄的結果相同}


由 mead 在 2010-04-08 14:42 發表:

引用:
最初由 ccutmis 發表
不好意思,是我測試時沒考慮到分鐘線不足的情況,
這邊再加上分鐘線不足時的處理,希望合用
對了,另外有個地方請您留意...就是在開盤第一分鐘時是否正常


N:=300;
if datatype=11 or datatype<=5 then begin
OM:=OPENMINUTES(TIME);
MX:=OM-ref(OM,1); //取得當前週期
MX:=if(MX<0,ref(MX,2),MX); //修正跨日問題
MX:=if(MX<>ref(MX,1),ref(MX,2),MX); //修正分鐘線不足的問題
SP1:INTPART(N/MX),linethick0;
MA(CLOSE,SP1);
end;

{剛才測試到在加權會有點小問題,所以改了一些地方}
{測試的結果跟總版主及KV兄的結果相同}



謝謝 明天我再測測看

感恩


由 mead 在 2010-04-09 08:51 發表:

經測試都OK了

謝謝總版主、KV156兄、ccutmis兄的熱心協助

謝謝 感恩


由 peter109 在 2010-04-09 15:54 發表:

引用:
最初由 ccutmis 發表
不好意思,是我測試時沒考慮到分鐘線不足的情況,
這邊再加上分鐘線不足時的處理,希望合用
對了,另外有個地方請您留意...就是在開盤第一分鐘時是否正常


N:=300;
if datatype=11 or datatype<=5 then begin
OM:=OPENMINUTES(TIME);
MX:=OM-ref(OM,1); //取得當前週期
MX:=if(MX<0,ref(MX,2),MX); //修正跨日問題
MX:=if(MX<>ref(MX,1),ref(MX,2),MX); //修正分鐘線不足的問題
SP1:INTPART(N/MX),linethick0;
MA(CLOSE,SP1);
end;

{剛才測試到在加權會有點小問題,所以改了一些地方}
{測試的結果跟總版主及KV兄的結果相同}



不錯唷 給您拍拍手

__________________
至誠能勝天下至偽
至拙能勝天下至巧


由 ccutmis 在 2010-04-09 19:08 發表:

引用:
最初由 peter109 發表
不錯唷 給您拍拍手


還有很多不足的地方要學習~謝謝PETER


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


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

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