到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 請問這兩種寫法的差異!?
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
tommy7568
初級會員

註冊日期: Mar 2005
來  自: taipei
文章數量: 2

請問這兩種寫法的差異!?

寫法1.
M1:=REF(EMA(C,13),8);
M2:=REF(EMA(C,8),5);
M3:=REF(EMA(C,5),3);
向上碎形:=IF(H>REF(H,2) AND H>REF(H,1) AND H>REFX(H,1) AND H>REFX(H,2),1,0);
向下碎形:=IF(L<REF(L,2) AND L<REF(L,1) AND L<REFX(L,1) AND L<REFX(L,2),1,0);
向上碎形發生K:=BARSLAST(向上碎形=1);
向下碎形發生K:=BARSLAST(向下碎形=1);
向上碎形買進:=IF(H>REF(H,向上碎形發生K) AND H>REF(M2,向上碎形發生K) ,1,0);
向下碎形賣出:=IF(L<REF(L,向下碎形發生K) AND L<REF(M2,向下碎形發生K) ,1,0);

ENTERLONG:向上碎形買進=1 ,TFILTER; {多頭買入}
EXITLONG:C<M2,TFILTER ; {多頭賣出}
ENTERSHORT:向下碎形賣出=1 ,TFILTER; //賣出開倉/空頭開倉
EXITSHORT:C>M2 ,TFILTER; //買入平倉/空頭平倉

寫法2.
M1:=REF(EMA(C,13),8);
M2:=REF(EMA(C,8),5);
M3:=REF(EMA(C,5),3);
向上碎形:=IF(REF(H,3)>REF(H,4) AND REF(H,3)>REF(H,5) AND REF(H,3)>REF(H,2) AND REF(H,3)>REF(H,1),1,0);
向下碎形:=IF(REF(L,3)<REF(L,4) AND REF(L,3)<REF(L,5) AND REF(L,3)<REF(L,2) AND REF(L,3)<REF(L,1),1,0);
向上碎形發生K:=BARSLAST(向上碎形=1)+3;
向下碎形發生K:=BARSLAST(向下碎形=1)+3;
向上碎形買進:=IF(H>REF(H,向上碎形發生K) AND H>REF(M2,向上碎形發生K) ,1,0);
向下碎形賣出:=IF(L<REF(L,向下碎形發生K) AND L<REF(M2,向下碎形發生K) ,1,0);

ENTERLONG:向上碎形買進=1 ,TFILTER; {多頭買入}
EXITLONG:C<M2,TFILTER ; {多頭賣出}
ENTERSHORT:向下碎形賣出=1 ,TFILTER; //賣出開倉/空頭開倉
EXITSHORT:C>M2 ,TFILTER; //買入平倉/空頭平倉

請問各位前輩,這兩種寫法用在回測歷史K線上應該是相同的啊,為何績效回測會有不一樣的結果,請問問題是出在哪裡??

向版主報告此篇 | 查IP位址
Old Post 2010-06-22 22:12
tommy7568 現在離線 點選這裡查看 tommy7568 的個人資料 點選這裡給 tommy7568 傳送一條短訊 查找更多關於 tommy7568 的文章 增加 tommy7568 至你的好友列表 編輯/刪除訊息 引用回覆
peter109
資深會員

註冊日期: Dec 2004
來  自: Taipei
文章數量: 1893

回覆: 請問這兩種寫法的差異!?

引用:
最初由 tommy7568 發表
寫法1.
M1:=REF(EMA(C,13),8);
M2:=REF(EMA(C,8),5);
M3:=REF(EMA(C,5),3);
向上碎形:=IF(H>REF(H,2) AND H>REF(H,1) AND H>REFX(H,1) AND H>REFX(H,2),1,0);
向下碎形:=IF(L<REF(L,2) AND L<REF(L,1) AND L<REFX(L,1) AND L<REFX(L,2),1,0);
向上碎形發生K:=BARSLAST(向上碎形=1);
向下碎形發生K:=BARSLAST(向下碎形=1);
向上碎形買進:=IF(H>REF(H,向上碎形發生K) AND H>REF(M2,向上碎形發生K) ,1,0);
向下碎形賣出:=IF(L<REF(L,向下碎形發生K) AND L<REF(M2,向下碎形發生K) ,1,0);

ENTERLONG:向上碎形買進=1 ,TFILTER; {多頭買入}
EXITLONG:C<M2,TFILTER ; {多頭賣出}
ENTERSHORT:向下碎形賣出=1 ,TFILTER; //賣出開倉/空頭開倉
EXITSHORT:C>M2 ,TFILTER; //買入平倉/空頭平倉

寫法2.
M1:=REF(EMA(C,13),8);
M2:=REF(EMA(C,8),5);
M3:=REF(EMA(C,5),3);
向上碎形:=IF(REF(H,3)>REF(H,4) AND REF(H,3)>REF(H,5) AND REF(H,3)>REF(H,2) AND REF(H,3)>REF(H,1),1,0);
向下碎形:=IF(REF(L,3)<REF(L,4) AND REF(L,3)<REF(L,5) AND REF(L,3)<REF(L,2) AND REF(L,3)<REF(L,1),1,0);
向上碎形發生K:=BARSLAST(向上碎形=1)+3;
向下碎形發生K:=BARSLAST(向下碎形=1)+3;
向上碎形買進:=IF(H>REF(H,向上碎形發生K) AND H>REF(M2,向上碎形發生K) ,1,0);
向下碎形賣出:=IF(L<REF(L,向下碎形發生K) AND L<REF(M2,向下碎形發生K) ,1,0);

ENTERLONG:向上碎形買進=1 ,TFILTER; {多頭買入}
EXITLONG:C<M2,TFILTER ; {多頭賣出}
ENTERSHORT:向下碎形賣出=1 ,TFILTER; //賣出開倉/空頭開倉
EXITSHORT:C>M2 ,TFILTER; //買入平倉/空頭平倉

請問各位前輩,這兩種寫法用在回測歷史K線上應該是相同的啊,為何績效回測會有不一樣的結果,請問問題是出在哪裡??



寫法1 向後
寫法2 向前
雖然語意似乎相同
但基點不同 或許這就是主因吧

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

向版主報告此篇 | 查IP位址
Old Post 2010-06-23 00:13
peter109 現在離線 點選這裡查看 peter109 的個人資料 點選這裡給 peter109 傳送一條短訊 查找更多關於 peter109 的文章 增加 peter109 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為23:16 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

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

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們