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

註冊日期: Sep 2010
來  自: 桃園
文章數量: 81

程式寫作中的問題

請教總版主:
1.如何取得,比REF(H,1)更大之H值(5天內或全部K棒值範圍內)及取得當根K棒之距離?
2.由距離之當根K棒向前取得TROUGH(2,0.09,1)之值?

我已經想過很多種方式,仍未解出。
請多指教

1.NN:=BARSLAST(H>ref(H,1));
HH1:=HHVBARS(H,NN);

2.FL1:=TROUGH(2,0.09,1);
FLH:=REF(FL1,HH1);

是否是錯誤之取法?

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

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

回覆: 程式寫作中的問題

引用:
最初由 sunnyjboy1960 發表
如何取得,比REF(H,1)更大之H值(5天內或全部K棒值範圍內)及取得當根K棒之距離?


PP 就是您要的距離(全部K棒值範圍內,傳回最接近的)

原碼:

HH
:=HPP:C*0;
for 
i=2 to datacount do begin
  TempH
:=HH[i-1]; PP[i]:=-1;
  for 
j=i-2 downto 1 do begin
    
if HH[j]>TempH then begin
      PP
[i]:=i-j; break;
    
end;
  
end;
end;

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

註冊日期: Sep 2010
來  自: 桃園
文章數量: 81

壓力支撐--細部修正,尚未全部完成,抓bug中

感謝指導,我在導入程式並修改成:
1. 查找過去壓力:
⑴向前找比本根K棒H更大之H值(FHH)(全部K棒值範圍內)及取得當根K棒之距離(PPH)?
⑵以FHH與近高點相比較,L<前高,H>前高時,突破前高,續漲時,下根K棒壓力向前取前較高K棒之FH1
⑶HHH1為各波向上漲之壓力值。
2. 下跌找支撐:
⑴向前找比本根K棒L更低之L值(FLL)(全部K棒值範圍內)及取得當根K棒之距離(PPL)?
⑵以FLL與近高點相比較,H>前低,L<前低時,跌破前低,續跌時,下根K棒壓力向前取前較低K棒之FL1
⑶LLL1為各波向下跌之支撐值。
上漲之壓力值在各點驗證大致均正確,
但是下跌支撐的L值在只到前低點相同時,支撐值就出現錯誤並向下跳一級,是否有那一個據數取錯了?

後面附上結果圖二張,第一張為正常圖,第二張為反轉圖

FH1:=PEAK(1,0.015,1)LINETHICK1,Colorff40ff,LINEDOT;
HH:=H; PPH:C*0;
for i=1 to datacount do begin TempH:=HH[i]; PPH[i]:=-1;{HH[i-1]}
for j=i-1 downto 1 do begin if HH[j]>TempH then begin PPH[i]:=i-j; break; end; end;
end;
FHH:=IF(REF(H,1)=FH1,FH1,REF(FH1,PPH));
HHH1:IF((REF(H,1)>FH1 AND REF(L,1)<REF(FH1,1)) OR (REF(H,1)>REF(FH1,1)),FHH,FH1) LINETHICK3,ColorBLUE,LINEDOT;

FL1:TROUGH(2,0.015,1) LINETHICK1,ColorGREEN,LINEDOT;
LL:=L; PPL:C*0;
for x=1 to datacount do begin TempL:=LL[x]; PPL[x]:=-1;{LL[x-1]}
for y=x-1 downto 1 do begin if LL[j]<TempL then begin PPL[x]:=x-y; break; end; end;
end;

FLL:=IF(REF(L,1)=FL1,FL1,REF(FL1,PPL));
LLL1:IF((REF(L,1)<FL1 AND REF(H,1)>REF(FL1,1)) OR (REF(L,1)<REF(FL1,1)),FLL,FL1)LINETHICK3,ColorGREEN,LINEDOT;

sunnyjboy1960 附帶上了此圖片:

最後由 sunnyjboy1960 在 2011-06-10 03:49 編輯 向版主報告此篇 | 查IP位址
Old Post 2011-06-10 03:44
sunnyjboy1960 現在離線 點選這裡查看 sunnyjboy1960 的個人資料 點選這裡給 sunnyjboy1960 傳送一條短訊 查找更多關於 sunnyjboy1960 的文章 增加 sunnyjboy1960 至你的好友列表 編輯/刪除訊息 引用回覆
sunnyjboy1960
中級會員

註冊日期: Sep 2010
來  自: 桃園
文章數量: 81

第二張反轉圖

第二張反轉圖,可以看得比較明確

sunnyjboy1960 附帶上了此圖片:

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

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

回覆: 壓力支撐--細部修正,尚未全部完成,抓bug中

引用:
最初由 sunnyjboy1960 發表
感謝指導,我在導入程式並修改成:
1. 查找過去壓力:
⑴向前找比本根K棒H更大之H值(FHH)(全部K棒值範圍內)及取得當根K棒之距離(PPH)?
⑵以FHH與近高點相比較,L<前高,H>前高時,突破前高,續漲時,下根K棒壓力向前取前較高K棒之FH1
⑶HHH1為各波向上漲之壓力值。
2. 下跌找支撐:
⑴向前找比本根K棒L更低之L值(FLL)(全部K棒值範圍內)及取得當根K棒之距離(PPL)?
⑵以FLL與近高點相比較,H>前低,L<前低時,跌破前低,續跌時,下根K棒壓力向前取前較低K棒之FL1
⑶LLL1為各波向下跌之支撐值。
上漲之壓力值在各點驗證大致均正確,
但是下跌支撐的L值在只到前低點相同時,支撐值就出現錯誤並向下跳一級,是否有那一個據數取錯了?

後面附上結果圖二張,第一張為正常圖,第二張為反轉圖

FH1:=PEAK(1,0.015,1)LINETHICK1,Colorff40ff,LINEDOT;
HH:=H; PPH:C*0;
for i=1 to datacount do begin TempH:=HH[i]; PPH[i]:=-1;{HH[i-1]}
for j=i-1 downto 1 do begin if HH[j]>TempH then begin PPH[i]:=i-j; break; end; end;
end;
FHH:=IF(REF(H,1)=FH1,FH1,REF(FH1,PPH));
HHH1:IF((REF(H,1)>FH1 AND REF(L,1)<REF(FH1,1)) OR (REF(H,1)>REF(FH1,1)),FHH,FH1) LINETHICK3,ColorBLUE,LINEDOT;

FL1:TROUGH(2,0.015,1) LINETHICK1,ColorGREEN,LINEDOT;
LL:=L; PPL:C*0;
for x=1 to datacount do begin TempL:=LL[x]; PPL[x]:=-1;{LL[x-1]}
for y=x-1 downto 1 do begin if LL[j]<TempL then begin PPL[x]:=x-y; break; end; end;
end;

FLL:=IF(REF(L,1)=FL1,FL1,REF(FL1,PPL));
LLL1:IF((REF(L,1)<FL1 AND REF(H,1)>REF(FL1,1)) OR (REF(L,1)<REF(FL1,1)),FLL,FL1)LINETHICK3,ColorGREEN,LINEDOT;



問題應該在(紅字)
for y=x-1 downto 1 do begin
if LL[j]<TempL then begin PPL[x]:=x-y; break;
end

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

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們