第一、關(guān)于this bar和next bar的異同,您可以看一下帖子http://forums.icetech.com.cn/forum.php?mod=viewthread&tid=3314&highlight=this%2Bbar
第二、this bar on close、next bar at market、next bar at open,這三類語句都是發(fā)送的市價(jià)單,而市價(jià)單在MC中是有優(yōu)先級(jí)的,無論是否允許多筆進(jìn)場。
說的有點(diǎn)多了,還是等您有問題再逐個(gè)回復(fù)吧!
解決方案:
sell next bar at open-minmove* 10 point limit;
或者
buytocover next bar at open+minmove*10 point limit;
無論是市價(jià)其實(shí)可以理解為以漲跌停限價(jià)的委托單,即價(jià)格優(yōu)先以對(duì)手價(jià)進(jìn)行撮合成交。
而由于MC對(duì)于市價(jià)單是有優(yōu)先級(jí)的,并且不允許同一次有多筆市價(jià)進(jìn)場或者多筆市價(jià)出場,對(duì)于條件單沒有限制,那么就可以使用限價(jià)發(fā)送委托單,只不過這里的限價(jià)是一個(gè)局部區(qū)間限價(jià),而不是漲跌停區(qū)間限價(jià)單。
?
第一、關(guān)于this bar和next bar的異同,您可以看一下帖子http://forums.icetech.com.cn/forum.php?mod=viewthread&tid=3314&highlight=this%2Bbar
第二、this bar on close、next bar at market、next bar at open,這三類語句都是發(fā)送的市價(jià)單,而市價(jià)單在MC中是有優(yōu)先級(jí)的,無論是否允許多筆進(jìn)場。
說的有點(diǎn)多了,還是等您有問題再逐個(gè)回復(fù)吧!
解決方案:
sell next bar at open-minmove* 10 point limit;
或者
buytocover next bar at open+minmove*10 point limit;
無論是市價(jià)其實(shí)可以理解為以漲跌停限價(jià)的委托單,即價(jià)格優(yōu)先以對(duì)手價(jià)進(jìn)行撮合成交。
而由于MC對(duì)于市價(jià)單是有優(yōu)先級(jí)的,并且不允許同一次有多筆市價(jià)進(jìn)場或者多筆市價(jià)出場,對(duì)于條件單沒有限制,那么就可以使用限價(jià)發(fā)送委托單,只不過這里的限價(jià)是一個(gè)局部區(qū)間限價(jià),而不是漲跌停區(qū)間限價(jià)單。
?
非常感謝指導(dǎo)!
可能我沒有把問題描述清楚。
mc內(nèi)部確實(shí)對(duì)應(yīng)了有多種進(jìn)出場方式,不過我沒有落腳在這里。
舉個(gè)例子:
1,給所有進(jìn)場單編了號(hào)1…n,每次進(jìn)場的量各不相同,編號(hào)為n的單買入n+1手
2,進(jìn)場之后某個(gè)時(shí)刻出場,第一筆出場賣出m手,m>n+1就是說比最后那次進(jìn)場單手?jǐn)?shù)都大,但小于總持股數(shù)
3,如何在一個(gè)tick內(nèi)實(shí)現(xiàn)賣出m手股票,所謂一個(gè)tick內(nèi),是指如果是tick周期,那么在程序運(yùn)行一次的時(shí)候把單全部發(fā)出,不在一個(gè)tick內(nèi)很容易實(shí)現(xiàn),每次只賣一部分,人為標(biāo)記一個(gè)變量來表示是不是賣完了就好,這里的主要問題是mc不允許在loop內(nèi)部做出buy或者sell動(dòng)作,一個(gè)tick內(nèi)要完成有沒有別的方法?
4,進(jìn)一步地,要求:后入場的買單先被賣出,其他要求一樣,能否實(shí)現(xiàn)(同樣,這個(gè)在多幾個(gè)的tick實(shí)現(xiàn)起來也沒什么困難)
這個(gè)的落腳點(diǎn)不在于this bar,next bar,而在于mc限定循環(huán)內(nèi)部不能發(fā)單(當(dāng)然這么操作的危險(xiǎn)性很大,如果循環(huán)條件出了問題,實(shí)盤直接造成的后果很嚴(yán)重),但是如果明確知道一個(gè)大于零的整數(shù)又不是無窮大(比如一個(gè)變量,只是無法提前知道多大)次發(fā)單,危險(xiǎn)性就沒那么大了,我想問的是mc內(nèi)部有沒有這種機(jī)制,也就是在運(yùn)行一次程序的過程中(如果周期是tick其實(shí)每個(gè)tick程序都被加載了一次)實(shí)現(xiàn)賣出變量X個(gè)單,3中的那個(gè)要求幾乎肯定要用到這樣的機(jī)制才能實(shí)現(xiàn)
(實(shí)際上我這個(gè)要求在實(shí)盤中作用不大,實(shí)際中不可能會(huì)有這么無理的要求,在接下來幾個(gè)tick完成了交易都是可接受的,類似于幾跳成交,不過這里要求一個(gè)tick內(nèi)發(fā)單)
?
之所以強(qiáng)調(diào)所謂的tick,主要是這種周期比較小,突出了一次性要把單發(fā)出的要求,實(shí)盤中肯定不會(huì)這么干
所謂后入場的先被賣是指先賣n+1手最后進(jìn)場多單,再賣n手比最后進(jìn)場的多單
實(shí)際上mc內(nèi)部應(yīng)該有這種機(jī)制,total這個(gè)關(guān)鍵字的作用就是這樣,不過它是先進(jìn)先出的原則,就是先平掉先進(jìn)場的多單,實(shí)際上先平那個(gè)單在實(shí)盤并沒有區(qū)別,因?yàn)閷?shí)際上是記賬的,每次都有個(gè)均值來表示盈虧。
請(qǐng)看:
[SameExitFromOneEntryOnce = false];
vars: var1(1);
if currentbar < 20 then
begin
buy (text(var1)) var1 share this bar on close;?
var1 = var1 + 1;
end;
if currentbar = 20 then
begin
sell var1*2 shares total next bar at market;
end;
在圖表上MC指示出來,它是從編號(hào)1的多單開始一直平到編號(hào)為9的多單,而且只賣了編號(hào)為9的多單中的4個(gè)share,我說的就是這個(gè)功能,但是,想換成后進(jìn)先出。能否實(shí)現(xiàn)類似total的后進(jìn)先出呢?
我的問題實(shí)際上就是問有沒有一個(gè)后進(jìn)先出的“Total”,或者在MC內(nèi)置的這些功能里給實(shí)現(xiàn)一個(gè)?
?
之所以強(qiáng)調(diào)所謂的tick,主要是這種周期比較小,突出了一次性要把單發(fā)出的要求,實(shí)盤中肯定不會(huì)這么干
所謂后入場的先被賣是指先賣n+1手最后進(jìn)場多單,再賣n手比最后進(jìn)場的多單
實(shí)際上mc內(nèi)部應(yīng)該有這種機(jī)制,total這個(gè)關(guān)鍵字的作用就是這樣,不過它是先進(jìn)先出的原則,就是先平掉先進(jìn)場的多單,實(shí)際上先平那個(gè)單在實(shí)盤并沒有區(qū)別,因?yàn)閷?shí)際上是記賬的,每次都有個(gè)均值來表示盈虧。
請(qǐng)看:
[SameExitFromOneEntryOnce = false];
vars: var1(1);
if currentbar < 20 then
begin
buy (text(var1)) var1 share this bar on close;?
var1 = var1 + 1;
end;
if currentbar = 20 then
begin
sell var1*2 shares total next bar at market;
end;
在圖表上MC指示出來,它是從編號(hào)1的多單開始一直平到編號(hào)為9的多單,而且只賣了編號(hào)為9的多單中的4個(gè)share,我說的就是這個(gè)功能,但是,想換成后進(jìn)先出。能否實(shí)現(xiàn)類似total的后進(jìn)先出呢?
我的問題實(shí)際上就是問有沒有一個(gè)后進(jìn)先出的“Total”,或者在MC內(nèi)置的這些功能里給實(shí)現(xiàn)一個(gè)?