交易品種為股指期貨,策略是每天下午15點(diǎn)10分比較上證指數(shù)當(dāng)日交易量比前一日縮量達(dá)30%以上時(shí),立即進(jìn)場(chǎng)做多的程序是不是這樣寫:
a:=OPENMINUTES(CURRENTTIME)>265 and ref("000001$AMOUNT",0)<ref("000001$AMOUNT",1)*0.7;
Buy(holding=0 and a,1,marketr);
多單用昨日最低價(jià)止損和次日收盤前(也定在開倉(cāng)1周期后的開盤后第265分鐘)不管漲跌都平倉(cāng)程序,是不是這樣寫:
sell(HOLDING>0 and ENTERBARS>0,100%,stopr,ref(low,1));//昨低為多單止損
SELL(holding>0 and ENTERBARS>0 and OPENMINUTES(CURRENTTIME)>265,100%,MARKETR);//次日收盤前平多
問題1:上證指數(shù)15點(diǎn)已收盤,而股指期貨15點(diǎn)15分收盤,15點(diǎn)10分是股指期貨當(dāng)日開盤第265分鐘,所以用“OPENMINUTES(CURRENTTIME)>265 ”作為開倉(cāng)條件,是否可靠?OPENMINUTES(CURRENTTIME)使用的是本地計(jì)算機(jī)時(shí)間?能不能根據(jù)交易所的時(shí)間更精確讓上面的開倉(cāng)指令運(yùn)行在15點(diǎn)10分之后,而與本地計(jì)算機(jī)時(shí)間無關(guān)?
問題2:金字塔的評(píng)測(cè)程序中,加了“OPENMINUTES(CURRENTTIME)>265”之后,永遠(yuǎn)不開倉(cāng),不知道是我用錯(cuò)了,還是實(shí)盤時(shí)能開倉(cāng)而評(píng)測(cè)時(shí)不能用該函數(shù)?
問題3:OPENMINUTES為開盤分鐘數(shù),中午休市的1個(gè)半小時(shí)應(yīng)不應(yīng)該算進(jìn)去,如“股指期貨日線”,11:30~13:00期間休市,那么13:10分是第265分鐘還是第355分鐘?
問題4:交易股指期貨合約,但程序中引用了另一品種數(shù)據(jù),比如上證當(dāng)日成交額ref("000001$AMOUNT",0),會(huì)不會(huì)因?yàn)樯献C指數(shù)不是當(dāng)前圖表而無法實(shí)時(shí)下載更新數(shù)據(jù),從而使引用的數(shù)據(jù)不準(zhǔn)確?如果無法實(shí)時(shí)更新未打開的品種數(shù)據(jù)如何解決?
問題5:金字塔中,平安銀行代碼和上證指數(shù)代碼都是“000001”,如何確保"000001$AMOUNT"是上證的成交額?或者說如何區(qū)分平安銀行和上證的引用方式?
問題6:我程序中了marketr符號(hào),評(píng)測(cè)時(shí)是在當(dāng)日收盤開倉(cāng),那么在實(shí)盤時(shí),應(yīng)該是在當(dāng)日開盤第265分鐘(即15點(diǎn)10分)時(shí)市價(jià)開倉(cāng),我理解的對(duì)嗎?
問題7:我用stopr設(shè)昨日低點(diǎn)為止損,用ref(low,1)是否正確?像股指期貨交易所并不支持止損單,那么該指令是否就無效了?如果無效,那么我是否只能用“固定時(shí)間間隔”(例如每10秒調(diào)用),并通過程序檢查當(dāng)前價(jià)格是否已低于昨日低點(diǎn),如果是就市價(jià)平倉(cāng)?
像股指期貨是否只支持marketr、market、limitr和limit,并且實(shí)盤時(shí)marketr與market無區(qū)別,limitr和limit則生成限價(jià)單掛在交易所?但股指期貨不支持stopr和stop是嗎?
問題8:手工交易時(shí),我發(fā)現(xiàn)即使要市價(jià)平倉(cāng)也必須先撤銷限價(jià)單,那么我程序中連續(xù)用了兩個(gè)sell指令,sell發(fā)出MARKETR時(shí)會(huì)不會(huì)自動(dòng)撤銷stopr或limitr單?
問題9:如果平倉(cāng)指令中,marketr會(huì)自動(dòng)撤銷stopr或limitr,那第二次發(fā)出stopr會(huì)不會(huì)自動(dòng)撤銷第一次的stopr,limitr呢?
問題10:我開倉(cāng)前用holding來判斷是否有持倉(cāng),如果是市價(jià)開倉(cāng)就沒問題,但如果我用limitr來采用限價(jià)單開倉(cāng),那么buy發(fā)出的限價(jià)單是不是不算持倉(cāng)(即holding不計(jì)算buy發(fā)出的限價(jià)單)?所以用limitr來開倉(cāng)的話,是不是容易在未成交時(shí)又發(fā)了一個(gè)限價(jià)單(因?yàn)閔olding仍然等于0)?如果是這樣,應(yīng)該如何避免?
1。可以不用openmintues來定義多少根k線,
直接用time來表示,比如time=151000,就是表示是151000這根k線
2。引用數(shù)據(jù)直接使用callstock函數(shù),市場(chǎng)合約寫成'sh000001',和平安銀行進(jìn)行區(qū)分
3。用雙引號(hào)引用,被引用周期的前一根k線不是用ref方式,而是"sh000001$close##day"一個(gè)#表引用當(dāng)前數(shù)據(jù),二個(gè)#表引用前一根數(shù)據(jù)
4。openminutes是否算修盤,這個(gè)問題可以自己測(cè)試一下
5。marketr在實(shí)際開倉(cāng)時(shí)間的市價(jià)下單
6.stopr這個(gè)函數(shù)是用于測(cè)評(píng)的,并不用于實(shí)際下單
7。不自己進(jìn)行操作或者做系統(tǒng)設(shè)定,不會(huì)自動(dòng)撤單的
8.holding是圖表上的虛擬持倉(cāng),當(dāng)圖表上有了信號(hào),就會(huì)算作持倉(cāng),和實(shí)際交易,下單類型沒有關(guān)系,所以不論buy下的是market還是limitr,都會(huì)計(jì)算入持倉(cāng)
先了解一下策略大致情況,便于更具體有效的回答樓主的疑問
環(huán)境介紹:
//運(yùn)行周期:???
//運(yùn)行模式:走完一根k線,固定時(shí)間間隔 ???
//交易品種:IF1303
系統(tǒng)簡(jiǎn)介:
根據(jù)上證指數(shù)日線交易量來決定是否開倉(cāng)(當(dāng)日日線交易量比前一日日線交易量縮量達(dá)30%以上時(shí),開多)?????
止損:多單-昨日最低價(jià)
收盤前平倉(cāng):次日收盤前五分鐘
[此貼子已經(jīng)被作者于2013-3-12 10:57:29編輯過]
謝兩位客服的熱心全面答復(fù)。
環(huán)境介紹:
運(yùn)行周期:日K線
交易品種:IF1303
運(yùn)行模式:固定時(shí)間間隔(30秒間隔)
我主要程序都是在開盤后10分鐘內(nèi),以及收盤前10分鐘內(nèi)進(jìn)行條件判斷。
所以jinzhe講的time并不能獲取開盤分鐘數(shù),因?yàn)槲沂窃谌站€上的。
所以,我剩下6個(gè)問題:
1、日線Time不能獲取分鐘數(shù),那日K線周期上,如何判斷該K線自開盤后運(yùn)行了多長(zhǎng)時(shí)間?只有用本地時(shí)間CurrentTime這一個(gè)辦法是嗎?
2、jinzhe用的代碼“sh000001”是指平安銀行還是上證指數(shù)?另外一個(gè)該用什么代碼?
3、雙引號(hào)引用用ref,我評(píng)測(cè)是得出正確結(jié)果的,實(shí)盤時(shí)不準(zhǔn)確是嗎?
4、"sh000001$close##day"的用法不是很明白,能進(jìn)一步解釋下嗎?
5、holding是虛擬持倉(cāng),如果holding為0,卻用了sell平多,holding會(huì)變成負(fù)數(shù)嗎?
6、請(qǐng)對(duì)“后臺(tái)程序交易模式”給予一些學(xué)習(xí)資料,以及提供可行的評(píng)測(cè)后臺(tái)程序的替代方案,我本身是程序員,編寫后臺(tái)程序盡管復(fù)雜一點(diǎn)應(yīng)該也沒問題。
再次感謝!
[此貼子已經(jīng)被作者于2013-3-12 18:15:08編輯過]
另外還有一個(gè)問題忘記回答了:
我交易IF1303合約時(shí),圖表顯示IF1303日線,而上證(sh000001)指數(shù)沒有顯示出來,如果程序一直運(yùn)行幾天,會(huì)不會(huì)導(dǎo)致上證指數(shù)不更新,所以引用不了數(shù)據(jù)。該怎么辦?