奇狐社區論壇
在這個頁面顯示本主題全部的 12 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請問指標寫法5ma (http://www.chiefox.com.tw/bbs/showthread.php?threadid=13616)


由 yurou.chen 在 2010-05-13 21:51 發表:

請問指標寫法5ma

當5ma由上往下,取該K棒高點劃一水平線直到未來被k棒穿越,當5ma由下往上取該K棒低點劃一水平線直到未來被K棒穿越,請問應該如何寫呢


由 hwyhon 在 2010-05-14 12:12 發表:

希望有合意

a:ma(c,5)COLORWHITE;
Ha:=if(a>ref(a,1) and a>refx(a,1),h,0);
La:=if(a<ref(a,1) and a<refx(a,1),L,0);
Hc:=if(CROSS(H,ref(Ha,BARSLAST(Ha))) and H>ref(Ha,BARSLAST(Ha)),ref(Ha,BARSLAST(Ha)),if(ref(Ha,1) and h>ref(Ha,1),ref(Ha,1),0));
Lc:=if(CROSS(ref(La,BARSLAST(La)),L) and L<ref(La,BARSLAST(La)),ref(La,BARSLAST(La)),if(ref(La,1) and L<ref(La,1),ref(La,1),0));
DRAWLINE(Ha,Ha,Hc,Hc,0)COLORRED;
DRAWLINE(La,La,Lc,Lc,0)COLORGREEN;



======================================

a:ma(c,5)COLORWHITE;
Ha:=if(a>ref(a,1) and a>refx(a,1),h,0);
La:=if(a<ref(a,1) and a<refx(a,1),L,0);
a1:=ref(Ha,BARSLAST(Ha));
a2:=ref(La,BARSLAST(La));
Hc:=if(CROSS(H,a1) and H>a1,a1,if(ref(Ha,1) and h>ref(Ha,1),ref(Ha,1),0));
Lc:=if(CROSS(a2,L) and L<a2,a2,if(ref(La,1) and L<ref(La,1),ref(La,1),0));
DRAWLINE(Ha,Ha,Hc,Hc,0)COLORRED;
DRAWLINE(La,La,Lc,Lc,0)COLORGREEN;
===========================================

順請問版主
這兩個哪個跑得快

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易



由 yurou.chen 在 2010-05-14 15:18 發表:

謝謝

不過有點不太吻合我的原意,我的初想是5ma一轉折就開始畫線,一直畫一直畫,畫到被K棒穿越。
而大大你幫忙的程式是被K棒穿越之後才畫線。


由 cgjj 在 2010-05-14 18:34 發表:

回覆: 請問指標寫法5ma

引用:
最初由 yurou.chen 發表
當5ma由上往下,取該K棒高點劃一水平線直到未來被k棒穿越,當5ma由下往上取該K棒低點劃一水平線直到未來被K棒穿越,請問應該如何寫呢


以高點處理為例, 提供參考
原碼:

MA5
:MA(C,5);
HCK:=ref(MA5,1)>MA5;
HCK:=HCK and (ref(HCK,1)=or barpos=lbound(MA5)+1);
HH:=HHLEN:=C*0;
for 
i=lbound(MA5)+1 to datacount do begin
  
if HCK[ithen begin
    
for j=i+1 to datacount do begin
      
if HH[j]>HH[ithen begin
        HLEN
[i]:=j-i; break;
      
end;
    
end;
  
end;
end;
DRAWSL(HLEN>0,H,0,HLEN,3);


由 hwyhon 在 2010-05-14 18:36 發表:

引用:
最初由 yurou.chen 發表
謝謝

不過有點不太吻合我的原意,我的初想是5ma一轉折就開始畫線,一直畫一直畫,畫到被K棒穿越。
而大大你幫忙的程式是被K棒穿越之後才畫線。




多了新語法的選則真方便
若不打回圈以樓上中間兩行改這樣就行了


Hc:=if(CROSS(H,a1) and H>a1,a1,if(ref(Ha,1) and h>ref(Ha,1),ref(Ha,1),if(ISLASTBAR,a1,0)));
Lc:=if(CROSS(a2,L) and L<a2,a2,if(ref(La,1) and L<ref(La,1),ref(La,1),if(ISLASTBAR,a2,0)));

__________________

就是發蓊梨(ㄛㄥˇ ㄌㄞˊ) 程式交易網站
[教學]指標公式及程式交易系統撰寫 [代工]

學會指標策略程式化的撰寫,將可讓你不再盲目投下辛苦賺來的血汗錢
要知道交易的策略或交易的模式長期執行下確實可獲利
交易才有意義的.否則寧可不交易



由 cgjj 在 2010-05-14 18:47 發表:

引用:
最初由 hwyhon 發表
希望有合意

a:ma(c,5)COLORWHITE;
Ha:=if(a>ref(a,1) and a>refx(a,1),h,0);
La:=if(a<ref(a,1) and a<refx(a,1),L,0);
Hc:=if(CROSS(H,ref(Ha,BARSLAST(Ha))) and H>ref(Ha,BARSLAST(Ha)),ref(Ha,BARSLAST(Ha)),if(ref(Ha,1) and h>ref(Ha,1),ref(Ha,1),0));
Lc:=if(CROSS(ref(La,BARSLAST(La)),L) and L<ref(La,BARSLAST(La)),ref(La,BARSLAST(La)),if(ref(La,1) and L<ref(La,1),ref(La,1),0));
DRAWLINE(Ha,Ha,Hc,Hc,0)COLORRED;
DRAWLINE(La,La,Lc,Lc,0)COLORGREEN;



======================================

a:ma(c,5)COLORWHITE;
Ha:=if(a>ref(a,1) and a>refx(a,1),h,0);
La:=if(a<ref(a,1) and a<refx(a,1),L,0);
a1:=ref(Ha,BARSLAST(Ha));
a2:=ref(La,BARSLAST(La));
Hc:=if(CROSS(H,a1) and H>a1,a1,if(ref(Ha,1) and h>ref(Ha,1),ref(Ha,1),0));
Lc:=if(CROSS(a2,L) and L<a2,a2,if(ref(La,1) and L<ref(La,1),ref(La,1),0));
DRAWLINE(Ha,Ha,Hc,Hc,0)COLORRED;
DRAWLINE(La,La,Lc,Lc,0)COLORGREEN;
===========================================

順請問版主
這兩個哪個跑得快



單就這兩段來看, 後者會快些
因為少了許多個 BARSLAST


由 yurou.chen 在 2010-05-16 23:55 發表:

引用:
最初由 hwyhon 發表
多了新語法的選則真方便
若不打回圈以樓上中間兩行改這樣就行了


Hc:=if(CROSS(H,a1) and H>a1,a1,if(ref(Ha,1) and h>ref(Ha,1),ref(Ha,1),if(ISLASTBAR,a1,0)));
Lc:=if(CROSS(a2,L) and L<a2,a2,if(ref(La,1) and L<ref(La,1),ref(La,1),if(ISLASTBAR,a2,0)));




太厲害了,不用迴圈。
不過,只能顯示最近期的最後兩條水平線
but歷史線圖上沒被穿越的都還是無法顯示

上述這想法,這可以用類似cg大大的用法,來套用bound的for來count 條件成立時drawline的length呢? 我有概念,但是寫不出來= =因為包含了value array的運算 XD


由 yurou.chen 在 2010-06-28 12:47 發表:

cgjj大大,
拜託再幫幫忙,上述兩個程式都無法很準確地抓到ma5的高低點。
準確清晰的說明一次
1. 抓到ma5的波峰波谷,向右畫線
2. 當畫線被即時K線穿越or跌破時,就畫線到該K線處
3.歷史中沒有被穿越跌破的仍然是一直向右畫線的,螢幕上仍然是繼續顯示的

以上說明,請幫幫忙


由 cgjj 在 2010-06-28 15:59 發表:

引用:
最初由 yurou.chen 發表
ccgg大大,
拜託再幫幫忙,上述兩個程式都無法很準確地抓到ma5的高低點。
準確清晰的說明一次
1. 抓到ma5的波峰波谷,向右畫線
2. 當畫線被即時K線穿越or跌破時,就畫線到該K線處
3.歷史中沒有被穿越跌破的仍然是一直向右畫線的,螢幕上仍然是繼續顯示的

以上說明,請幫幫忙



您前面說的是 "取該K棒高點劃一水平線"
現說的是 ma5的波峰波谷向右畫線

您是要取該點的 MA5 值畫, 還是取該點的高價畫呀?


由 yurou.chen 在 2010-06-28 16:36 發表:

微笑

sorry,沒說清楚,是波峰波谷的那個K棒。
請版大幫幫

這個在讓我根據各位階5ma趨勢的高低頓點,來做觀察,也可以取浪取箱取指標區間來觀察強弱。


由 cgjj 在 2010-06-28 17:37 發表:

引用:
最初由 yurou.chen 發表
sorry,沒說清楚,是波峰波谷的那個K棒。
請版大幫幫

這個在讓我根據各位階5ma趨勢的高低頓點,來做觀察,也可以取浪取箱取指標區間來觀察強弱。



高點處理範例:

原碼:

MA5
:MA(C,5);
HCKMA5>ref(MA5,1) and MA5>refx(MA5,1linethick;
HH:=HHLEN:C*0 linethick;
for 
i=lbound(HCK)+1 to datacount do begin
  
if HCK[ithen begin
    
for j=i+1 to datacount do begin
      HLEN
[i]:=HLEN[i]+1;
      if 
HH[j]>HH[ithen break;
    
end;
  
end;
end;
DRAWSL(HLEN>0,H,0,HLEN,3);


由 yurou.chen 在 2010-07-13 12:41 發表:

明白了,原來每個H都畫線,只是條件成立畫出計算的len,條件不成立畫0


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


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

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