lahahaha 發表於 15-5-11 23:51

兩個語法請教

1)請問怎樣形容某個時間點的bar open, 如10點的open應該怎樣表達? 以恆指為例用opend只會計算了9:15的open
2)請問在本身已有盈利情況下固定每同方向升/跌100點的加碼語法, 應怎表達, 謝謝

沒房子的阿捨 發表於 15-5-12 09:43

參考一下~
1)
vars: OP(0);
if time=1000 then OP=open;

2)
if mp=1 then begin
   buy next bar at entryprice(0)+100 stop;
end;

lahahaha 發表於 15-5-13 00:26

謝捨兄,
1) 我用這寫法compile不到

2)這段非常有用, 我如此應用:
if mp=1 then begin
buy("BUY1") next bar at entryprice(0)+100 stop;
buy("BUY2") next bar at entryprice(0)+200 stop;
buy("BUY3") next bar at entryprice(0)+300 stop;
end;
發覺之後不停有entryprice(0)+100/200/300的時候, MC會不停的trade, 如我想只限死原本entry和所有加碼entry一起出場, 並出場後不再入場, 應如何改?

lahahaha 發表於 15-5-13 00:37

第(2)部分的不停trade問題我已解決, 但我用:
setstopposition;
setpercenttrailing(100,50);
作為離場, 我不知道是否在最後1次加碼賺100元回饋50%後, 是全部entry一起離場, 還是只有最後1次會離場?

沒房子的阿捨 發表於 15-5-13 02:01

本帖最後由 沒房子的阿捨 於 15-5-13 02:09 編輯

lahahaha 發表於 15-5-13 00:26 static/image/common/back.gif
謝捨兄,
1) 我用這寫法compile不到


第(1)我可以compiler油~~~

第(2)請改成如下, 這樣才能每次都抓最後進場價.
if marketposition=1 then
   buy next bar at PosTradeEntryPrice( 0, CurrentEntries-1 )+100 stop;

使用setpercenttrailing(100,50);印象中是當達到總獲利超過100元以上時,則回檔50%出場....
是所有部位全部出場, 但應該不太符合你的加碼出場方式~

另外, 若出場條件為最後一張單回檔50點則出場:
sell all share next bar at PosTradeEntryPrice( 0, CurrentEntries-1 )-50 stop;

大概會是這個樣子

GOGA 發表於 15-5-13 09:21

lahahaha 發表於 15-5-13 00:37 static/image/common/back.gif
第(2)部分的不停trade問題我已解決, 但我用:
setstopposition;
setpercenttrailing(100,50);


貼上PosTradeEntryPrice 加碼 範例給你參考


if mp = 1 then
begin
        if PosTradeEntryPrice(0,0) <> 0 and currentcontracts = 1 * LTT then
        buy("b2") LTT shares next bar at PosTradeEntryPrice(0,0) + (0.5 * Myatr ) stop ;
        if PosTradeEntryPrice(0,1) <> 0 and currentcontracts = 2 * LTT then
        buy("b3") LTT shares next bar at PosTradeEntryPrice(0,1) + (1.0 * Myatr ) stop ;
        if PosTradeEntryPrice(0,2) <> 0 and currentcontracts = 3 * LTT then
        buy("b4") LTT shares next bar at PosTradeEntryPrice(0,2) + (1.5 * Myatr ) stop ;
end ;
if mp = -1 then
begin
        if PosTradeEntryPrice(0,0) <> 0 and currentcontracts = LTT then
        sellshort("s2") LTT shares next bar PosTradeEntryPrice(0,0) - (0.5 * Myatr ) stop ;
        if PosTradeEntryPrice(0,1) <> 0 and currentcontracts = 2 * LTT then
        sellshort("s3") LTT shares next bar PosTradeEntryPrice(0,1) - (1.0 * Myatr ) stop ;
        if PosTradeEntryPrice(0,2) <> 0 and currentcontracts = 3 * LTT then
        sellshort("s4") LTT shares next bar PosTradeEntryPrice(0,2) - (1.5 * Myatr ) stop ;
end;


lahahaha 發表於 15-5-14 00:51

謝謝兩位, 第(2)問題已圓滿解決, 謝謝兩位幫忙, 我有一些各大期貨交易的min data, 如蒙不棄, 兩位可以留email及告知我想要哪些期貨data, 我email給你們

lahahaha 發表於 15-5-14 22:22

捨兄, 打擾一下,

if marketposition>0 then begin
sell all share next bar at PosTradeEntryPrice(0,currententries-1)-(0.5*opend(0)*F) stop;

我轉用了這個指令之後compile不到.

lahahaha 發表於 15-5-14 22:49

OK了, 是欠end; , 自己大意了

lahahaha 發表於 15-5-17 22:17

若出場條件為最後一張單回檔50點則出場:
sell all share next bar at PosTradeEntryPrice( 0, CurrentEntries-1 )-50 stop;

請問我想把出場規則改成: 若指數回檔50點, 則全部部位出場, 應如何寫?

沒房子的阿捨 發表於 15-5-18 09:41

試試以下
sell all share next bar at Highest(high,BarsSinceEntry(0))-50 stop;

lahahaha 發表於 15-5-19 01:12

搞定了, thx!{:4_209:}

lahahaha 發表於 15-5-26 21:27

請教一下, 如果想每天只限定買賣一次, 應該寫哪句code?

沒房子的阿捨 發表於 15-5-26 21:49

限定一天進出各一次:
if entriestoday(date)<2 then balabala.........

lahahaha 發表於 15-5-26 23:15

請問"<2"是甚麼意思?
頁: [1] 2
查看完整版本: 兩個語法請教