 |
ecity2005
初級會員
註冊日期: May 2010
來 自:
文章數量: 20 |
[求救]日內的轉折點
各位前輩, 小弟剛接觸到奇狐, 有一個問題想請教各位前輩, 希望前輩們不吝指導, 謝謝!
小弟想要尋找今日K線到目前為止的前二個轉折點(一個高點, 一個低點), 這二個點並不一定是目前的最高點與最低點, 轉折的判斷, 要該點是創八根K棒的低點或高點, 小弟寫出來的公式會出現連續二個高點或低點, 但小弟想要找出一高, 一低相間隔, 不知該如何修改, 望各位前輩能給予指導, 謝謝!
IsHighValue := Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
DrawNumber(Refx(IsHighValue, 1), High + 10, High, 0);
IsLowValue := Ref(L, 1) < Ref(L, 9) && Ref(L, 1) < Ref(L, 8) && Ref(L, 1) < Ref(L, 7) && Ref(L, 1) < Ref(L, 6) && Ref(L, 1) < Ref(L, 5) && Ref(L, 1) < Ref(L, 4) && Ref(L, 1) < Ref(L, 3) && Ref(L, 1) < Ref(L, 2) && L > Ref(L, 1);
DrawNumber(Refx(IsLowValue, 1), Low - 10, Low, 0);
|
|
向版主報告此篇 |  |
|
2010-05-16 10:55 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18191 |
回覆: [求救]日內的轉折點
引用: 最初由 ecity2005 發表
各位前輩, 小弟剛接觸到奇狐, 有一個問題想請教各位前輩, 希望前輩們不吝指導, 謝謝!
小弟想要尋找今日K線到目前為止的前二個轉折點(一個高點, 一個低點), 這二個點並不一定是目前的最高點與最低點, 轉折的判斷, 要該點是創八根K棒的低點或高點, 小弟寫出來的公式會出現連續二個高點或低點, 但小弟想要找出一高, 一低相間隔, 不知該如何修改, 望各位前輩能給予指導, 謝謝!
IsHighValue := Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
DrawNumber(Refx(IsHighValue, 1), High + 10, High, 0);
IsLowValue := Ref(L, 1) < Ref(L, 9) && Ref(L, 1) < Ref(L, 8) && Ref(L, 1) < Ref(L, 7) && Ref(L, 1) < Ref(L, 6) && Ref(L, 1) < Ref(L, 5) && Ref(L, 1) < Ref(L, 4) && Ref(L, 1) < Ref(L, 3) && Ref(L, 1) < Ref(L, 2) && L > Ref(L, 1);
DrawNumber(Refx(IsLowValue, 1), Low - 10, Low, 0);
若以 創八根K棒的低點或高點 來定義
就可能會有 高高高低低高高低低低高高..... 這種狀況
不會是 高低高低高低高低高低....
除非您只留連續的首訊
|
|
向版主報告此篇 |  |
|
2010-05-17 11:54 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18191 |
引用: 最初由 ecity2005 發表
取較高的點, 來當成高點. 謝謝!
原碼:
IsHighValue := Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
IsHighValue :=refx(IsHighValue,1);
IsLowValue := Ref(L, 1) < Ref(L, 9) && Ref(L, 1) < Ref(L, 8) && Ref(L, 1) < Ref(L, 7) && Ref(L, 1) < Ref(L, 6) && Ref(L, 1) < Ref(L, 5) && Ref(L, 1) < Ref(L, 4) && Ref(L, 1) < Ref(L, 3) && Ref(L, 1) < Ref(L, 2) && L > Ref(L, 1);
IsLowValue :=refx(IsLowValue ,1);
CK:=IsHighValue-IsLowValue;
BLK:=ref(CK,barslast(CK<>0));
BlkSW:=BLK<>ref(BLK,1) or barpos=0;
HH:=H; LL:=L;
MaxHP:=0; MinLP:=0; PP:=C*0;
for i=lbound(BLK) to datacount do begin
if BlkSW[i] or i=datacount then begin
if MaxHP>0 then PP[MaxHP]:=1;
if MinLP>0 then PP[MinLP]:=-1;
MaxHP:=0; MinLP:=0;
end;
if BLK[i]=1 and CK[i]=1 then begin
if MaxHP=0 then MaxHP:=i;
if HH[i]>HH[MaxHP] then MaxHP:=i;
end else if BLK[i]=-1 and CK[i]=-1 then begin
if MinLP=0 then MinLP:=i;
if LL[i]<LL[MinLP] then MinLP:=i;
end;
end;
DrawNumber(PP=1, High+10, High, 0);
DrawNumber(PP=-1, Low-10, Low, 0);
|
|
向版主報告此篇 |  |
|
2010-05-19 19:01 |
|
|
|  |
 |
mowtua
中級會員
註冊日期: Dec 2005
來 自:
文章數量: 55 |
IsHighValue := Ref(H, 1) > Ref(H, 21) && Ref(H, 1) > Ref(H, 20) && Ref(H, 1) > Ref(H, 19) && Ref(H, 1) > Ref(H, 18) && Ref(H, 1) > Ref(H, 17) && Ref(H, 1) > Ref(H, 16) && Ref(H, 1) > Ref(H, 15) && Ref(H, 1) > Ref(H, 14) && Ref(H, 1) > Ref(H, 13) && Ref(H, 1) > Ref(H, 12) && Ref(H, 1) > Ref(H, 11) && Ref(H, 1) > Ref(H, 10) && Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
Ref(H, 1) > Ref(H, 21) &&如需加長34,55,89
的參數是否有較簡單寫法
謝謝 總版主的指導
|
|
向版主報告此篇 |  |
|
2010-05-20 20:29 |
|
|
|  |
 |
mowtua
中級會員
註冊日期: Dec 2005
來 自:
文章數量: 55 |
IsHighValue := Ref(H, 1) > Ref(H, 21) && Ref(H, 1) > Ref(H, 20) && Ref(H, 1) > Ref(H, 19) && Ref(H, 1) > Ref(H, 18) && Ref(H, 1) > Ref(H, 17) && Ref(H, 1) > Ref(H, 16) && Ref(H, 1) > Ref(H, 15) && Ref(H, 1) > Ref(H, 14) && Ref(H, 1) > Ref(H, 13) && Ref(H, 1) > Ref(H, 12) && Ref(H, 1) > Ref(H, 11) && Ref(H, 1) > Ref(H, 10) && Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
mowtua 附帶上了此圖片:
|
|
向版主報告此篇 |  |
|
2010-05-20 20:38 |
|
|
|  |
 |
ecity2005
初級會員
註冊日期: May 2010
來 自:
文章數量: 20 |
謝謝總版主及mowtua的回應, 小弟想再問一個問題, 若想像mowtua的圖中, 在高點及低點的中間值畫一條線, 該如何畫呢? 謝謝!
|
|
向版主報告此篇 |  |
|
2010-05-20 22:12 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18191 |
引用: 最初由 mowtua 發表
IsHighValue := Ref(H, 1) > Ref(H, 21) && Ref(H, 1) > Ref(H, 20) && Ref(H, 1) > Ref(H, 19) && Ref(H, 1) > Ref(H, 18) && Ref(H, 1) > Ref(H, 17) && Ref(H, 1) > Ref(H, 16) && Ref(H, 1) > Ref(H, 15) && Ref(H, 1) > Ref(H, 14) && Ref(H, 1) > Ref(H, 13) && Ref(H, 1) > Ref(H, 12) && Ref(H, 1) > Ref(H, 11) && Ref(H, 1) > Ref(H, 10) && Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
Ref(H, 1) > Ref(H, 21) &&如需加長34,55,89
的參數是否有較簡單寫法
謝謝 總版主的指導
//以這段舉例
IsHighValue : Ref(H, 1) > Ref(H, 21) && Ref(H, 1) > Ref(H, 20) && Ref(H, 1) > Ref(H, 19) && Ref(H, 1) > Ref(H, 18) && Ref(H, 1) > Ref(H, 17) && Ref(H, 1) > Ref(H, 16) && Ref(H, 1) > Ref(H, 15) && Ref(H, 1) > Ref(H, 14) && Ref(H, 1) > Ref(H, 13) && Ref(H, 1) > Ref(H, 12) && Ref(H, 1) > Ref(H, 11) && Ref(H, 1) > Ref(H, 10) && Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
//可簡化為
IsHighValue : ref(H,1)>ref(hhv(H,20),2) and H<ref(H,1);
|
|
向版主報告此篇 |  |
|
2010-05-21 08:59 |
|
|
|  |
 |
mori868
資深會員
註冊日期: Jan 2004
來 自:
文章數量: 1048 |
引用: 最初由 cgjj 發表
原碼:
IsHighValue := Ref(H, 1) > Ref(H, 9) && Ref(H, 1) > Ref(H, 8) && Ref(H, 1) > Ref(H, 7) && Ref(H, 1) > Ref(H, 6) && Ref(H, 1) > Ref(H, 5) && Ref(H, 1) > Ref(H, 4) && Ref(H, 1) > Ref(H, 3) && Ref(H, 1) > Ref(H, 2) && H < Ref(H, 1);
IsHighValue :=refx(IsHighValue,1);
IsLowValue := Ref(L, 1) < Ref(L, 9) && Ref(L, 1) < Ref(L, 8) && Ref(L, 1) < Ref(L, 7) && Ref(L, 1) < Ref(L, 6) && Ref(L, 1) < Ref(L, 5) && Ref(L, 1) < Ref(L, 4) && Ref(L, 1) < Ref(L, 3) && Ref(L, 1) < Ref(L, 2) && L > Ref(L, 1);
IsLowValue :=refx(IsLowValue ,1);
CK:=IsHighValue-IsLowValue;
BLK:=ref(CK,barslast(CK<>0));
BlkSW:=BLK<>ref(BLK,1) or barpos=0;
HH:=H; LL:=L;
MaxHP:=0; MinLP:=0; PP:=C*0;
for i=lbound(BLK) to datacount do begin
if BlkSW[i] or i=datacount then begin
if MaxHP>0 then PP[MaxHP]:=1;
if MinLP>0 then PP[MinLP]:=-1;
MaxHP:=0; MinLP:=0;
end;
if BLK[i]=1 and CK[i]=1 then begin
if MaxHP=0 then MaxHP:=i;
if HH[i]>HH[MaxHP] then MaxHP:=i;
end else if BLK[i]=-1 and CK[i]=-1 then begin
if MinLP=0 then MinLP:=i;
if LL[i]<LL[MinLP] then MinLP:=i;
end;
end;
DrawNumber(PP=1, High+10, High, 0);
DrawNumber(PP=-1, Low-10, Low, 0);
如何畫高低線如 "mowtua 附帶上了此圖片" 一樣 請賜教 謝謝
|
|
向版主報告此篇 |  |
|
2010-05-21 09:59 |
|
|
|  |
 |
ecity2005
初級會員
註冊日期: May 2010
來 自:
文章數量: 20 |
小弟已經把高低點的中點找出來了, 想要再請問總版主, 若換日後, 高低點要重算, 若開盤後指數往上走, 則開盤第一根的最低價為相對低點, 若指數往下走, 則開盤第一根的最高價為相對高點, 這樣程式該如何修改呢? 謝謝!
|
|
向版主報告此篇 |  |
|
2010-05-24 21:14 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|