您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者知識>>正文內容

多頭不止損,而空頭第二根bar就平倉,是什么原因? - TradeBlazer公式 [開拓者 TB]

  • 咨詢內容: 一個簡單的股指程序,高于upline開空,低于downline開多,開倉比較順利,但止損問題很大,多頭不止損,而空頭第二根bar就平倉,是什么原因?請高手指點
    Params
        Numeric offset(10);
        Numeric stoplossSet(5);
    Vars
            Numeric EntryPrice;
            NumericSeries upline;
            NumericSeries downline;
            Bool Condition1;
            Bool Condition2;
            BoolSeries bShortStoped ;
            BoolSeries bLongStoped ;
    Begin

       
           
            if(CurrentBar == 0 || Date != Date[1])
            {
               bShortStoped = False ;
               bLongStoped = False ;
            } Else
            {
               upline = Close[1] + offset ;
               downline = Close[1] - offset;
           
               Condition1 =( MarketPosition == 0 && High> upline && bShortStoped == False && Time < 0.151000);
               Condition2 = (MarketPosition == 0 && Low< downline && bLongStoped == False && Time < 0.151000);
              
               Commentary("Condition1="+IIFString(Condition1,"True","False"));
               Commentary("Condition2="+IIFString(Condition2,"True","False"));

               PlotNumeric ("upline",upline) ;
               PlotNumeric ("dowmline",downline) ;
            }
           
            if (Condition1)
            {
                    EntryPrice=Min(open,upline-0.2);
                    SellShort(1,EntryPrice);
            }
           
            if (Condition2)
            {
                    EntryPrice = Max(open,downline+0.2);
                    Buy(1,EntryPrice);
            }
           
           
            If(MarketPosition==1 /*&& Low <= EntryPrice - StopLossSet */&& BarsSinceEntry>0)
            {
                    Sell(1,Min(Open,EntryPrice - StopLossSet));
                    bLongStoped = True;
            }
            if(MarketPosition==-1 /*&& High >= EntryPrice + StopLossSet */&& BarsSinceEntry>0)
            {
                    BuyToCover(1,Max(EntryPrice + StopLossSet,open));
                    bShortStoped = True;
            }
           
            if(Time >= 0.1513)
            {
                    BuyToCover(1,Open);
                    Sell(1,Open);
            }
           
    End

     

  • TB技術人員: 為什么你的EntryPrice要在不同條件下分別計算?直接用AvgEntryPrice代替試試?

     

  • TB客服:
    nopain 發表于 2012-5-18 14:15
    為什么你的EntryPrice要在不同條件下分別計算?直接用AvgEntryPrice代替試試?

    謝謝。可試了還是不行啊。。。糾結。開倉部分沒什么問題,止損部分問題大

     

  • 網友回復: 你的upline,dnline計算有問題。
    完整代碼如下:
    1. Params
    2.     Numeric offset(10);
    3.     Numeric stoplossSet(5);
    4. Vars
    5.     Numeric MyEntryPrice;
    6.     NumericSeries upline;
    7.     NumericSeries downline;
    8.     Bool Condition1;
    9.     Bool Condition2;
    10.     BoolSeries bShortStoped;
    11.     BoolSeries bLongStoped;
    12. Begin
    13.         if(CurrentBar == 0 || Date != Date[1])
    14.         {
    15.                 bShortStoped = False ;
    16.                 bLongStoped = False ;
    17.                 upline = Close[1] + offset;
    18.                 downline = Close[1] - offset;          
    19.         } Else
    20.         {      
    21.                 Condition1 =( MarketPosition == 0 && High> upline && bShortStoped == False && Time < 0.151000);
    22.                 Condition2 = (MarketPosition == 0 && Low< downline && bLongStoped == False && Time < 0.151000);
    23.          
    24.                 Commentary("Condition1="+IIFString(Condition1,"True","False"));
    25.         Commentary("Condition2="+IIFString(Condition2,"True","False"));

    26.         PlotNumeric ("upline",upline) ;
    27.         PlotNumeric ("dowmline",downline) ;
    28.         }
    29.       
    30.         if (Condition1)
    31.         {
    32.                 MyEntryPrice=Min(open,upline-0.2);
    33.                 SellShort(1,MyEntryPrice);
    34.         }
    35.    
    36.         if (Condition2)
    37.         {
    38.                 MyEntryPrice = Max(open,downline+0.2);
    39.                 Buy(1,MyEntryPrice);
    40.         }
    41.       
    42.       
    43.         If(MarketPosition==1 && Low <= AvgEntryPrice - StopLossSet && BarsSinceEntry>0)
    44.         {
    45.                 Sell(1,Min(Open,AvgEntryPrice - StopLossSet));
    46.                 bLongStoped = True;
    47.         }
    48.         if(MarketPosition==-1 && High >= AvgEntryPrice + StopLossSet && BarsSinceEntry>0)
    49.         {
    50.                 BuyToCover(1,Max(AvgEntryPrice + StopLossSet,open));
    51.                 bShortStoped = True;
    52.         }
    53.    
    54.         if(Time >= 0.1513)
    55.         {
    56.                 BuyToCover(1,Open);
    57.                 Sell(1,Open);
    58.         }       
    59. End
    復制代碼

     

  • 網友回復:
    nopain 發表于 2012-5-18 15:55
    你的upline,dnline計算有問題。
    完整代碼如下:

    多謝多謝,可以正常止損了。值得好好總結

 

如果以上指標公式不適用于您常用的行情軟件

或者您想改編成選股公式,以便快速選出某種形態個股的話,

可以聯系我們相關技術人員 QQ: 262069696  點擊在線交流進行 有償 改編!

 


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 在线中文字幕播放| 空白tk2一一视频丨vk| 扒下老师的黑色丝袜桶她| 免费观看亚洲人成网站| 97久人人做人人妻人人玩精品| 欧美大交乱xxxxxbbb| 国产亚洲人成无码网在线观看| 一二三四日本高清社区5| 欧美激情综合色综合啪啪五月| 国产嫖妓一区二区三区无码| 丁香六月婷婷在线| 污污成人一区二区三区四区| 国产成人精品免费直播| 中文字幕乱码中文字幕| 波多野结衣99| 国产小视频福利| www夜插内射视频网站| 欧美成人免费一区在线播放| 国产亚洲蜜芽精品久久| www.天天射| 欧亚专线欧洲s码wm| 嗯嗯在线观看免费播放| 97精品在线播放| 日本精品www色| 人善交另类欧美重口另类| 免费看h片的网站| 成人黄色免费网站| 亚洲校园春色另类激情| 蜜臀精品国产高清在线观看 | 日本高清不卡码| 伊人色综合九久久天天蜜桃| 免费看黄的网页| 女人张开腿让男人做爽爽| 五月婷婷丁香久久| 真实的国产乱xxxx在线| 国产探花在线视频| jizz18高清视频| 日韩国产第一页| 亚洲综合色成在线播放| 贰佰麻豆剧果冻传媒一二三区| 在线观看北条麻妃|