 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
想寫一個追蹤型停止單
目前已經寫一個追蹤型停止單,用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-16 12:06 編輯 |
向版主報告此篇 |  |
|
2010-01-16 11:15 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18251 |
|
回覆: 想寫一個追蹤型停止單
引用: 最初由 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,則出場價就是停損價以及追蹤型停止單的二者取其高。謝謝!
這段公式沒決定買點的條件
在無法確認買價的情況下, 是無法做停損的
麻煩請完整描述, 謝謝!
|
|
向版主報告此篇 |  |
|
2010-01-18 11:57 |
|
|
|  |
 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
回覆: 回覆: 想寫一個追蹤型停止單
引用: 最初由 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。謝謝!!
|
| 最後由 joe638tw 在 2010-01-18 14:24 編輯 |
向版主報告此篇 |  |
|
2010-01-18 13:03 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18251 |
|
回覆: 回覆: 回覆: 想寫一個追蹤型停止單
引用: 最初由 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;
|
|
向版主報告此篇 |  |
|
2010-01-18 19:40 |
|
|
|  |
 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
回覆: 回覆: 回覆: 回覆: 想寫一個追蹤型停止單
引用: 最初由 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;
感謝大大解答,我好好研究一下,請教加碼可寫入交易系統裡面而回測嗎??!甘溫唷!!
|
| 最後由 joe638tw 在 2010-01-18 21:33 編輯 |
向版主報告此篇 |  |
|
2010-01-18 21:26 |
|
|
|  |
 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
請問就上述的系統改進場點,創20日新高後,當股價拉回一個ATR時買進,當跌破3個ATR時賣出。
謝謝!!
|
|
向版主報告此篇 |  |
|
2011-02-23 23:06 |
|
|
|  |
 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
不好意思,創20日新高後,以後的最高收盤價為基準價。進場跟出場都是以此基準價為準。
謝謝!!
|
|
向版主報告此篇 |  |
|
2011-02-24 17:12 |
|
|
|  |
 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
ATR不是每天都計算嗎,是以最近一日收盤為基準,計算ATR。
謝謝!!
|
|
向版主報告此篇 |  |
|
2011-02-25 14:27 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18251 |
|
引用: 最初由 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;
|
|
向版主報告此篇 |  |
|
2011-02-25 17:25 |
|
|
|  |
 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
{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時,隔日開盤買進。
請幫忙修改!!
|
|
向版主報告此篇 |  |
|
2011-02-28 22:21 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18251 |
|
引用: 最初由 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;
|
|
向版主報告此篇 |  |
|
2011-03-02 12:31 |
|
|
|  |
 |
joe638tw
初級會員
註冊日期: May 2009
來 自:
文章數量: 9 |
|
不好意思,你寫的程式碼是要放在哪裡使用,我放在技術指標裡面,拉出來用怎都沒有東西。謝謝!!
|
|
向版主報告此篇 |  |
|
2011-03-02 13:16 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|