人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

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

按2%的風險,1:2的盈虧比代碼,總是不對,請老師幫忙看看 [開拓者 TB]

  • 咨詢內容: 本帖最后由 xiaokakaren 于 2015-12-15 11:21 編輯

    1、我是新手,按2%的風險開倉個代碼寫不了,只能用一個資金的2%代替。思路是這樣:第一單總資金的2%做為虧損金額,用它來考量開倉的手數。第二單在第一單沒有平倉的時候再次開倉的手數就是資金-第一單止損的金額。舉例:我總資金是100000的話,第一單的開倉手數=(100000*0.02)/(止損點數*一跳的價格),這個時候如果第一單沒平,再開第二單的話手數=【(100000-第一單如果止損的金額)*0.02】/(止損點數*一跳的價格)。這個我在論壇上沒找到相似的例子。所以也不知道應該怎么寫。有老師能指點一下最好了。
    2、1:2的盈虧比的代碼如下,感覺很多問題,我也不知道是那個地方。
    Params
            Numeric FastLength(5);
            Numeric SlowLength(20);
    Vars
            NumericSeries AvgValue1;
            NumericSeries AvgValue2;
           
            Numeric minpoint;       //最小變動單位,也就是一跳
            Numeric myentryprice;   //我的開倉價格
        Numeric StopLossSet;    // 止損設置(多頭)
            Numeric StopLossSet1;    // 止損設置(空頭)
        Numeric MyExitPrice;        // 平倉價格
        NumericSeries HighestAfterEntry;        // 開倉后出現的最高價
        NumericSeries LowestAfterEntry;         // 開倉后出現的最低價
            Numeric lots;           //開倉手數
            Numeric mycapital(1000000);   //我的資金
    Begin
            AvgValue1 = AverageFC(Close,FastLength);
            AvgValue2 = AverageFC(Close,SlowLength);

            PlotNumeric("MA1",AvgValue1);
            PlotNumeric("MA2",AvgValue2);               
            //PlotNumeric("PL",Portfolio_TotalProfit);

            // 集合競價和小節休息過濾
            If(!CallAuctionFilter()) Return;

        minpoint=MinMove*PriceScale;//=當前公式應用商品的最小變動量*當前公式應用商品的計數單位
            StopLossSet=open-Low[1]+300;   //止損點數
            StopLossSet1=High[1]-Open+300;   //止損點數
           
            If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
             {
               lots=mycapital*0.02 / StopLossSet*minpoint;//開倉手數=總資金的2%/止損金額
               Buy(lots,Open);
              }
            If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
              {
               lots=mycapital*0.02 / StopLossSet1*minpoint;//開倉手數=總資金的2%/止損金額
               SellShort(lots,Open);
              }

            If(BarsSinceEntry==0)//如果此K線是開倉的K線
              {
                HighestAfterEntry = Close;//開倉后的最高價=收盤價
            LowestAfterEntry = Close;//開倉后的最低價=收盤價
                    If(MarketPosition<>0)   //當前持倉狀態不等于0
                    {
                      HighestAfterEntry = Max(HighestAfterEntry,EntryPrice);   // 開倉的Bar,將開倉價和當時的收盤價的較大值保留到HighestAfterEntry
                      LowestAfterEntry = Min(LowestAfterEntry,EntryPrice);     // 開倉的Bar,將開倉價和當時的收盤價的較小值保留到LowestAfterEntry
                     }
               }Else
                {
                      HighestAfterEntry = Max(HighestAfterEntry,High); // 記錄下當前Bar的最高點,用于下一個Bar的跟蹤止損判斷
                      LowestAfterEntry = Min(LowestAfterEntry,Low);    // 記錄下當前Bar的最低點,用于下一個Bar的跟蹤止損判斷
                     }
             
             Commentary("HighestAfterEntry="+Text(HighestAfterEntry));//在超級圖表當前K線添加一行注釋信號
         Commentary("LowestAfterEntry="+Text(LowestAfterEntry));
             
             myentryprice=EntryPrice;//我的開倉價格是當前持倉的第一個建倉價格。AvgEntryPrice(當前持倉的平均建倉價格),LastEntryPrice(當前持倉的最后一個建倉價格)
             
             If(MarketPosition==1)//有多倉的情況
             {
               If(HighestAfterEntry[1]>=myentryprice+StopLossSet*2*minpoint Or Open<=myentryprice-StopLossSet*minpoint)
                 {
                       Sell(0,Open);
                      }
              }
             
             If(MarketPosition==-1)//有空倉的情況
             {
               If(LowestAfterEntry[1]<=myentryprice-StopLossSet1*2*minpoint Or Open>=myentryprice+StopLossSet1*minpoint)
                 {
                       BuyToCover(0,Open);
                      }
              }
    End

    3、請各位老師幫忙看看

     

  • TB技術人員: 后面的注釋老師們可以不用看,好多是復制的

     

  • TB客服:
    xiaokakaren 發表于 2015-12-15 11:07
    后面的注釋老師們可以不用看,好多是復制的

    你表達的不太清楚,所以需要你再確認你的需求。我的理解是,你想做到兩點:1、每次開倉按照權益的2%為虧損額度來計算下單手數。如果是反手就把權益先扣除2%。2、止損止盈做到,盈虧比是2:1

    把你的需求放在一邊,你的代碼中存在一些語法問題。
    1、你沒有止損的代碼。
    2、你對變量類型numeric 和numericseries的錯用。numeric換一根BAR,就恢復為初始值。numericseries則可以記錄下來,后續的BAR都可以使用。比如你代碼中的myentryprice,應該用numericseries類型。
    其他變量,你都要根據你的需求來選擇合適的變量類型。

     

  • 網友回復:
    tbheyihao 發表于 2015-12-15 12:31
    你表達的不太清楚,所以需要你再確認你的需求。我的理解是,你想做到兩點:1、每次開倉按照權益的2%為虧 ...

    老師的理解是對的,1、每次開倉按照權益的2%為虧損額度來計算下單手數。如果是反手(這里也可以是加倉)就把權益先扣除2%。2、止損止盈做到,盈虧比是2:1。

    另外,我止損放在條件語句中不行嗎?
             If(MarketPosition==1)//有多倉的情況
             {
               If(HighestAfterEntry[1]>=myentryprice+StopLossSet*2*minpoint Or Open<=myentryprice-StopLossSet*minpoint)
                 {
                       Sell(0,Open);
                      }
              }
    這里的Open<=myentryprice-StopLossSet*minpoint也就是說的止損。我不大清楚TB語言里 或者 是不是用OR來表示。
    myentryprice這個變量我是參考止損止盈的模板設置了,我改改看看

     

  • 網友回復:
    xiaokakaren 發表于 2015-12-15 13:53
    老師的理解是對的,1、每次開倉按照權益的2%為虧損額度來計算下單手數。如果是反手(這里也可以是加倉) ...

    不好意思,沒看到那個或的條件。止損可以放在那里的。
    1、每次開倉按照權益的2%,反手或者加倉先把權益扣除2%。
    這個實現關鍵在于你要把權益給統計出來。你可以用一個序列變量來記錄權益。每當平倉時自動統計平倉盈虧。
    你的開倉價、平倉價、開倉手數已經是有變量的。手續費可以自己設定。
            Numeric feerate;                                                //手續費比例
            Numeric fee;                                                //手續費
            Numeric traderesult(0);                                //單次交易盈虧
            NumericSeries voidequity(100000);                //資金權益

                    fee=2*myentryprice*ContractUnit*BigPointValue*feerate;
                    traderesult=(myentryprice-open)*ContractUnit*BigPointValue-fee;
                    voidequity=voidequity+traderesult;

    2、止損止盈的的觸發價格,可以采用high/low這樣的,更及時。
    你使用highestafterentry[1]來止盈,使用open來止損,也可以,做的會滯后一點。
    不過你的myentryprice要改成序列變量。


 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 511411198  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 日本高清xxxxx | 一个人在线观看免费视频www | 老司机精品免费视频 | 国产特黄特色a级在线视频 国产特黄特色a级在线视 | 国产在线91精品天天更新 | 成人香蕉视频 | 玖玖视频精品 | 欧美一区二区三区影院 | 欧美色图欧美色图 | 国产综合色在线视频 | 国产免费爱在线观看视频 | 亚洲视频天天射 | 亚洲一区二区中文 | 国产一区二区高清 | 日韩视频在线免费观看 | 在线观看国产日本 | 精品国模一区二区三区 | 欧美性精品hd在线观看 | 欧美国产成人一区二区三区 | 好男人午夜影院 | 极品精品国产超清自在线观看 | 欧美一区二区在线 | 午夜影院黄色 | 成人毛片免费 | 99精品热视频 | 婷婷人人爽人人做人人添 | 在线免费看黄色 | 亚洲一区导航 | 亚洲三级国产 | 一机黄色片 | 天堂网a | 国产91精品一区二区视色 | 亚洲va欧美va国产综合久久 | 亚洲欧美强伦一区二区另类 | 欧美日韩三级在线 | 高清一级毛片一本到免费观看 | 国产精品亚洲欧美日韩久久 | 国产一国产一有一级毛片 | 青青草国产97免久久费观看 | 免费观看性欧美大片无片纯爱 | 清清草视频在线观看 |