奇狐社區論壇
在這個頁面顯示本主題全部的 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 發表:

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


由 cgjj 在 2010-05-25 12:15 發表:

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


開盤後指數往上走 是指開盤當根為紅K嗎?
若不是如此, 請定義的更精確些


由 ecity2005 在 2010-05-25 12:30 發表:

不好意思, 沒講清楚..
就是用八根高點或低點去決定第一個轉折點.
若第一個轉折點是出現低點, 則開盤那根K棒的最高價就當作前一個高點.
若第一個轉折點是出現高點, 則開盤那根K棒的最低價就當作前一個低點.
謝謝!


由 cgjj 在 2010-05-26 09:53 發表:

引用:
最初由 ecity2005 發表
不好意思, 沒講清楚..
就是用八根高點或低點去決定第一個轉折點.
若第一個轉折點是出現低點, 則開盤那根K棒的最高價就當作前一個高點.
若第一個轉折點是出現高點, 則開盤那根K棒的最低價就當作前一個低點.
謝謝!



您的第一個轉折點自那裡數起?, 與開盤那根有何關係呢?
建議用圖來說明會清楚些


由 ecity2005 在 2010-05-27 10:08 發表:

如附圖中, 若我想在二個高低點的平均值畫一條水平線, 則在換日時, 會抓到昨天的最後一個轉折點與今天的開盤來計算, 但我只想做日內的判斷, 如圖中, 7876與7932的均值就不計算, 只計算7832與7851的均值, 然後畫一條水平線, 直到下一個轉折點出現後, 才再重新計算均值, 畫水平線. 那我該如何處理這個換日的問題呢? 謝謝!


由 ecity2005 在 2010-05-27 10:10 發表:

另外在附圖中, 我將轉折點的數值, 若是低點則畫在該根K棒最低價-10的地方, 若是高點則畫在該根K棒最高價+10的地方, 但是我疊加K線時, 那個數值不會標示在正確的位置, 該如何處理呢? 謝謝!


由 peter109 在 2010-05-27 17:13 發表:

這樣?


X01:=REF(DATE,BARSLAST(PP=1));
X02:=REF(DATE,BARSLAST(PP=-1));

X04:=REF(H,BARSLAST(PP=1));
X05:=REF(L,BARSLAST(PP=-1));
X06:=X04-(X04-X05)/2;

PARTLINE(DATE=REF(DATE,1) AND X01=X02,X06);

或者

X01:=IF(BARSLAST(PP=1)>BARSLAST(PP=-1),BARSLAST(PP=1),BARSLAST(PP=-1));
X02:=REF(H,BARSLAST(PP=1));
X03:=REF(L,BARSLAST(PP=-1));
X04:=X02-(X02-X03)/2;

PARTLINE(X01<=100.X04);//3分週期=100根K 若使用其它週期 請自行換算

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


由 mowtua 在 2010-05-28 15:12 發表:

X01:=REF(DATE,BARSLAST(PP=1));
X02:=REF(DATE,BARSLAST(PP=-1));

X04:=REF(H,BARSLAST(PP=1));
X05:=REF(L,BARSLAST(PP=-1));
X06:=X04-(X04-X05)/2;

PARTLINE(DATE=REF(DATE,1) AND X01=X02,X06);



3秒鐘線圖


由 ecity2005 在 2010-05-28 16:41 發表:

感謝前輩們的指導, 圖上標明的數字會跑掉, 是否有方式可以固定讓低點轉折就顯示在最低點-10點的位置, 高點轉折就顯示在最高點+10的位置嗎? 我用High + 10或Low - 10, 疊加K線時, 一移動時間軸, 位置就會標示不正確. 不知是否有解, 謝謝!


由 cgjj 在 2010-05-28 17:18 發表:

引用:
最初由 ecity2005 發表
感謝前輩們的指導, 圖上標明的數字會跑掉, 是否有方式可以固定讓低點轉折就顯示在最低點-10點的位置, 高點轉折就顯示在最高點+10的位置嗎? 我用High + 10或Low - 10, 疊加K線時, 一移動時間軸, 位置就會標示不正確. 不知是否有解, 謝謝!


要對價格, K線就不能採疊加方式顯示
必須用K線實際價位來繪製

在程式最前端加入此行就可
KLINE(O,H,L,C,0); //繪製K棒


由 mori868 在 2013-11-14 12:32 發表:

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



請教
如何求得所有轉折的收盤價也就是說
1:AQ:=PP=-1 and ref(PP=1,1)的昨收
2:BQ:=PP=1 and ref(PP=-1,1)的昨收


由 cgjj 在 2013-11-14 13:56 發表:

引用:
最初由 mori868 發表
請教
如何求得所有轉折的收盤價也就是說
1:AQ:=PP=-1 and ref(PP=1,1)的昨收
2:BQ:=PP=1 and ref(PP=-1,1)的昨收



ref(C,barslast(條件)+1)


由 mori868 在 2013-11-20 11:04 發表:

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




1:每個轉折如何做 "箭頭" 記號
2:當最高最低轉折做哭臉笑臉記號
請幫忙賜教 謝謝


由 cgjj 在 2013-11-20 11:22 發表:

引用:
最初由 mori868 發表
1:每個轉折如何做 "箭頭" 記號
2:當最高最低轉折做哭臉笑臉記號
請幫忙賜教 謝謝



請自行運用 DRAWICON 去按您要的條件做符號標示


由 mori868 在 2013-11-20 11:51 發表:

引用:
最初由 cgjj 發表
請自行運用 DRAWICON 去按您要的條件做符號標示

用DRAWICON做符號標示 這是沒問題而是您的公式"已最高顯示哭臉 可是又有更高時又顯示哭臉 而前哭臉消失掉後 希望改以 "箭頭" 記號表示" 相反一同
這樣的條件是否可以在公式內修改


由 cgjj 在 2013-11-20 12:00 發表:

引用:
最初由 mori868 發表
用DRAWICON做符號標示 這是沒問題而是您的公式"已最高顯示哭臉 可是又有更高時又顯示哭臉 而前哭臉消失掉後 希望改以 "箭頭" 記號表示" 相反一同
這樣的條件是否可以在公式內修改



那段原碼並沒有顯示哭臉的功能
請不要 "莫須有" @@


由 mori868 在 2013-11-20 12:17 發表:

引用:
最初由 cgjj 發表
那段原碼並沒有顯示哭臉的功能
請不要 "莫須有" @@


對不起用詞不當 請見諒 因為了方便表達起見 也就是說公式會這樣的連動 請教如何改善
希望
位移後再留一個信號而已


由 cgjj 在 2013-11-20 12:51 發表:

引用:
最初由 mori868 發表
對不起用詞不當 請見諒 因為了方便表達起見 也就是說公式會這樣的連動 請教如何改善
希望
位移後再留一個信號而已



請參考此例做法
sp:=hhvbars(H*條件,0);
CK:=barpos=datacount-sp[datacount];
條件 and CK=1; //條件有成立,並且為成立之處最高點
條件 and CK=0; //條件有成立,但並非成立之處最高點


由 mori868 在 2013-11-20 13:27 發表:

引用:
最初由 cgjj 發表
請參考此例做法
sp:=hhvbars(H*條件,0);
CK:=barpos=datacount-sp[datacount];
條件 and CK=1; //條件有成立,並且為成立之處最高點
條件 and CK=0; //條件有成立,但並非成立之處最高點


是不是放在公式後面 沒改善
Asp:=llvbars(L*AQ1,0);
Bsp:=hhvbars(H*BQ1,0);

Ack:=barpos=datacount-Asp[datacount];
Bck:=barpos=datacount-Bsp[datacount];

Drawicon(AQ1 and Ack=1,L,1),PXDN20;
Drawicon(AQ1 and Ack=0,L,10),PXUP7;

Drawicon(BQ1 and Bck=1,H,2),PXDN10;
Drawicon(BQ1 and Bck=0,H,12),PXUP50;


由 cgjj 在 2013-11-20 13:41 發表:

引用:
最初由 mori868 發表
是不是放在公式後面 沒改善
Asp:=llvbars(L*AQ1,0);
Bsp:=hhvbars(H*BQ1,0);

Ack:=barpos=datacount-Asp[datacount];
Bck:=barpos=datacount-Bsp[datacount];

Drawicon(AQ1 and Ack=1,L,1),PXDN20;
Drawicon(AQ1 and Ack=0,L,10),PXUP7;

Drawicon(BQ1 and Bck=1,H,2),PXDN10;
Drawicon(BQ1 and Bck=0,H,12),PXUP50;



對應的 BQ1 顯示應該有改善吧, 請仔細檢查

AQ1 您是找低點, 故不能用上面的方法
AQ1 需改用下面的方法處理


Asp:=llvbars(L*AQ1,0);
改為
Asp:=llvbars(if(AQ1,L,9999999),0);


由 mori868 在 2013-11-21 04:52 發表:

您的幫忙指導 使我成長 終於悟道真理
感恩感謝


由 mori868 在 2013-11-21 11:48 發表:

引用:
最初由 cgjj 發表
對應的 BQ1 顯示應該有改善吧, 請仔細檢查

AQ1 您是找低點, 故不能用上面的方法
AQ1 需改用下面的方法處理


Asp:=llvbars(L*AQ1,0);
改為
Asp:=llvbars(if(AQ1,L,9999999),0);


Asp:=llvbars(if(AQ1,L,9999999),0)
有改沒改皆無法顯示
單獨用AQ1就可以
請教 不知那裡錯


由 cgjj 在 2013-11-21 12:32 發表:

引用:
最初由 mori868 發表
Asp:=llvbars(if(AQ1,L,9999999),0)
有改沒改皆無法顯示
單獨用AQ1就可以
請教 不知那裡錯



一定會有的, 測試過沒問題唷
請把K線圖縮到最小檢視

PXUP50 是偏移50個像素, 可能把符號偏移到顯示區域外
建議改少一點

若仍看不到, 請拖動垂直軸往上拉, 即可看到


由 mori868 在 2014-01-27 10:10 發表:

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




請教
1:以前在使用時今信號顯示前信號才消失 皆沒問題
2: 為何今天在15分鐘線開盤前三支K線信號會消失掉
請幫忙賜教 謝謝


由 cgjj 在 2014-01-27 10:32 發表:

引用:
最初由 mori868 發表
請教
1:以前在使用時今信號顯示前信號才消失 皆沒問題
2: 為何今天在15分鐘線開盤前三支K線信號會消失掉
請幫忙賜教 謝謝



規則決定一切

因為該公式包含有 refx ( refx 會引用未來)


由 mori868 在 2014-01-27 11:17 發表:

引用:
最初由 cgjj 發表
規則決定一切

因為該公式包含有 refx ( refx 會引用未來)


請教
我已棄掉 refx 又重開機了所有信號都沒改變 為何之前消失的信號沒有顯示呢


由 cgjj 在 2014-01-27 12:04 發表:

引用:
最初由 mori868 發表
請教
我已棄掉 refx 又重開機了所有信號都沒改變 為何之前消失的信號沒有顯示呢



這個部分的規則也是會影響的

if BlkSW[i] or i=datacount then begin

把紅字刪除應該就能如您所想的


警告!!!
在不了解 "原先定義規則的用意" 之前提下
不建議您去修改規則, 更不建議您去使用它


由 mori868 在 2014-01-27 12:58 發表:

引用:
最初由 cgjj 發表
這個部分的規則也是會影響的

if BlkSW[i] or i=datacount then begin

把紅字刪除應該就能如您所想的


警告!!!
在不了解 "原先定義規則的用意" 之前提下
不建議您去修改規則, 更不建議您去使用它


謝謝 已修改好了 待日後驗證


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


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

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