大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(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  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 黄色成人在线视频 | 伊人久久亚洲综合 | 亚洲精品久久午夜香蕉 | 四虎影视在线观看2413 | 国产系列 视频二区 | 亚洲国产成a人v在线 | 国产亚洲精品久久久久久久软件 | 亚洲精品国产啊女成拍色拍 | 老司机精品视频个人在观看 | 成年女人视频播放免费观看 | 爱操在线| 日本免费在线一区 | 国产亚洲精品久久久久久牛牛 | 美国黑人特大一级毛片 | 国产麻豆视频在线看网站 | 香蕉国产人午夜视频在线 | 四虎在线视频观看大全影视 | 全免费午夜一级毛片一级毛 | 香蕉久久夜色精品国产小说 | 日日夜夜免费视频 | 成年人黄色小视频 | 天天射天天添 | 亚洲一区二区三区在线播放 | 在线日本中文字幕 | 久久综合视频网站 | 四虎永久免费影院 | 99re这里只有精品国产精品 | 日本一级特黄毛片高清视频 | 亚洲欧美日韩在线中文一 | 日韩黄色大片免费看 | 欧美亚洲国产日韩综合在线播放 | 干干干操操操 | 亚洲欧美日韩精品久久亚洲区 | 国产精品精品视频 | 香蕉一区二区三区观 | 欧美日韩中文字幕在线 | 99热久久只有精品99只有精品 | 国产精品100页 | 久久精品亚洲精品国产欧美 | 午夜影院一区二区三区 | 国产成人高清在线观看播放 |