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

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


由 joe638tw 在 2010-01-16 11:15 發表:

想寫一個追蹤型停止單

目前已經寫一個追蹤型停止單,用3倍ATR真實平均區間作為目前買單的出場點。目前寫的程式如下。

{Average True Range , ATR , 平均真實波幅}
{做多追蹤型停止點}
TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR,N);
I:=CLOSE-ATR*3;
LOWER:HHV(I,30),COLORGREEN;



問題是如何將我的停損考慮進去。停損設買價的下方2倍ATR,則出場價就是停損價以及追蹤型停止單的二者取其高。謝謝!


由 cgjj 在 2010-01-18 11:57 發表:

回覆: 想寫一個追蹤型停止單

引用:
最初由 joe638tw 發表
目前已經寫一個追蹤型停止單,用3倍ATR真實平均區間作為目前買單的出場點。目前寫的程式如下。

{Average True Range , ATR , 平均真實波幅}
{做多追蹤型停止點}
TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:MA(TR,N);
I:=CLOSE-ATR*3;
LOWER:HHV(I,30),COLORGREEN;



問題是如何將我的停損考慮進去。停損設買價的下方2倍ATR,則出場價就是停損價以及追蹤型停止單的二者取其高。謝謝!



這段公式沒決定買點的條件
在無法確認買價的情況下, 是無法做停損的
麻煩請完整描述, 謝謝!


由 joe638tw 在 2010-01-18 13:03 發表:

回覆: 回覆: 想寫一個追蹤型停止單

引用:
最初由 cgjj 發表
這段公式沒決定買點的條件
在無法確認買價的情況下, 是無法做停損的
麻煩請完整描述, 謝謝!



----------------------------------------------------------------------------------------------------------------
目前修改如下,

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR,N);
I:=CLOSE-ATR*M;
LOWER:=HHV(I,30),COLORGREEN;
ENTERLONG:(HHVBARS(CLOSE,20)=0 and C>MA(C,200)) ; {多頭買入}
EXITLONG:C<LOWER ; {多頭賣出}
CK:=ENTERLONG-EXITLONG;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;

請問可以在上面程式碼加入加碼嗎,收盤高於買價1個ATR,加碼,限定只能加碼一次,停損為最近加碼價的2.5倍ATR。謝謝!!


由 cgjj 在 2010-01-18 19:40 發表:

回覆: 回覆: 回覆: 想寫一個追蹤型停止單

引用:
最初由 joe638tw 發表
----------------------------------------------------------------------------------------------------------------
目前修改如下,

TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR,N);
I:=CLOSE-ATR*M;
LOWER:=HHV(I,30),COLORGREEN;
ENTERLONG:(HHVBARS(CLOSE,20)=0 and C>MA(C,200)) ; {多頭買入}
EXITLONG:C<LOWER ; {多頭賣出}
CK:=ENTERLONG-EXITLONG;
CK:=ref(CK,barslast(CK<>0));
CK:=if(CK<>ref(CK,1) or barpos=lbound(CK),CK,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;

請問可以在上面程式碼加入加碼嗎,收盤高於買價1個ATR,加碼,限定只能加碼一次,停損為最近加碼價的2.5倍ATR。謝謝!!




//看看是否合乎您需求
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR,N);
I:=CLOSE-ATR*M;
LOWER:=HHV(I,30),COLORGREEN;
ENTERLONG:(HHVBARS(CLOSE,20)=0 and C>MA(C,200)) ; {多頭買入}
EXITLONG:C<LOWER ; {多頭賣出}
CK:=ENTERLONG-EXITLONG;
CKS:=ref(CK,barslast(CK<>0));
CK:=if(CKS<>ref(CKS,1) or barpos=lbound(CKS),CKS,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;
買進SP:=BARSLAST(ENTERLONG);
買價:=ref(C,買進SP);
加碼:sum(C>買價+ATR,買進SP)=1;
加碼:=加碼 and ref(加碼,1)=0 and CKS=1;
停價:=買價+ATR-ATR*2.5;
停損:sum(C<停價,買進SP)=1;
停損:=停損 and ref(停損,1)=0 and CKS=1;


由 joe638tw 在 2010-01-18 21:26 發表:

回覆: 回覆: 回覆: 回覆: 想寫一個追蹤型停止單

引用:
最初由 cgjj 發表
//看看是否合乎您需求
TR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR,N);
I:=CLOSE-ATR*M;
LOWER:=HHV(I,30),COLORGREEN;
ENTERLONG:(HHVBARS(CLOSE,20)=0 and C>MA(C,200)) ; {多頭買入}
EXITLONG:C<LOWER ; {多頭賣出}
CK:=ENTERLONG-EXITLONG;
CKS:=ref(CK,barslast(CK<>0));
CK:=if(CKS<>ref(CKS,1) or barpos=lbound(CKS),CKS,0);
ENTERLONG:=CK=1;
EXITLONG:=CK=-1;
買進SP:=BARSLAST(ENTERLONG);
買價:=ref(C,買進SP);
加碼:sum(C>買價+ATR,買進SP)=1;
加碼:=加碼 and ref(加碼,1)=0 and CKS=1;
停價:=買價+ATR-ATR*2.5;
停損:sum(C<停價,買進SP)=1;
停損:=停損 and ref(停損,1)=0 and CKS=1;



感謝大大解答,我好好研究一下,請教加碼可寫入交易系統裡面而回測嗎??!甘溫唷!!


由 cgjj 在 2010-01-18 21:46 發表:

回覆: 回覆: 回覆: 回覆: 回覆: 想寫一個追蹤型停止單

引用:
最初由 joe638tw 發表
感謝大大解答,我好好研究一下,請教加碼可寫入交易系統裡面而回測嗎??!甘溫唷!!


軟體內建的交易評測系統無法支援加碼回測

但我們另外自行開發的 [TBS 交易評測系統]
可以支援加碼和減碼的回測
詳見這邊的介紹:
http://www.chiefox.com.tw/bbs/showt...&threadid=10562


由 joe638tw 在 2011-02-23 23:06 發表:

請問就上述的系統改進場點,創20日新高後,當股價拉回一個ATR時買進,當跌破3個ATR時賣出。

謝謝!!


由 cgjj 在 2011-02-24 16:09 發表:

引用:
最初由 joe638tw 發表
請問就上述的系統改進場點,創20日新高後,當股價拉回一個ATR時買進,當跌破3個ATR時賣出。

謝謝!!



麻煩請再定義清楚一些
例如:
以何處何價為基準算拉回or跌破?
ATR是採那一根的 ATR值倍數做判斷?


由 joe638tw 在 2011-02-24 17:12 發表:

不好意思,創20日新高後,以後的最高收盤價為基準價。進場跟出場都是以此基準價為準。
謝謝!!


由 cgjj 在 2011-02-25 08:59 發表:

引用:
最初由 joe638tw 發表
不好意思,創20日新高後,以後的最高收盤價為基準價。進場跟出場都是以此基準價為準。
謝謝!!



ATR是採進場那根的 ATR值倍數做判斷嗎?
還是採目前計算的這根ATR值倍數?


由 joe638tw 在 2011-02-25 14:27 發表:

ATR不是每天都計算嗎,是以最近一日收盤為基準,計算ATR。
謝謝!!


由 cgjj 在 2011-02-25 17:25 發表:

引用:
最初由 joe638tw 發表
ATR不是每天都計算嗎,是以最近一日收盤為基準,計算ATR。
謝謝!!




看看是否為您要的
若不是, 建議您改用圖來解說您的想法, 會較清楚些

原碼:
TRR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR:=MA(TRR,N); HHCK:=ref(C>ref(HHV(C,20),1),1) and C<ref(C,1)-ATR; BB:=C*0; SS:=C*0; CkIO:=0; CC:=C; for i=lbound(ATR) to datacount do begin if HHCK[i]=1 and CkIO=0 then begin BB[i]:=1; CkCC:=CC[i]; CkIO:=1; end else if CkIO=1 and CC[i]<CkCC-ATR[i]*3 then begin SS[i]:=1; CkIO:=0; end; end; VERTLINE(BB) colorred linedot; VERTLINE(SS) colorgreen linedot;


由 joe638tw 在 2011-02-28 22:21 發表:

{Average True Range , ATR , 平均真實波幅}
{做多追蹤型停止點}
TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)),linethick;
ATR:MA(TR,N),linethick;
I:=CLOSE-ATR*M;
In:=close-ATR*1;

LOWER:HHV(I,20),COLORGREEN;
In:HHV(In,20),colorred;
近20日新高:HHV(CLOSE,20),linethick;
//X01:BARSLAST(C>REF(HHV(H,20),1) and C>MA(C,200)),linethick ;
//X02:REF(CLOSE,X01),linethick;


原本買進訊號是創20日新高,隔日開盤買進。可以改成創20日新高後,直到拉回到1個ATR時,隔日開盤買進。
請幫忙修改!!


由 cgjj 在 2011-03-02 12:31 發表:

引用:
最初由 joe638tw 發表
{Average True Range , ATR , 平均真實波幅}
{做多追蹤型停止點}
TR:MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)),linethick;
ATR:MA(TR,N),linethick;
I:=CLOSE-ATR*M;
In:=close-ATR*1;

LOWER:HHV(I,20),COLORGREEN;
In:HHV(In,20),colorred;
近20日新高:HHV(CLOSE,20),linethick;
//X01:BARSLAST(C>REF(HHV(H,20),1) and C>MA(C,200)),linethick ;
//X02:REF(CLOSE,X01),linethick;


原本買進訊號是創20日新高,隔日開盤買進。可以改成創20日新高後,直到拉回到1個ATR時,隔日開盤買進。
請幫忙修改!!



看看是否為您要的
原碼:
TRR:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR:=MA(TRR,N); HHCK:=C>ref(HHV(C,20),1); BB:=C*0; SS:=C*0; CkIO:=0; CC:=C; for i=lbound(ATR) to datacount do begin if HHCK[i]=1 and CkIO=0 then begin CkIO:=1; CkCC:=CC[i]; end else if CkIO=1 then begin if CC[i-1]<CKCC-ATR[i-1] then begin BB[i]:=1; CkCC:=CC[i]; CkIO:=2; end; end else if CkIO=2 then begin if CC[i-1]<CKCC-ATR[i-1]*3 then begin SS[i]:=1; CkIO:=0; end; end; end; VERTLINE(BB) colorred linedot; VERTLINE(SS) colorgreen linedot;


由 joe638tw 在 2011-03-02 13:16 發表:

不好意思,你寫的程式碼是要放在哪裡使用,我放在技術指標裡面,拉出來用怎都沒有東西。謝謝!!


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


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

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