大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频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  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 国产一级久久免费特黄 | 热久久久久 | 久久综久久美利坚合众国 | 国产精品免费综合一区视频 | 成人国产欧美精品一区二区 | 欧美金妇欧美乱妇xxxx | 国产中文欧美 | 91亚洲精品久久91 | 欧美特欧美特级一片 | 另类图片综合网 | 中文字幕日韩国产 | 免费视频 久久久 | 黄色的网站在线观看 | 久久99热这里只有精品高清 | 99中文字幕在线 | 中国国产高清一级毛片 | 有码中文字幕在线观看 | 97在线视频免费观看 | 美国黑人特大一级毛片 | 四虎国产精品一区二区 | 欧美一区二区在线播放 | 亚洲国产综合久久精品 | 亚洲美女在线观看播放 | 国产午夜精品不卡视频 | 国内精品久久久久久久久久久久 | 久久国产精品-国产精品 | 婷婷精品视频 | 日韩天天干 | 久久国产精品99久久久久久老狼 | 亚洲免费小视频 | 亚洲日日| 狠狠色婷婷综合天天久久丁香 | 四虎影视色费永久在线观看 | 精品综合一区二区三区 | 成人国产精品一级毛片天堂 | 91欧美在线视频 | 久cao在线观看视频 久re这里只有精品最新地址 | 中文字幕国产欧美 | 夜夜躁狠狠躁日日躁视频 | 中文字幕视频在线播放 | 久久精品久久久久久久久人 |