還是不發(fā)單啊.,再一次請(qǐng)管理員與版主進(jìn)來(lái)看一看
作者:開(kāi)拓者 TB 來(lái)源:cxh99.com 發(fā)布時(shí)間:2013年08月19日
- 咨詢內(nèi)容:
本帖最后由 xiaosong 于 2013-7-25 08:31 編輯
它就是不發(fā)單了,就是不發(fā)單...
Begin
//if(BarStatus==2 && Time==0.090000 && CurrentTime<0.090000) Return; // 集合競(jìng)價(jià)過(guò)濾
conEntryReady=CurrentTime*100 >=tradBegin and CurrentTime*100<tradEnd and Q_LowerLimit>20*MinMove*PriceScale AND Q_UpperLimit-C>20*MinMove*PriceScale;//不靠近漲跌停 //// 開(kāi)倉(cāng)時(shí)限
If(BarStatus == 0)
{
DeleteOrderTickCounter = 9999;
HasSendOrder = 0;
SetGlobalVar(0,DeleteOrderTickCounter);
SetGlobalVar(1,HasSendOrder);
}Else
{
DeleteOrderTickCounter = GetGlobalVar(0);
HasSendOrder = GetGlobalVar(1);
}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。(這里寫(xiě)的運(yùn)算,如:先算均線,10日,5日,然后,在下面真接寫(xiě)表達(dá)式,如滿足了,就發(fā)單)
If(conEntryReady and BarStatus == 2 and HasSendOrder == 0)
{
If(Max(開(kāi)多信號(hào) and a_buyposition==0 and a_sellposition==0 ) // 開(kāi)多信號(hào)
{
A_SendOrder(Enum_Buy,Enum_Entry,Lots,Q_AskPrice()+N*MinMove*PriceScale);//發(fā)送委托單開(kāi)多倉(cāng)一手
HasSendOrder = 1;
SetGlobalVar(1,HasSendOrder);
Return;
}
If(Min(開(kāi)空信號(hào) and a_buyposition==0 and a_sellposition==0 ) // 開(kāi)空信號(hào)
{
A_SendOrder(Enum_Sell,Enum_Entry,Lots,Q_BidPrice()-N*MinMove*PriceScale); //發(fā)送委托單開(kāi)空倉(cāng)一手
HasSendOrder = 1;
SetGlobalVar(1,HasSendOrder);
Return;
}
}
If(conEntryReady and BarStatus == 2 && HasSendOrder == 1)
{ if(平多信號(hào) and a_buyposition>0) // 平多信號(hào) 滿足要求下平多
{
A_SendOrder(Enum_Sell,Enum_ExitToday, A_BuyPosition(),Q_BidPrice()-N*MinMove*PriceScale);
HasSendOrder = 0;
SetGlobalVar(1,HasSendOrder);
Return;
}
if(平多信號(hào) and a_buyposition>0) // 平多信號(hào) 止損
{
A_SendOrder(Enum_Sell,Enum_ExitToday, A_BuyPosition(),Q_BidPrice()-N*MinMove*PriceScale);
HasSendOrder = 0;
SetGlobalVar(1,HasSendOrder);
Return;
}
if( 平空信號(hào) and A_SellPosition>0) // 平空信號(hào) 止損
{
A_SendOrder(Enum_Buy,Enum_ExitToday,A_SellPosition,Q_BidPrice()+N*MinMove*PriceScale);
HasSendOrder = 0;
SetGlobalVar(1,HasSendOrder);
Return;
}
if(平空信號(hào) and A_SellPosition>0) // 平空信號(hào)
{
A_SendOrder(Enum_Buy,Enum_ExitToday,A_SellPosition,Q_BidPrice()+N*MinMove*PriceScale);
HasSendOrder = 0;
SetGlobalVar(1,HasSendOrder);
Return;
}
}
End
要求簡(jiǎn)單,如果顯開(kāi)多信號(hào),開(kāi)多,不管它消失不,下一Bar或者是Tick 再觸發(fā)開(kāi)多信號(hào),不重開(kāi). 如果止損信號(hào)出現(xiàn),平倉(cāng).
開(kāi)空也是一樣
上面的邏輯這樣清楚啊. 都不發(fā)單,我是細(xì)細(xì)地研究了,幫助中的交易策略進(jìn)階----A函數(shù)下單撤單和全局變量操作寫(xiě)出來(lái)的.
是不是開(kāi)空,開(kāi)多的運(yùn)算寫(xiě)的位置不對(duì).
- TB技術(shù)人員:
有自己寫(xiě)日志將條件都輸出來(lái)看過(guò)嗎?
你的開(kāi)多與開(kāi)空條件是什么意思呢?
max,min是比較數(shù)值大水上的函數(shù),你這樣 的用法是不對(duì)的吧?這樣應(yīng)該不能直接通過(guò)編譯吧
- TB客服:
本帖最后由 xiaosong 于 2013-7-27 07:29 編輯
小米 發(fā)表于 2013-7-25 10:19
有自己寫(xiě)日志將條件都輸出來(lái)看過(guò)嗎?
你的開(kāi)多與開(kāi)空條件是什么意思呢?
max,min是比較數(shù)值大水上的函數(shù), ...
謝謝老大了.
1:有自己寫(xiě)日志將條件都輸出來(lái)看過(guò)嗎?
不知道如何搞了?
2:你的開(kāi)多與開(kāi)空條件是什么意思呢?
我是這樣想的.
Begin
....................在這里就運(yùn)算條件了.
If(Max(開(kāi)多信號(hào) and a_buyposition==0 and a_sellposition==0 ) // 開(kāi)多信號(hào)就是條件合適
{
A_SendOrder(Enum_Buy,Enum_Entry,Lots,Q_AskPrice()+N*MinMove*PriceScale);//發(fā)送委托單開(kāi)多倉(cāng)一手
2:
max,min是比較數(shù)值大水上的函數(shù),你這樣 的用法是不對(duì)的吧?這樣應(yīng)該不能直接通過(guò)編譯吧
能編譯,就是圖上無(wú)信號(hào),不發(fā)單.
- 網(wǎng)友回復(fù):
xiaosong 發(fā)表于 2013-7-25 11:24
謝謝老大了.
1:有自己寫(xiě)日志將條件都輸出來(lái)看過(guò)嗎?
1.fileappend() 輸出你的開(kāi)倉(cāng)條件里所有需要判斷到的變量的值,一一排查。
2.你能將你使用到max的這句原話貼一下嗎????
以我對(duì)max函數(shù)的了解,想象不了你這里比條件是怎么個(gè)比法。
- 網(wǎng)友回復(fù):
本帖最后由 小米 于 2013-7-26 15:18 編輯
給你一個(gè)簡(jiǎn)單的a_sendorder發(fā)單的例子,可看一下。
這個(gè)主要是說(shuō)明一個(gè)全局變量控制a_sendorder的情況。具體的條件以及發(fā)單價(jià)格要自己琢磨一下,這里不做參考 。- Vars
- bool aa;
- Bool bb;
- Begin
- aa = xxxxx;
- bb = yyyyy;
- If(GetGlobalVar(0)==InvalidNumeric)
- {
- SetGlobalVar(0,0);
- SetGlobalVar(1,0);
- }
- If(BarStatus==2)
- {
- If( aa && A_GetOpenOrderCount==0 && A_BuyPosition==0 && GetGlobalVar(0)==0)
- {
- A_SendOrder(enum_buy,enum_entry,1,q_last);
- SetGlobalVar(0,1);
- setGlobalVar(1,0);
- }
- If( bb && A_GetOpenOrderCount==0 && A_BuyPosition>0 && GetGlobalVar(1)==0)
- {
- A_SendOrder(enum_sell,enum_exit,1,q_last);
- SetGlobalVar(1,1);
- SetGlobalVar(0,0);
- }
- }
- Commentary("get0: get1:"+Text(getglobalvar(0))+","+text(getglobalvar(1)));
- End
復(fù)制代碼 |