 |
tycoon868
資深會員

註冊日期: Oct 2008
來 自:
文章數量: 313 |
|
如何在同一操作周期當中,限縮買賣點次數
請教總版主
Bullmust:=AR1A>=10 ;
Bearmust:=AR1A<=-10 ;
BullMC:=ref(Bullmust,1)=0 and Bullmust=1;
BearMC:=ref(Bearmust,1)=0 and Bearmust=1;
BullCD:=IF(Bullmust=1,Barslast(BullMC)+1,0);
BearCD:=IF(Bearmust=1,Barslast(BearMC)+1,0);
操作週期數A:IF(Bullmust=1 ,BullCD,-BearCD),color0099ff,precision0,linethick0; ## 正值作多,負值作空 ##
買訊1:=cross(R1A,20) ;
買訊2:=cross(R1A,40) ;
買訊3:=cross(R1A,60) ;
賣訊1:=cross(60,R2A);
賣訊2:=cross(30,R2A) ;
賣訊3:=cross(10,R2A) ;
賣訊4:=cross(30,R1A) ;
### 作空部分省略 ###
請教三個撰寫需求:
需求一:上面的<操作周期數>目前運作正常,但公式不夠簡潔,請問應該如何修改
需求二:上面的三個買訊與三個買訊,如何讓它們在同一個 <操作周期數> 中 (作多、與作空必須獨立成兩個不同週期),永遠只成立一次
舉例: 操作週期 從 1~20的過程中,曾經 在第三周期時cross(R1A,20) ,此時買訊1 成立,後來在第 五個週期R1A=10,然後在第8週期時再次 cross(R1A,20)
希望 第8週期不要有買進動作,其餘類推
需求三: 兩個操作周期數取其一運用
Bullmust:=R1A>=30 ;
Bearmust:=R1A<=-30;
BullMC:=ref(Bullmust,1)=0 and Bullmust=1;
BearMC:=ref(Bearmust,1)=0 and Bearmust=1;
BullCD:=IF(Bullmust=1,Barslast(BullMC)+1,0);
BearCD:=IF(Bearmust=1,Barslast(BearMC)+1,0);
操作週期數B:IF(Bullmust=1 ,BullCD,-BearCD),color0099ff,precision0,linethick0; ## 正值作多,負值作空 ##
希望達到: 這兩個操作周期同時比較,領先達到 轉多(操作週期>0) 或是 轉空(操作週期<0) 者,作為該週期的 起訖點
例如: 操作週期 A 比 操作週期 B 快了一天 cross(操作週期A,0),則本波段就以操作週期 A為該週期的 Start 以及 end
感謝您的協助
新春愉快!
|
| 最後由 tycoon868 在 2015-02-23 23:22 編輯 |
向版主報告此篇 |  |
|
2015-02-23 22:31 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18211 |
|
回覆: 如何在同一操作周期當中,限縮買賣點次數
引用: 最初由 tycoon868 發表
請教總版主
Bullmust:=AR1A>=10 ;
Bearmust:=AR1A<=-10 ;
BullMC:=ref(Bullmust,1)=0 and Bullmust=1;
BearMC:=ref(Bearmust,1)=0 and Bearmust=1;
BullCD:=IF(Bullmust=1,Barslast(BullMC)+1,0);
BearCD:=IF(Bearmust=1,Barslast(BearMC)+1,0);
操作週期數A:IF(Bullmust=1 ,BullCD,-BearCD),color0099ff,precision0,linethick0; ## 正值作多,負值作空 ##
買訊1:=cross(R1A,20) ;
買訊2:=cross(R1A,40) ;
買訊3:=cross(R1A,60) ;
賣訊1:=cross(60,R2A);
賣訊2:=cross(30,R2A) ;
賣訊3:=cross(10,R2A) ;
賣訊4:=cross(30,R1A) ;
### 作空部分省略 ###
請教三個撰寫需求:
需求一:上面的<操作周期數>目前運作正常,但公式不夠簡潔,請問應該如何修改
Re: 需求一
//這一段其實能再簡化的非常有限
Bullmust:=AR1A>=10 ;
Bearmust:=AR1A<=-10 ;
BullMC:=ref(Bullmust,1)=0 and Bullmust=1;
BearMC:=ref(Bearmust,1)=0 and Bearmust=1;
BullCD:=IF(Bullmust=1,Barslast(BullMC)+1,0);
BearCD:=IF(Bearmust=1,Barslast(BearMC)+1,0);
操作週期數A:IF(Bullmust=1 ,BullCD,-BearCD),color0099ff,precision0,linethick0;
//若要處理到極為精簡,就是以下這樣:
SS:=(AR1A>=10)-(AR1A<=-10);
操作週期數A:barslast(SS=0)*SGN(SS) color0099ff precision0 linethick0;
但這樣的過度簡化, 未必全然都是好的
因為以後看到這份原碼, 可能難以理解當初的想法
|
|
向版主報告此篇 |  |
|
2015-02-24 09:51 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18211 |
|
回覆: 如何在同一操作周期當中,限縮買賣點次數
引用: 最初由 tycoon868 發表
請教總版主
需求三: 兩個操作周期數取其一運用
Bullmust:=R1A>=30 ;
Bearmust:=R1A<=-30;
BullMC:=ref(Bullmust,1)=0 and Bullmust=1;
BearMC:=ref(Bearmust,1)=0 and Bearmust=1;
BullCD:=IF(Bullmust=1,Barslast(BullMC)+1,0);
BearCD:=IF(Bearmust=1,Barslast(BearMC)+1,0);
操作週期數B:IF(Bullmust=1 ,BullCD,-BearCD),color0099ff,precision0,linethick0; ## 正值作多,負值作空 ##
希望達到: 這兩個操作周期同時比較,領先達到 轉多(操作週期>0) 或是 轉空(操作週期<0) 者,作為該週期的 起訖點
例如: 操作週期 A 比 操作週期 B 快了一天 cross(操作週期A,0),則本波段就以操作週期 A為該週期的 Start 以及 end
Re: 需求三
操作週期數A 和 操作週期數B
是否會有同步互為反向的情況呢?
例如:
前一周期 操作週期數A=0 and 操作週期數B=0
當前周期 操作週期數A=1 and 操作週期數B=-1
|
|
向版主報告此篇 |  |
|
2015-02-24 10:03 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|