想請問各位高手,有沒有方式可以做到買進A後才能買進B, 而且是持續加碼方式: 例如:買進2口A後,才能買進1口B,然後如果遇到訊號再加碼2口A,才能又再買進1口B。
vars: intrabarpersist pCount(0);
//每次訊號之後清空pCount
if barssinceentry=1 then pCount=1;
//進出場條件式
switch pCount begin
case 1:
buy/sell 命令式
case 2:
...
case N:
end;
pCount=pCount+1; // 這個條件式可以依據需求自己改, 或放在上面case中, 看你的下個跳躍點想怎麼跳
應該是可以做到你想要的~
感謝凌波微步大, 所以,我是不是可以在不同的case裡面,加入不同的Chart,例如:(先假設p=1) switch p then begin case 1 : If getsymbolname of data1 = "A" buy 2 contracts at market; p = p + 1; case 2 :
If getsymbolname of data1 = "B" buy 1 contracts at market; 可以這樣嗎 ?
好像怪怪的 data1的symbol name應該永遠就是 A或B, 為何還要IF , 不了解你要表達的用意
不過是不是你要的結果 直接看訊號就知道了咩
因為我同時開了兩個Chart (Chart A and Chart B),進行訊號買賣。
我想表達的意思是, 要先買進2口A,然後才能買進1口B。
看懂你的意思了
如果是我自己來做會有兩種作法
1.自己寫個DLL, 透過外部的DLL溝通
或是
2.不使用訊號的方式來產生部位值. 而是用"算"的方式, 算出我此時此刻該有的A跟B該有的部位值, 輸出到下單大師下單
方式很多種
你可以敘述更清楚一點
是A跟B有訊號的因果關係或條件關係
還是只是單純要時間上的延遲, 如果只是要單純時間上的延遲就用下單機的延遲功能就可以了
是A商品和B商品有進場的先後關係, 我的目的是:當某個條件成立一定要先買進A商品(比如A價格>B價格),買到A之後,才能放空B。 而我目前問題卡在,如何持續的兩邊"同步加碼"。 希望讓兩邊的口數呈現如下狀況: (A,B) (1,4) (2,8) (3,12) ..... .... (A每加1口, B就加4口)
這個問題跟策略與語法無關吧
如果我沒理解錯你的意思
這"確定A買到之後"(check 成交回報) "才下B" 的功能是下單機層級的工作
如果是我, 我會自己寫下單機處理比較快
感謝凌波微步大的指教。 我還沒有寫過下單機的程式,可以請教你怎麼去寫下單機程式嗎? 或是有哪裡的資源有提供下單機程式的撰寫? 非常感謝!
只是要寫這種小工具的話可以學 autoit 或VB一類簡單的語言就可以了
或乾脆把你要的功能寫清楚, 包案給外面的大學生就可以了~
if entryname(0) = "A" then buy("B") ...
試試看這樣能不能符合你的需求