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