  | 
	
	
	
	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.   聯絡我們
 
 |