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

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

求解此程序的問題在哪里? [開拓者 TB]

  • 咨詢內容: Params
            Numeric N1(6);
            Numeric N2(5);
            Numeric FastLength(12);
            Numeric SlowLength(26);
            Numeric MACDLength(9);
            Numeric Lots(1);
            Numeric X(10);
    Vars
        Numeric HD;
            Numeric MACDValue;
            Numeric AvgMACD;
            NumericSeries M1;
            NumericSeries M2;
            NumericSeries HH;
            NumericSeries LL;
            Numeric bartime;
            String sectionname;
            String PCName;
            String MP;
            Numeric OrderIndex;

    Begin
        HD=MinMove*PriceScale;       
           

            MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
            AvgMACD = XAverage(MACDValue,MACDLength);
           
            M1 = dema(c,5);
            M2 = dema(c,22);
         
            If(MarketPosition!=0)                   //畫開倉價
            {PlotNumeric("c",EntryPrice);}
           
            If(CurrentBar < MaxBarsBack) Return;

            // 當前BAR的日期和時間
            bartime = Date*1000000+Time*1000000;

            // 準備保存交易信號的數據庫塊名
            sectionname = Symbol+"_"+IIFString(BarType==0,"D","M")+Text(BarInterval)+"_"+FormulaName;  
        PCName = Symbol+"_"+IIFString(BarType==0,"D","M")+Text(BarInterval)+"_"+FormulaName;
           
            // 實時交易才記錄交易信號
            If(BarStatus == 2 And Date == CurrentDate)
            {
                    MP = GetTBProfileString(sectionname,Text(bartime)+"_MP");
                   
                    //If(MarketPosition <>1 && M1[1] > M2[1])
                    If( MP <> "1" And MarketPosition ==0 And MACDValue >=AvgMACD AND M1>=M2 )
                    {
                            // 按順序給當前BAR的交易信號編號并記錄在數據庫中
                            OrderIndex = Value(GetTBProfileString(sectionname,Text(bartime)+"_OrderCnt"));
                            If(OrderIndex == InvalidNumeric) OrderIndex = 1;
                            Else OrderIndex = OrderIndex + 1;
                            SetTBProfileString(sectionname,Text(bartime)+"_TotalOrder",Text(OrderIndex));

                            // 記錄數據庫交易信號的MarketPosition
                            MP = "1";
                            SetTBProfileString(sectionname,Text(bartime)+"_MP",MP);
                           
                            // 記錄交易信號的方向和價格,1多  -1空

                            //Buy(Lots,Open);
                            SetTBProfileString(sectionname,Text(bartime)+"_Order_"+Trim(Text(OrderIndex)),"1");
                            SetTBProfileString(sectionname,Text(bartime)+"_Price_"+Trim(Text(OrderIndex)),Text(Close));
                    }

                    //If(MarketPosition <>-1 && M1[1] < M2[1])
                    If(MP <> "-1" And MarketPosition ==0 And MACDValue<=AvgMACD AND M1<=M2)
                    {
                            // 按順序給當前BAR的交易信號編號并記錄在數據庫中
                            OrderIndex = Value(GetTBProfileString(sectionname,Text(bartime)+"_OrderCnt"));
                            If(OrderIndex == InvalidNumeric) OrderIndex = 1;
                            Else OrderIndex = OrderIndex + 1;
                            SetTBProfileString(sectionname,Text(bartime)+"_TotalOrder",Text(OrderIndex));

                            // 記錄數據庫交易信號的MarketPosition
                            MP = "-1";
                            SetTBProfileString(sectionname,Text(bartime)+"_MP",MP);
                           
                            // 記錄交易信號的方向和價格,1多  -1空

                            //SellShort(Lots,Open);
                            SetTBProfileString(sectionname,Text(bartime)+"_Order_"+Trim(Text(OrderIndex)),"-1");
                            SetTBProfileString(sectionname,Text(bartime)+"_Price_"+Trim(Text(OrderIndex)),Text(Close));
                    }
            }
           

            // 根據數據庫中記錄的該BAR的交易信號,順序發出交易指令

           
            // 第一筆交易
            OrderIndex =1;
            If(GetTBProfileString(sectionname,Text(bartime)+"_Order_"+Text(OrderIndex)) == InvalidString)                // 沒有記錄則返回
            {
                    Return;
            }
            Else                // 否則發出交易指令
            {
                    If(GetTBProfileString(sectionname,Text(bartime)+"_Order_"+Text(OrderIndex)) == "1")
                    {
                            Buy(0,Value(GetTBProfileString(sectionname,Text(bartime)+"_Price_"+Text(OrderIndex))));
                    }
                    Else If(GetTBProfileString(sectionname,Text(bartime)+"_Order_"+Text(OrderIndex)) == "-1")
                    {
                            SellShort(0,Value(GetTBProfileString(sectionname,Text(bartime)+"_Price_"+Text(OrderIndex))));
                    }
            }
           
           
            //定義開倉后的最高最低點
            If(MarketPosition<>0)
                    {               
                      If(GetTBProfileString(PCname,Text(bartime)+"HH") == InvalidString)    //開倉時記錄開倉價位高低點
                      {
                       SetTBProfileString(PCName,Text(bartime)+"HH",Text(EntryPrice));
                       SetTBProfileString(PCName,Text(bartime)+"LL",Text(EntryPrice));
                      }
                      Else                                                
                      {
                      If(C>Value(GetTBProfileString(PCName,Text(bartime)+"HH")))            //開倉后更新高點
                            {
                              SetTBProfileString(PCName,Text(bartime)+"HH",Text(C));
                            }
                      If(C<Value(GetTBProfileString(PCName,Text(bartime)+"LL")))            //開倉后更新低點
                            {
                            SetTBProfileString(PCName,Text(bartime)+"LL",Text(C));
                            }
                      }
                    }
             
           
        If(MarketPosition==1 )
            {
              If( Value(GetTBProfileString(pcname,Text(bartime)+"LL"))<=EntryPrice-X*HD)
               {Sell(0,Min(o,EntryPrice-X*HD));}              //止損
                                  
              ELSE If(Value(GetTBProfileString(pcname,Text(bartime)+"HH"))>=EntryPrice+X*HD AND C<=Value(GetTBProfileString(pcname,Text(bartime)+"HH"))-X*HD)  //跟蹤止盈
               {Sell(0,Min(o,Value(GetTBProfileString(pcname,Text(bartime)+"HH"))-X*HD));}
            }
            If(MarketPosition==-1 )
            {
              If( Value(GetTBProfileString(pcname,Text(bartime)+"HH"))>=EntryPrice+X*HD)
               {BuyToCover(0,Max(o,EntryPrice+X*HD));}
              ELSE If(Value(GetTBProfileString(pcname,Text(bartime)+"LL"))<=EntryPrice-X*HD AND C>=Value(GetTBProfileString(pcname,Text(bartime)+"LL"))+X*HD)
               {BuyToCover(0,MAX(o,Value(GetTBProfileString(pcname,Text(bartime)+"LL"))+X*HD));}
            }
    END

     

  • TB技術人員: 你程序輸出有什么問題

 

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

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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 亚洲欧美久久婷婷爱综合一区天堂 | 日本欧美一区二区三区在线观看 | 污污视频网址 | 麻豆国产一区 | 美女视频黄是免费的 | 全黄大全大色全免费大片 | 日韩国产片 | 亚洲一区色| 人与鲁牲交持级毛片 | 国产91亚洲精品 | 久久久国产精品免费 | 一区二区三区中文国产亚洲 | 日韩欧美一区二区久久 | www.九色视频 | 国产成人ay手机在线观看 | 黄 在线| 男女爽爽无遮挡午夜视频在线观看 | 国产一级一片免费播放i | 久久免费精品视频 | 日日碰夜夜 | 久操视频在线观看 | 久久午夜国产片 | 在线精品亚洲 | 在线你懂的视频 | 97人人艹 | 国产美女一级ba大片免色 | 首页 动漫 亚洲 欧美 日韩 | 美女1819xxxx| 在线亚洲欧国产精品专区 | 黄色亚洲视频 | 国产成人精品999在线观看 | 中文字幕无线码欧美成人 | 国产毛片久久国产 | 久久精品国产免费一区 | 韩国理伦伦片在线观看 | 一级黄色片在线看 | 久久6热 | 18jzjzz国产 | 午夜剧院官方 | 国产日韩欧美亚洲综合在线 | 午夜国产在线观看 |