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