請(qǐng)版主幫我寫個(gè)可以用于精英版自動(dòng)交易股票的簡(jiǎn)單策略。 [MC]
-
MC用戶求助:
購(gòu)買了精英版,奈何對(duì)MC都不怎么了解,別談精英版了,竑廷說,你都沒適用過就買軟件了啊?我心想沒辦法,因?yàn)橐恢毕雽?shí)現(xiàn)股票輪動(dòng)的操作。想實(shí)現(xiàn)一個(gè)股票輪動(dòng)操作的簡(jiǎn)單策略。請(qǐng)版主幫忙。
不用選股,我會(huì)自己每天往左側(cè)的股票池里面加股票。
策略要做到的就是按照既定規(guī)則操作。規(guī)則如下:
1、突破近期N根K線的最高點(diǎn),開倉(cāng)買入股票。(N可以自定義,我需要根據(jù)每只股票的情況,自己在每個(gè)股票上設(shè)定N值)
2、買入后,自動(dòng)設(shè)定止損價(jià)。止損價(jià)=建倉(cāng)價(jià)格-2ATR(這里就是采用海龜?shù)闹箵p方法,2ATR中的2可自定義。)
3、當(dāng)價(jià)格上漲大于建倉(cāng)價(jià)與2ATR之和時(shí),止損價(jià)上移至建倉(cāng)價(jià)格。(2ATR中的2可自定義。)
4、當(dāng)價(jià)格繼續(xù)上漲后,止盈位為最高價(jià)回落2ATR。(2ATR中的2可自定義。)(其實(shí)就是追蹤止盈)
5、每個(gè)股票建倉(cāng)后,5根K線后,當(dāng)前價(jià)格-建倉(cāng)價(jià)小于2ATR,自動(dòng)平倉(cāng)。(這里的5,可以自定義參數(shù),2也可以)
6、每個(gè)股票占有總賬戶資金的十分之一。(十分之一也可以自定義)。假如有20萬資金,那每個(gè)股票根據(jù)自己的股價(jià),可以買入2萬左右,因?yàn)楣蓛r(jià)不一樣,只能是買入最接近2萬的那個(gè)數(shù)值的手?jǐn)?shù)。不能大于2萬元。懂我的意思嗎?比如一個(gè)股票16元,那就買入2萬/16元=1250股,舍去百位后面的數(shù)字,就是買入12手,市值19200元。假如一個(gè)股票價(jià)格17元,那就買入2萬/17元=1176.4股,即11手,市值18700元。
復(fù)雜嗎?可以寫嗎?求版主幫忙。一直想實(shí)現(xiàn)股票輪動(dòng)。還有一些細(xì)節(jié)再說一下。
按照每個(gè)股票占有總資金十分之一,那么就是說,我的賬戶最多只能買10個(gè)股票。(是這樣嗎?)當(dāng)所有的資金都被占用(即:滿倉(cāng))后,股票池內(nèi)即使有新的股票發(fā)出買入信號(hào),都不會(huì)進(jìn)來。直到有在倉(cāng)的股票平倉(cāng)后,新發(fā)生信號(hào)的股票才能進(jìn)入。
每個(gè)股票僅操作一次,(是不是買入并賣出的股票,會(huì)自動(dòng)從股票池里面離開?)
跪謝版主!
?
-
MC回復(fù)討論一:
抱歉,下午在開會(huì),才看到,您的問題下個(gè)星期會(huì)及時(shí)處理。
?
-
MC回復(fù)討論二:
第一、您的PT策略代碼如下:
//左側(cè)的策略代碼,名稱為:ygnh123inputs: N(10), n_atr(2);
variables:? var0( 0 ), var_atr(0), mp(0), cur(0);
mp=marketposition;
var0 =highest(close,N)[1];
cur=T_Plus_1_Extension;? //這個(gè)函數(shù)可以在官網(wǎng)下載“均線金死叉策略 (股票)”,這個(gè)模板中有
pmm_set_my_named_num("close",close);
condition2 = CurrentBar > 1 and close cross above var0 and marketposition=0;
if condition2 then?
pmm_set_my_named_num("condition2",1)
else pmm_set_my_named_num("condition2",0);
Buy ( "MA3CrsLE" ) next bar at market ;
if mp[1]=0 and mp=1 then
var_atr=AvgTrueRange(10);
if cur>=100 then
setdollartrailing(currentcontracts*bigpointvalue*2*var_atr);
?
//資金管理信號(hào),名稱為:ygnh123_PMM
input: max_entry(10), account_per(10);
var: contr(0);
array: strategy_arr_index[](0);
?
value1=max_entry-portfolio_currententries;
array_setmaxindex(strategy_arr_index,max_entry-1);
pmms_strategies_deny_entries_all;
?
value3=0;
if value1>0 then begin
for value2=0 to value1-1 begin
if pmms_get_strategy_named_num(value2,"condition2")=1 then begin
strategy_arr_index[value3]=value2;
value3=value3+1;
end;
end;
end;
for value4=0 to value3-1 begin
value7=strategy_arr_index[value4];
pmms_strategy_allow_entries(value7);
contr=intportion(0.01*account_per*(portfolio_netprofit+initialcapital)/(100*pmms_get_strategy_named_num(value7,"close")))*100;
pmms_strategy_set_entry_contracts(value7,contr);
?
end;
第二、以上策略的關(guān)鍵字等在這里就不一一說明,您可以在策略星學(xué)院搜索課程“輪動(dòng)選牛股”就可以找到相關(guān)的講解;您的PT策略沒有排序,當(dāng)同一時(shí)間有超過10個(gè)股票滿足進(jìn)場(chǎng)條件時(shí),只會(huì)選擇最開始的10個(gè)股票進(jìn)場(chǎng);由于您的策略需要針對(duì)不同的股票設(shè)置不同的參數(shù),那么您可以使用不同的策略組(因?yàn)槊總€(gè)策略組中的策略都是相同的參數(shù)),設(shè)置如下:
第三、除了以上的說明之外,您的策略中有手動(dòng)操作的部分:手動(dòng)添加股票和手動(dòng)刪除交易過的股票;這種情況下,您每次添加和刪除的時(shí)候需要停止自動(dòng)交易,然后再開啟自動(dòng)交易;但是,若您停止自動(dòng)交易時(shí)策略有持倉(cāng),那么有幾個(gè)地方需要注意一下:
1、每次重啟自動(dòng)交易,手動(dòng)輸入當(dāng)天的可賣股數(shù)及價(jià)格;這樣挺麻煩。
2、勾選策略屬性中的“使用經(jīng)紀(jì)商實(shí)際部位”,但是這種情況下,您需要在收盤后操作(即停止自動(dòng)交易,然后重啟自動(dòng)交易)?
-
MC回復(fù)討論三:
為版主的職業(yè)精神點(diǎn)贊!對(duì)于您第三里面的說明,我添加股票都是收盤以后,也需要停止自動(dòng)交易然后再開啟嗎?也需要手動(dòng)輸入可賣股數(shù)及價(jià)格嗎?還有,為什么要?jiǎng)h除股票?股票不是自動(dòng)進(jìn)入交易后,一次買賣后自動(dòng)刪除嗎?
?
-
MC回復(fù)討論四:
為版主的職業(yè)精神點(diǎn)贊!對(duì)于您第三里面的說明,我添加股票都是收盤以后,也需要停止自動(dòng)交易然后再開啟嗎?也需要手動(dòng)輸入可賣股數(shù)及價(jià)格嗎?還有,為什么要?jiǎng)h除股票?股票不是自動(dòng)進(jìn)入交易后,一次買賣后自動(dòng)刪除嗎?
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容