(急急急)為什么只能交易一次多單,之后就不交易了?大神們幫看
作者:開拓者 TB 來源:cxh99.com 發布時間:2014年12月17日
- 咨詢內容:
大神們幫看看,一下的程序在自動化交易時,這個程序就只做一次多,之后信號怎么變都不交易了。是什么問題?謝謝啦!
會不會是NowHold=A_TotalPosition();需要返回的時間,后面的程序都執行完了,還沒有返回正確的量,所以一直無法正確執行?
Hold=策略計算出來的應該的持倉數;(比如2代表2張多單,-1代表1張空單)
NowHold=A_TotalPosition();是現在賬戶持有的合約數;
If(NowHold>0)
{
//加多單
If(Hold>NowHold){
DoSuccessful=Buy(Hold-NowHold,BuyPrice);
//減多單
}Else If(Hold<NowHold And Hold>=0){
DoSuccessful=Sell(NowHold-Hold,SellPrice);
//做空
}Else If(Hold<0){
DoSuccessful=SellShort(Abs(Hold),SellPrice);
}
//空倉
}Else If(NowHold==0){
//做多
If(Hold>0){
DoSuccessful=Buy(Hold,BuyPrice);
//做空
}Else If(Hold<0){
PlotNumeric("Hold<0 NowHold=0",0);
DoSuccessful=SellShort(Abs(Hold),SellPrice);
}
//做空
}Else If(NowHold<0){
//做多
If(Hold>0){
DoSuccessful=Buy(Hold,BuyPrice);
//減空單
}Else If(Hold<=0 And Hold>NowHold){
DoSuccessful=BuyToCover(Hold-NowHold,BuyPrice);
//加空單
}Else If(Hold<NowHold){
DoSuccessful=SellShort(NowHold-Hold,SellPrice);
}
}
- TB技術人員:
nowhold的值在歷史K線都是無效值吧?那以此變量為判斷條件的信號除了最后K線應該都消失了。