人人爽天天爽夜夜爽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  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 成熟女人免费一级毛片 | 99在线观看国产 | 日本娇小hd| 亚洲国产午夜精品理论片的软件 | www.亚洲成人.com | 成人网网址 | 日日摸夜夜欧美一区二区 | 久久8 | 久久精品波多野结衣 | 老子影院午夜伦不卡不四虎卡 | 日本韩国三级在线观看 | 久久99毛片免费观看不卡 | 黄大色大片免费久久 | 精品欧美一区二区在线看片 | 日本大片成人免费网址 | 久久天堂夜夜一本婷婷麻豆 | 免费一级欧美片片线观看 | 天天做天天爱天天一爽一毛片 | 97视频在线免费播放 | 精品在线免费观看视频 | 五月开心久久 | 色哟哟www网站入口成人学校 | 欧美亚洲综合在线观看 | 久久精品成人免费网站 | 伊人婷婷 | www伊人 | 国产成人免费片在线视频观看 | 一本无线乱码不卡一二三四 | 亚洲黄色在线观看视频 | 在线观看国产一区二三区 | 国产一级特黄高清免费大片 | 欧美成人性生活片 | 欧美国产亚洲精品高清不卡 | 成人毛片高清视频观看 | 狠狠色婷婷狠狠狠亚洲综合 | 日本一区二区在线 | 黄色网址中文字幕 | 亚洲精品专区 | 黄色按摩视频 | 49vv婷婷网 | 日韩欧美视频在线一区二区 |