『最佳拍檔』智能決策系統

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5958|回复: 5

BP-AUTO2 範例: MACD 買入/沽出 編寫範例

[复制链接]
发表于 2008-10-14 00:40:53 | 显示全部楼层 |阅读模式

 

BP-AUTO2 程式編寫例子:


{ MACD 買入/沽出 , 使用 "外掛" 自動買賣}
{可以調較天數的寫法}


nEMa1:=input("Plese enter Fast EMA  days:",1,1000, 12);
nEMa2:=input("Plese enter Slow EMA  days:",1,1000, 26);
nsignal:=input("Plese enter signal line periods: ",1,1000, 9);
nConf:=Input("After confirmed-[On=1,Off=0]:",0,1,1);

nMACD:=Mov(C,nEMa1,E) - Mov(C,nEMa2,E);


buy:=    If(nConf=0, Cross(nMACD, Mov(nMACD,nsignal,E) ) , ref(Cross(nMACD, Mov(nMACD,nsignal,E) ),-1)   );
sell:=     If(nConf=0, Cross(Mov(nMACD,nsignal,E)  , nMACD) , ref(Cross(Mov(nMACD,nsignal,E)  , nMACD) ,-1));
{}
RetVal:=If(buy=1,0.3, If(Sell=1,0.03,0.00));
Retval

 

預設是 12, 26, 9 數值, 及確認後做 !

 

 

註: 自動買賣有其一定的市場及系統風險, 建議沒有市場經驗者切勿使用 !!
      以上提供亦只是作為編寫程式時, 參考之用 !!

 

[修改日期 2010-02-26 加入確認後選項]

 

MACD升跌穿+9+天訊號線+編寫範例.gif

 楼主| 发表于 2009-7-23 10:52:15 | 显示全部楼层

可以修改 M1 及 M2 線的 MACD

有朋友問 MetaStock 內定的 MACD 功能, 不能自由調較 MA1, MA2 線,

 

即預設的 12天, 26天線,  想問問有無方法做到可以自由變更 ?

 

答案就係, 你要自己跟據有關的計算方法, 自己於 MetaStock 內建立一個


"可以調較的 MACD 技術指標"  才可以,  但不用擔心, 方法很簡單的,


我有實例, 你照抄便可以 !!
而且可以轉化為 BP-AUTO2 技術指標,  加上 BP 外掛 做到 全自動買賣 效果 !!

參考資料: "外掛: 用任何技術指標自動買賣, 以 Ctrl + A 啟動 !!"

http://www.bp-system.com/discuz/viewthread.php?tid=3470&page=1#pid25036

 

BPSwin 08.gif



方法就是此帖 #1 樓做法 !!



而以下是我於 MetaStock 教學編中的其中一節, 講解 MACD 及 MACD Histrogram 寫法 !

 


9.4.4 可以修改 M1 及 M2 線的 MACD
http://www.bp-system.com/discuz/viewthread.php?tid=1421&page=1#pid12590


9.4.5 可以修改的自定 MACD histrogram
http://www.bp-system.com/discuz/viewthread.php?tid=1421&page=1#pid12592


 


以下將內容貼出

 楼主| 发表于 2009-7-23 10:53:45 | 显示全部楼层

 

9.4.4 可以修改 M1 及 M2 線的 MACD

 

由於 MetaStock 預設的 Equis - MACD 是不容許更改 12日線及 26日線的設定,

以下這個輸入方法,便可讓你建立一個可以更改設定的 MACD 指標。

可以修改 12 及 26 天線的自定 MACD 函式


1) 先開啟技術指標製作器 ( Indicator Builder )

2) 按下新增鍵( New )

3) 於視窗中輸入程式名及函式如下


Name: My MACD

nd1:=Input("Please enter M1 date:",1,100,12);

nd2:=Input("Please enter M2 date:",1,1000,26);

nmov:=Input("moving period:",1,1000,9);

M1 := Mov(C,nd1,E);

M2 := Mov(C,nd2,E);

myMACD := M1 - M2;

myMACDmov := Mov(myMACD,nmov,E);

myMACD;

myMACDmov

 

注意: 使用時因兩條線都是實線,要自行將 moving period 線轉為虛線。
 
 
 


 

 楼主| 发表于 2009-7-23 10:55:32 | 显示全部楼层

9.4.5 可以修改的自定 MACD histrogram


有自製的 MACD 當然可以 自制MACD histrogram

於新增視窗中輸入程式名及函式如下

Name: My MACD histrogram

nd1:=Input("Please enter M1 date:",1,100,12);

nd2:=Input("Please enter M2 date:",1,1000,26);

nmov:=Input("moving period:",1,1000,9);

M1 := Mov(C,nd1,E);

M2 := Mov(C,nd2,E);

myMACD := M1 - M2;

myMACDmov := Mov(myMACD,nmov,E);

myMACD- myMACDmov

記得同樣要自己轉做柱狀圖用。
 


當拖放出來時會出現這個視窗,因為兩個指標要用相同的 Y 軸(Y-Axis ),所以必定要

選第3 項的與右邊刻度對齊( Merge with scale on right),否則會出現不正確的結果。


 

這兩個例子最主要是使用了 Input 這個函式,使用時便可輸入想要的數值,以增強該

技術指標的變化,而它的用法是:


input( "要顯示的文字",  最小值數值, 最大值數值, 預設用數值)

留意每一個例子,當中都有一點不同的函式,或技巧想大家知,想大家學的 !!


詳細解釋可於 Help 內找到:


 楼主| 发表于 2010-2-28 01:59:10 | 显示全部楼层
[修改日期 2010-02-26 加入確認後選項]
 楼主| 发表于 2010-3-2 00:24:16 | 显示全部楼层
有朋友問 BP 外掛做指標買賣時,  使用不停反手, 而不須要止損的設定為何 ?

限定時間平倉又如何 ?

可以跟以下圖片做:

指標做反手不放止損限時平倉設定.gif
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|『最佳拍檔』智能決策系統

GMT+8, 2024-3-29 04:19 , Processed in 0.142315 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表