您現在的位置:程序化交易>> 期貨公式>> (MC)multicharts>> MC公式>>正文內容

網格交易法策略源碼[MC公式]

  •  網格交易法的源碼

 

 

  • //+------------------------------------------------------------------+

    //|                                                      Grid1.1.mq4 |

    //|                                          Copy* 順勢加碼 2006 |

    //|         www.tumamayizhan.com
    //+------------------------------------------------------------------+

    #property copy* "Copy* 順勢加碼 2006"

    #property link      "bonnyshi@gmail.com"

    #include <stdlib.mqh>



    extern double GridStep=50;        //格幅

    extern double GridLength=100;   //格長

    double PivotPr, Multiple, i, Lots=0.1, STOPLEVEL, TP, ST;

    string Text="Grid";

    int Magic, j, BuyCount, SellCount, DTS, Ticket;

    //+------------------------------------------------------------------+

    int init()    //初始化部分將定義參數賦值: 每次在start里面都可能被賦值一次,消耗時間

       

        if (DTS==4)  DTS=2;

           else  DTS=0;

        Magic =105;

        GridStep =GridStep*Point;

        GridLength =GridLength*Point;

        STOPLEVEL =MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;

        return(0);

       



    //+------------------------------------------------------------------+

    int start()

    {

        Multiple =NormalizeDouble((Bid-NormalizeDouble(Bid,DTS))/GridStep, 0); // 評rint 檢查這地方出值為0  

        PivotPr =NormalizeDouble(Bid,DTS) +GridStep*Multiple;

        // 下網格布網

        for(i=PivotPr; i>=PivotPr-GridLength; i=i-GridStep)

           {

            BuyCount=0; SellCount=0;

            for(j=0; j<OrdersTotal(); j++)

               {

                if(OrderSelect(j,SELECT_BY_POS)==false) return(0);

      

                if(OrderMagicNumber()==Magic && NormalizeDouble(OrderOpenPr(),DTS)==NormalizeDouble(i,DTS) )

                  {

                   if(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT )    BuyCount++;

                   if(OrderType()==OP_SELL || OrderType()==OP_SELLSTOP )     SellCount++;

                  }

               }

            if(BuyCount==0)

               {

                TP =i+GridStep; ST=0;

                if(Ask-i>=STOPLEVEL)

                  {

                  Ticket =OrderSend(Symbol(),OP_BUYLIMIT,Lots,i,0,ST,TP,"Grid - BuyLimit",Magic,0,0);

                  if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   BuyLimit=",i," 開倉成功");

                    else Alert( Symbol(),"Grid - BuyLimit=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                  Sleep(10000);

                  }

               if(Ask==i)

                  {

                   Ticket=OrderSend(Symbol(),OP_BUY,Lots,i,0,ST,TP,"Grid - Buy",Magic,0,0);

                   if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   Buy=",i," 開倉成功");

                   else Alert( Symbol(),"Grid - Buy=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                   Sleep(10000);

                 }

              }

           if(SellCount==0)

              {

               TP=i-GridStep;ST=0;

               if(Bid-i>=STOPLEVEL)

                 {

                  Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,i,0,ST,TP,"Grid - SellStop",Magic,0,0);

                  if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   SellStop=",i," 開倉成功");

                  else Alert( Symbol(),"Grid - SellStop=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                  Sleep(10000);

                 }

               if(Bid==i)

                 {

                  Ticket=OrderSend(Symbol(),OP_SELL,Lots,i,0,ST,TP,"Grid - Sell",Magic,0,0);

                  if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid -   BuyLimit=",i," 開倉成功");

                  else Alert( Symbol(),"Grid - BuyLimit=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                  Sleep(10000);

                 }

              }

          }   

      

       // 上網格布網 www.tumamayizhan.com
       
       for(i=PivotPr+GridStep;i<=PivotPr+GridLength;i=i+GridStep)

          {

      

           BuyCount=0;SellCount=0;

           for(j=0;j<OrdersTotal();j++)

              {

               if(OrderSelect(j,SELECT_BY_POS)==false) return(0);

               if(OrderMagicNumber()==Magic && NormalizeDouble(OrderOpenPrice(),DTS)==NormalizeDouble(i,DTS) )

                 {

                  if(OrderType()==OP_BUY || OrderType()==OP_BUYSTOP)    BuyCount++;   

                  if(OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT)  SellCount++;

                 }

              }

           if(BuyCount==0)

              {

               TP=i+GridStep;ST=0;

               if(i-Ask>=STOPLEVEL)

                 {Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,i,0,ST,TP,"Grid +  BuyStop",Magic,0,0);

                  if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid +    BuyStop=",i," 開倉成功");

                  else Alert( Symbol(),"Grid +  BuyStop=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                  Sleep(10000);

                 }

               if(i==Ask)

                 {

                 Ticket=OrderSend(Symbol(),OP_BUY,Lots,i,0,ST,TP,"Grid +  Buy",Magic,0,0);

                 if(Ticket>0) Alert(Symbol(),"  ",Ticket,"Grid +   Buy=",i," 開倉成功");

                 else Alert( Symbol(),"Grid +  Buy=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                 Sleep(10000);

                }

             }

         if(SellCount==0)

             {

              TP=i-GridStep;ST=0;

              if(i-Bid>=STOPLEVEL)

                {

                Ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lots,i,0,ST,TP,"Grid +  SellLimit",Magic,0,0);

                if (Ticket>0) Alert(Symbol()," ",Ticket,"Grid +    SellLimit=",i," 開倉成功");

                else Alert( Symbol(),"Grid +  SellLimit=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                Sleep(10000);

                }  

              if(i==Bid)

                {

                Ticket=OrderSend(Symbol(),OP_SELL,Lots,i,0,ST,TP,"Grid + Sell",Magic,0,0);

                if(Ticket>0) Alert(Symbol(),"  ",Ticket,"Grid +    Sell=",i," 開倉成功");

                else Alert( Symbol(),"Grid +  Sell=",i," 開倉失敗:",ErrorDescription(GetLastError()));

                Sleep(10000);

                }

             }

        }

       

    //---- www.tumamayizhan.com

       return(0);

    }

    //+------------------------------------------------------------------+

 

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

可聯系技術人員 QQ: 1145508240  有需要幫忙請點擊這里留言!!!進行 有償 編寫!不貴!點擊查看價格!

 


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

相關文章

    沒有相關內容
  主站蜘蛛池模板: 亚洲国产精品sss在线观看AV| 99re热久久| 一本色道无码道dvd在线观看| √天堂资源地址在线官网| 中文字幕の友人北条麻妃| 两个人看的www高清免费视频| 一边摸一边叫床一边爽| www..com色| 69精品免费视频| 尤物yw午夜国产精品视频| 麻豆视频免费播放| 黑人一个接一个上来糟蹋| 顾明月媚肉生香全文| 色一情一乱一伦一区二区三区| 窝窝午夜看片成人精品| 精品xxxxxbbbb欧美中文| 波多野结衣xxxxx在线播放| 欧美国产成人精品一区二区三区| 日韩高清在线高清免费| 性护士movievideobest| 天天躁夜夜躁狠狠躁2021| 国产自产拍精品视频免费看| 国产精品一二三区| 国产亚洲自拍一区| 啊啊啊好大好爽视频| 人妻aⅴ无码一区二区三区| 亚洲欧美成人网| 久久永久免费人妻精品| а√在线地址最新版| 97色伦综合在线欧美视频| 婷婷六月丁香午夜爱爱| 色综合久久中文字幕无码| 男女一进一出呻吟的动态图| 欧美三级中文字幕在线观看| 无码av专区丝袜专区| 天天综合在线观看| 国产成人综合亚洲AV第一页| 噼里啪啦完整高清观看视频| 亲子乱子xxxxxx| 亚洲AV无码一区二区三区在线播放| 丰满少妇人妻久久久久久|