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

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


由 ecity2005 在 2010-05-16 10:55 發表:

[求救]日內的轉折點

各位前輩, 小弟剛接觸到奇狐, 有一個問題想請教各位前輩, 希望前輩們不吝指導, 謝謝!

小弟想要尋找今日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);


由 cgjj 在 2010-05-17 11:54 發表:

回覆: [求救]日內的轉折點

引用:
最初由 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棒的低點或高點 來定義
就可能會有 高高高低低高高低低低高高..... 這種狀況
不會是 高低高低高低高低高低....
除非您只留連續的首訊


由 ecity2005 在 2010-05-18 21:52 發表:

小弟把目前的圖貼上來, 如圖中的7755, 7764都是符合八根K棒的高點, 但我想要是只取7764, 因為這二者中間沒有符合八根K棒的低點出現. 不知小弟該如何修改呢? 謝謝!


由 cgjj 在 2010-05-19 10:20 發表:

引用:
最初由 ecity2005 發表
小弟把目前的圖貼上來, 如圖中的7755, 7764都是符合八根K棒的高點, 但我想要是只取7764, 因為這二者中間沒有符合八根K棒的低點出現. 不知小弟該如何修改呢? 謝謝!


沒到 7764 前, 程式抓的會是 7755

那麼碰到 7754, 7765 您要取何者呢?
是以 "較後發生" 的規則取 7765 嗎?
還是以 "較高" 的規則取 7765 嗎?


由 ecity2005 在 2010-05-19 10:30 發表:

取較高的點, 來當成高點. 謝謝!


由 cgjj 在 2010-05-19 19:01 發表:

引用:
最初由 ecity2005 發表
取較高的點, 來當成高點. 謝謝!


原碼:

IsHighValue 
:= Ref(H1) > Ref(H9) && Ref(H1) > Ref(H8) && Ref(H1) > Ref(H7) && Ref(H1) > Ref(H6) && Ref(H1) > Ref(H5) && Ref(H1) > Ref(H4) && Ref(H1) > Ref(H3) && Ref(H1) > Ref(H2) && Ref(H1);
IsHighValue :=refx(IsHighValue,1);
IsLowValue := Ref(L1) < Ref(L9) && Ref(L1) < Ref(L8) && Ref(L1) < Ref(L7) && Ref(L1) < Ref(L6) && Ref(L1) < Ref(L5) && Ref(L1) < Ref(L4) && Ref(L1) < Ref(L3) && Ref(L1) < Ref(L2) && Ref(L1);
IsLowValue :=refx(IsLowValue ,1);
CK:=IsHighValue-IsLowValue;
BLK:=ref(CK,barslast(CK<>0));
BlkSW:=BLK<>ref(BLK,1) or barpos=0;
HH:=HLL:=L
MaxHP:=0MinLP:=0PP:=C*0;
for 
i=lbound(BLKto 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:=0MinLP:=0;
  
end;
  if 
BLK[i]=and CK[i]=1 then begin
    
if MaxHP=0 then MaxHP:=i;
    if 
HH[i]>HH[MaxHPthen MaxHP:=i;
  
end else if BLK[i]=-and CK[i]=-1 then begin
    
if MinLP=0 then MinLP:=i;
    if 
LL[i]<LL[MinLPthen MinLP:=i;
  
end;
end;
DrawNumber(PP=1High+10High0);
DrawNumber(PP=-1Low-10Low0);


由 mowtua 在 2010-05-20 20:09 發表:

謝謝總版主的分享


由 mowtua 在 2010-05-20 20:29 發表:

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
的參數是否有較簡單寫法

謝謝 總版主的指導


由 mowtua 在 2010-05-20 20:38 發表:

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);


由 ecity2005 在 2010-05-20 22:12 發表:

謝謝總版主及mowtua的回應, 小弟想再問一個問題, 若想像mowtua的圖中, 在高點及低點的中間值畫一條線, 該如何畫呢? 謝謝!


由 cgjj 在 2010-05-21 08:59 發表:

引用:
最初由 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);


由 mori868 在 2010-05-21 09:59 發表:

引用:
最初由 cgjj 發表
原碼:

IsHighValue 
:= Ref(H1) > Ref(H9) && Ref(H1) > Ref(H8) && Ref(H1) > Ref(H7) && Ref(H1) > Ref(H6) && Ref(H1) > Ref(H5) && Ref(H1) > Ref(H4) && Ref(H1) > Ref(H3) && Ref(H1) > Ref(H2) && Ref(H1);
IsHighValue :=refx(IsHighValue,1);
IsLowValue := Ref(L1) < Ref(L9) && Ref(L1) < Ref(L8) && Ref(L1) < Ref(L7) && Ref(L1) < Ref(L6) && Ref(L1) < Ref(L5) && Ref(L1) < Ref(L4) && Ref(L1) < Ref(L3) && Ref(L1) < Ref(L2) && Ref(L1);
IsLowValue :=refx(IsLowValue ,1);
CK:=IsHighValue-IsLowValue;
BLK:=ref(CK,barslast(CK<>0));
BlkSW:=BLK<>ref(BLK,1) or barpos=0;
HH:=HLL:=L
MaxHP:=0MinLP:=0PP:=C*0;
for 
i=lbound(BLKto 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:=0MinLP:=0;
  
end;
  if 
BLK[i]=and CK[i]=1 then begin
    
if MaxHP=0 then MaxHP:=i;
    if 
HH[i]>HH[MaxHPthen MaxHP:=i;
  
end else if BLK[i]=-and CK[i]=-1 then begin
    
if MinLP=0 then MinLP:=i;
    if 
LL[i]<LL[MinLPthen MinLP:=i;
  
end;
end;
DrawNumber(PP=1High+10High0);
DrawNumber(PP=-1Low-10Low0);




如何畫高低線如 "mowtua 附帶上了此圖片" 一樣 請賜教 謝謝


由 cgjj 在 2010-05-21 10:34 發表:

引用:
最初由 ecity2005 發表
謝謝總版主及mowtua的回應, 小弟想再問一個問題, 若想像mowtua的圖中, 在高點及低點的中間值畫一條線, 該如何畫呢? 謝謝!

引用:
最初由 mori868 發表
如何畫高低線如 "mowtua 附帶上了此圖片" 一樣 請賜教 謝謝


這問題應該去請教 mowtua 較為恰當唷
基於尊重立場, 我們選擇拒絕回應


由 mori868 在 2010-05-21 11:42 發表:

引用:
最初由 cgjj 發表
這問題應該去請教 mowtua 較為恰當唷
基於尊重立場, 我們選擇拒絕回應


會錯意了  我希望將您所寫的公式顯示兩條階梯線與mowtua所畫 ”的方式” 一樣而已  這樣不會您想的那樣嚴重罷 


由 ecity2005 在 2010-05-24 21:14 發表:

小弟已經把高低點的中點找出來了, 想要再請問總版主, 若換日後, 高低點要重算, 若開盤後指數往上走, 則開盤第一根的最低價為相對低點, 若指數往下走, 則開盤第一根的最高價為相對高點, 這樣程式該如何修改呢? 謝謝!


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


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

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