用全局變量依舊重復發單
作者:開拓者 TB 來源:cxh99.com 發布時間:2014年06月12日
- 咨詢內容:
begin
If(GetGlobalVar(1)==InvalidNumeric){
SetGlobalVar(1,0);
}
CurrentPosition=GetGlobalVar(1);
if(條件And CurrentPosition==0){//開空單
NewPrice=Q_BidPrice-MyOffset*MinMove*PriceScale;
A_SendOrder(Enum_Sell,Enum_Entry,Lots,NewPrice);
SetGlobalVar(1,-1);
Return;
}
IF(條件And CurrentPosition==-1){ //平空單
NewPrice=Q_AskPrice+MyOffset*MinMove*PriceScale;
A_SendOrder(Enum_Buy,Enum_Exit,A_SellPosition,NewPrice);
SetGlobalVar(1,0);
Return;
}
if(條件And CurrentPosition==0){//開多單
NewPrice=Q_BidPrice+MyOffset*MinMove*PriceScale;
A_SendOrder(Enum_Buy,Enum_Entry,Lots,NewPrice);
SetGlobalVar(1,-1);
Return;
}
IF(條件And CurrentPosition==1){ //平多單
NewPrice=Q_AskPrice-MyOffset*MinMove*PriceScale;
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition,NewPrice);
SetGlobalVar(1,0);
Return;
}
end
為什么A_SendOrder結合全局變量控制,依舊老是重復發單,請高手賜教,不勝感激。
- TB技術人員:
If(GetGlobalVar(1)==InvalidNumeric){
SetGlobalVar(1,0);
}這句代碼,總是把setglobalvar置0,是不是這個問題呀。根本看到你下面賦值的效果。