註冊  登入
 

 搜尋

迷你方式顯示論壇 RSS訂閱此版新訊息  

加入收藏 

使用幫助 

聯繫我們 
首頁 >> 程式交易 >> 論壇主區 >> 程式交易討論區 >> 查看文章
 新帖 新投票 回覆文章 上篇 重新整理 下篇  


 97 1 8: 此主題共有11帖 此頁11帖 每頁12帖
 


 主題:請問版主關於MACD - 複製地址
 

帥哥,離線

mingyi1973 



級別 職業俠客
積分 72
經驗 1777
文章 64
註冊 09-06-15 13:52
發表: 2009-08-04 20:47:00 人氣:48108樓主

請問版主關於MACD

請問版主為什麼我在HSP上設的MACD值和奇狐的值是一樣的
但是出來的MACD差柱值結果卻是不一樣的而且倍數也不是固定的
請問要如何將奇狐的值換算成HSP的。
以下是奇狐MACD的算法原碼:
LONG:=26;  P1:=20; P2:=100;
SHORT:=12; P1:=5;  P2:=40;
M:=9;      P1:=2;  P2:=60;
{Moving Average Convergence/Divergence , MACD , 移動平均收斂/發散指標}
DIFF:EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
DEA:EMA(DIFF,M);
MACD:2*(DIFF-DEA),COLORSTICK,Linethick2;
{==================================================================
英譯:
DIFF=Difference = 差異=差離值
DEA=Difference Exponential Average=差離值平均值
MACD=Moving Average Convergence/Divergence = 移動平均收斂/發散
1.利用快速和慢速兩條指數平滑移動平均線,計算兩者之間的差離值DIFF
2.再利用 差離值DIFF,來計算 差離值平均值DEA
3.本公式MACD柱狀,即可明顯體現出了DIFF與DEA兩者的收斂交會與發散分離的情況
  用以研判買進或賣出的時機
===================================================================}
{以下是將柱狀變寬的原碼============================================
DIFF:EMA( CLOSE , SHORT ) - EMA( CLOSE , LONG),Linethick0,Color33AAFF;
DEA:EMA( DIFF , M ),Linethick0,ColorFF9966;
MACD: 2 * ( DIFF - DEA ),Linethick0,Color9966FF;
StickLine(MACD>0,0,MACD,6,1),Color9966FF;
StickLine(MACD<=0,0,MACD,6,1),ColorCCFF66;
PARTLINE(C>0,DIFF),Color33AAFF;
PARTLINE(C>0,DEA),ColorFF9966;
===================================================================}

帥哥,離線

Hunta 



門派 管理員
職務 總版主
級別 法老
聲望 +100000
財富 100002
積分 101915
經驗 642850
文章 1733
註冊 09-04-10 17:15
發表: 2009-08-04 22:37:572

依照說明,奇狐的所謂MACD柱狀,是DIFF與DEA兩者的差值,而HSP的差柱是DIFF與MACD兩者的差值,定義上似乎不同。

帥哥,離線

mingyi1973 



級別 職業俠客
積分 72
經驗 1777
文章 64
註冊 09-06-15 13:52
發表: 2009-08-04 23:21:003

那這樣是否就無法換算了?

帥哥,離線

mingyi1973 



級別 職業俠客
積分 72
經驗 1777
文章 64
註冊 09-06-15 13:52
發表: 2009-08-04 23:23:274

LONG:=26;  P1:=20; P2:=100;
SHORT:=12; P1:=5;  P2:=40;
M:=9;      P1:=2;  P2:=60;
{Moving Average Convergence/Divergence , MACD , 移動平均收斂/發散指標}
DIFF:EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
DEA:EMA(DIFF,M);
MACD:2*(DIFF-DEA),COLORSTICK,Linethick2;

他這個可以改
要怎麼改成你的算法?

帥哥,離線

Hunta 



門派 管理員
職務 總版主
級別 法老
聲望 +100000
財富 100002
積分 101915
經驗 642850
文章 1733
註冊 09-04-10 17:15
發表: 2009-08-05 00:03:575

HSP系統之MACD指標是依照正常之MACD公式所計算出來,而MACD差柱就是D-M,即DIF-MACD。
你可以兩套同時設定同樣的參數,看一下算出來的DIF及MACD是否一樣,若不一樣的話,那可能是否是他們的公式有做過修改。

帥哥,離線

mingyi1973 



級別 職業俠客
積分 72
經驗 1777
文章 64
註冊 09-06-15 13:52
發表: 2009-08-05 11:15:266

我知道HSP系統之MACD指標是依照正常之MACD公式所計算出來的,因為其他看盤軟體和你的一樣,只有奇狐的跟你不同,而且他的快速線和慢速線的值是有限制的,所以想將之前在奇狐使用的公式轉到您這裡使用,但是兩邊MACD的值都不一樣,那就無法換算,如果差距是固定的倍數還好,但是有時是0.4倍有時是0.6倍實在無法侍從,所以想問你是怎麼算的,我再將他的做修改,才能找出一樣的參數,才能讓之前的公式績效固定。謝謝!!!

帥哥,離線

Hunta 



門派 管理員
職務 總版主
級別 法老
聲望 +100000
財富 100002
積分 101915
經驗 642850
文章 1733
註冊 09-04-10 17:15
發表: 2009-08-05 12:31:237

這是依照他的說明公式所寫的程式:
  10 自訂技術指標[ #1 , 差柱 ] 
  20 
  30 Vi = 9 
  40 Vj = 12 
  50 Vk = 26 
  60 GoSub macd 
  70 If Vf >= 0 Then 
  80  柱狀線[ Vf , 0 , 實心 , 技術1 , #1 , 差柱 , 顏色: 255 ] 
  90 Else 
 100  柱狀線[ Vf , 0 , 實心 , 技術1 , #1 , 差柱 , 顏色: 52224 ] 
 110 End If 
 120 
 130 Sub macd 
 140  Vd = 5分_EMA( Vj ) - 5分_EMA( Vk ) 
 150  
 160  Ve = 0 
 170  Vg = Vi + 20 - 1 
 180  For  Vh  =  20  To  Vg  Step  1 
 190   Ve = Ve + ( 前Vh_5分_EMA( Vj ) - 前Vh_5分_EMA( Vk ) ) 
 200  Next 
 210  Ve = Ve / Vi 
 220  
 230  For  Vh  =  19  To  0  Step  -1 
 240   Ve = Ve + 2 * ( 前Vh_5分_EMA( Vj ) - 前Vh_5分_EMA( Vk ) - Ve ) / ( Vi + 1 ) 
 250  Next 
 260  
 270  Vf = 2 * ( Vd - Ve ) 
 280 End Sub 
 
Run出來的結果如下:
[IMGA=0,absMiddle]http://www.huntasoft.com/hsp/pic/0805-1.jpg[/IMGA]
 
 
下載程式碼0045.rda(請存在huntap資料匣內) [URL=http://www.huntasoft.com/hsp/0045.rda]http://www.huntasoft.com/hsp/0045.rda[/URL]
 
看這樣對不對。

帥哥,離線

mingyi1973 



級別 職業俠客
積分 72
經驗 1777
文章 64
註冊 09-06-15 13:52
發表: 2009-08-05 19:35:088

報告老師我對過了,這樣算不對,數據都差了一點,如果換成十五分鐘就差更多了。
LONG:=26;  P1:=20; P2:=100;
SHORT:=12; P1:=5;  P2:=40;
M:=9;      P1:=2;  P2:=60;
P1是最小,P2是最大,所以他們家的MACD不能像你一樣,可以調到20以下,是有限制的,如果將他的改成你的算法可以嗎?

帥哥,離線

Hunta 



門派 管理員
職務 總版主
級別 法老
聲望 +100000
財富 100002
積分 101915
經驗 642850
文章 1733
註冊 09-04-10 17:15
發表: 2009-08-05 22:44:049

如果你改掉他的公式定義,那算出來的值也會改變,那你回測出來的訊號及績效也會跟之前不一樣。
另外,你說數值差一點,那交叉位置是否有一致嗎?若有一致的話,數值是否就沒太大影響了?

帥哥,離線

mingyi1973 



級別 職業俠客
積分 72
經驗 1777
文章 64
註冊 09-06-15 13:52
發表: 2009-08-06 13:05:2610

交叉位置是一致的,數值會有影響,因為我不是用死叉跟金叉來判定,會造成交易次數過多,所以用macd數值來判定,這樣多空點才有差距,沒關係我用大概的倍數來計算就好,因為這兩天我發現這樣算,差距只有幾秒所以沒什麼太大差別。
還有一個問題要請教:
我的停損是這樣寫
 860 // 多單停損 
 870 If 目前部位( 倉位多空 ) > 0 Then 
 880 If 單K計數器( 目前K線 , 0 ) = 0 Then 
 890 Vl = 目前部位( 第 1 次成本價位 ) - 15分_最低價 
 900 Vi = 前1_15分_均價( 5 ) / 170 
 910 Vb = ( 15分_最高價 + 15分_最低價 ) / 2 
 920 If Vl > Vi Then 
 930 Vf = 15分_最高價 + 10 
 940 S2$ = '損' + Cstr( Vg ) 
 950 顯示文字[ S2$ , 主畫面 , ( 0 , Vf ) , 字型: 新細明體 , 大小: 010 , 顏色: 16744703 ] 
 960 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
 970 S1$ = '0' + ' ' + Cstr( Vg ) 
 980 輸出命令檔( R:\hsp02.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
 990 End If 
1000 End If 
1010 End If 
1020 End If 
1030 
1040 // 空單停損 
1050 If 目前部位( 倉位多空 ) < 0 Then 
1060 If 單K計數器( 目前K線 , 0 ) = 0 Then 
1070 Vk = 15分_最高價 - 目前部位( 第 1 次成本價位 ) 
1080 Vi = 前1_15分_均價( 5 ) / 170 
1090 Vb = ( 15分_最高價 + 15分_最低價 ) / 2 
1100 If Vk > Vi Then 
1110 Vj = 15分_最低價 - 10 
1120 S3$ = '損' + Cstr( Vg ) 
1130 顯示文字[ S3$ , 主畫面 , ( 0 , Vj ) , 字型: 新細明體 , 大小: 010 , 顏色: 8454016 ] 
1140 If 最後K線 = 是 And 單K計數器( 目前K線 , 0 ) = 0 Then 
1150 S1$ = '-1' + ' ' + Cstr( Vg ) 
1160 輸出命令檔( R:\hsp02.txt , [yyyy]/[mm]/[dd]□[hh]:[nn]:[ss]□[S1$] ) 
1170 End If 
1180 End If 
1190 End If 
1200 End If 

但是碰到一個問題
我今天一買進立刻停損了
因為當根k線的最低點低於停損價
vg=收盤價
請問怎麼樣能讓當根k線買進賣出時不做停損動作?

帥哥,離線

Hunta 



門派 管理員
職務 總版主
級別 法老
聲望 +100000
財富 100002
積分 101915
經驗 642850
文章 1733
註冊 09-04-10 17:15
發表: 2009-08-06 15:05:1611

在行號880及1060各加上:
And K線序號( 目前K線 ) > 目前部位( 第 1 次建倉K線序號 ) 
即可。


 97 1 8: 此主題共有11帖 此頁11帖 每頁12帖
 

 新帖 新投票 回覆文章



回覆文章 注意: *為必填項
*驗證訊息
用戶名稱 密碼 註冊
*文章名稱 長度不得超過255字
內容(最大25K)

是否是UBB代碼

內容支持插入UBB標籤
使用方法請參考幫助
其它選項:  顯示簽名   鎖定文章  - 顏色表   Alt+S或Ctrl+Enter快速提交