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

您現在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識>>正文內容

[原創]自動開關金字塔軟件、自動開啟交易等技巧 [金字塔]

  • 咨詢內容:

    整個流程為:

      8:40  自動開啟金字塔軟件,軟件登錄馬上加載交易圖表(Frame1)

      30秒后自動啟動圖表交易(整個過程需要一兩分鐘)

      17:30 自動執行收盤作業(請先設置好收盤作業的市場,和需要保存的K線周期)

      19:00 自動關閉金字塔軟件

      20:40 自動開啟金字塔軟件,軟件登錄馬上加載夜盤交易圖表(Frame2)

      30秒后自動啟動圖表交易(整個過程需要一兩分鐘)

      06:00 自動關閉金字塔軟件

     

    軟件分為兩部分,VC++部分用途為每天兩次自動開啟金字塔軟件并自動點擊“登錄”按鈕。程序在附件中,只有兩個文件(testTraderApi.exe和thostmduserapi.dll),該程序自動連接某期貨公司的ctp行情服務器,取得交易日日期,從而自動判斷當天是否交易,不交易不開啟金字塔軟件。請將testTraderApi.exe設置為隨Windows自動啟動即可(放個快捷方式到“開始菜單》程序》啟動”)。軟件下載:

     下載信息  [文件大小:   下載次數: ]點擊瀏覽該文件:自動開啟金字塔.zip
    為防止網友懷疑我在exe中加入盜號、盜策略等木馬程序,特附上該exe文件的源代碼供下載,大家也可以下載后自行編譯,并且還可以修改開啟金字塔的時間,源代碼下載: 下載信息  [文件大小:   下載次數: ]點擊瀏覽該文件:金字塔開機軟件.zip

     

  • 金字塔客服:

    第二部分為金字塔VBA代碼,可復制并放入金字塔的任何一個VBA模塊中:

     

    dim StartTime
    dim StartTrade
    dim HasDoClose

    Sub APPLICATION_Start()
     '''''''自動啟動相應的框架(分日盤、夜盤調出相應圖表,請自行疊加相應策略公式)
     if cdate(time)>cdate("06:00:00") and cdate(time)<cdate("18:00:00") then
     '''''''日盤交易,打開框架名“Frame1”
      application.ActivateFrame "Frame1"
     else
     '''''''夜盤交易,打開框架名“Frame2”
      application.ActivateFrame "Frame2"
     end if
     call application.Settimer(100,30000) '30秒時鐘循環
     StartTime = cdate(time)
     StartTrade = 0
     HasDoClose = 0
    End Sub

    Sub APPLICATION_Timer(ID)
     if ID=100 then
      if StartTrade=0 then
       ''''''''''''''啟動圖表交易
       Set Wrap = CreateObject("DynamicWrapper")
       Wrap.Register "user32.dll","FindWindowA","i=ss","f=s", "r=l"
       Wrap.Register "user32.dll","FindWindowExA","i=llss","f=s", "r=l"
       Wrap.Register "user32.dll","SendMessageA","i=lull","f=s", "r=l"
       WM_LBUTTONDOWN=513
       WM_LBUTTONUP=514
       h = Wrap.FindWindowA("#32770","圖表程式化交易 - 日盤框架 - 交易中") '框架名稱請自行定義,下同
       if h=0 then h = Wrap.FindWindowA("#32770","圖表程式化交易 - 夜盤框架 - 交易中")
       if h<>0 then
        Wrap.PostMessageA h,WM_CLOSE,0,0
        StartTrade=1
       else
        h = Wrap.FindWindowA("#32770","金字塔")
        if h<>0 then
         h2 = Wrap.FindWindowExA(h,0,"Button","是(&Y)")
         if h2<>0 then
          Wrap.SendMessageA h2,WM_LBUTTONDOWN,0,0
          Wrap.SendMessageA h2,WM_LBUTTONUP,0,0
         end if
        else
         h = Wrap.FindWindowA("#32770","圖表程式化交易 - 日盤框架 - 已停止")
         if h=0 then h = Wrap.FindWindowA("#32770","圖表程式化交易 - 夜盤框架 - 已停止")
         if h<>0 then
          h2 = Wrap.FindWindowExA(h,0,"Button","啟動交易")
          if h2<>0 then
           Wrap.SendMessageA h2,WM_LBUTTONDOWN,0,0
           Wrap.SendMessageA h2,WM_LBUTTONUP,0,0
          end if
         else
          application.PostMessage(33873)
         end if
        end if
       end if
      elseif HasDoClose=0 and cdate(time)>cdate("17:30:00") and cdate(time)<cdate("18:00:00") then
       ''''''''17:30~18:00啟動收盤
       HasDoClose=1
       call application.Settimer(5,2000)
       application.PostMessage(454)'收盤
      elseif (StartTime<cdate("16:00:00") and cdate(time)>cdate("19:00:00") and cdate(time)<cdate("19:30:00")) or ((StartTime<cdate("2:30:00") or StartTime>cdate("6:30:00")) and cdate(time)>cdate("06:00:00") and cdate(time)<cdate("06:30:00")) then
       '''''''''''''關閉金字塔程序(早上2:30前或前一日6:30后開啟的凌晨6點關閉,下午16點前開啟的19點關閉)
       Set Wrap = CreateObject("DynamicWrapper")
       Wrap.Register "user32.dll","FindWindowA","i=ss","f=s", "r=l"
       Wrap.Register "user32.dll","FindWindowExA","i=llss","f=s", "r=l"
       Wrap.Register "user32.dll","SendMessageA","i=lull","f=s", "r=l"
       WM_LBUTTONDOWN=513
       WM_LBUTTONUP=514
       h = Wrap.FindWindowA("#32770","金字塔")
       if h<>0 then
        h2 = Wrap.FindWindowExA(h,0,"Button","是(&Y)")
        if h2<>0 then
         Wrap.SendMessageA h2,WM_LBUTTONDOWN,0,0
         Wrap.SendMessageA h2,WM_LBUTTONUP,0,0
        end if
       else
        application.PostMessage(57665)
       end if
      end if
     elseif ID=5 then
      '''''''''''開始收盤
      call application.killtimer(5)
      Set Wrap = CreateObject("DynamicWrapper")
      Wrap.Register "user32.dll","FindWindowA","i=ss","f=s", "r=l"
      Wrap.Register "user32.dll","FindWindowExA","i=llss","f=s", "r=l"
      Wrap.Register "user32.dll","PostMessageA","i=lull","f=s", "r=l"
      WM_CLOSE=16
          call application.Settimer(7,600000)'10分鐘后關閉收盤窗口
      h = Wrap.FindWindowA("#32770","數據管理器")
      tab=Wrap.FindWindowExA(h,0,"SysTabControl32","Tab1")
      BM_CLICK=245
      h1=Wrap.FindWindowExA(tab,0,"#32770","")
      do while h1<>0
       bt=Wrap.FindWindowExA(h1,0,"Button","執行收盤(&X)")
       if bt<>0 then
        Wrap.PostMessageA bt,BM_CLICK,0,0
        h1=0
       else
        h1=Wrap.FindWindowExA(tab,h1,"#32770","")
       end if
      loop
      call application.Settimer(6,2000)
     elseif ID=6 then
          call application.killtimer(6)
          BM_CLICK=245
      Set Wrap = CreateObject("DynamicWrapper")
      Wrap.Register "user32.dll","FindWindowA","i=ss","f=s", "r=l"
      Wrap.Register "user32.dll","FindWindowExA","i=llss","f=s", "r=l"
      Wrap.Register "user32.dll","PostMessageA","i=lull","f=s", "r=l"
      h = Wrap.FindWindowA("#32770","金字塔")
      bt=Wrap.FindWindowExA(h,0,"Button","是(&Y)")
      Wrap.PostMessageA bt,BM_CLICK,0,0
     elseif ID=7 then
      '''''''結束收盤
          Set Wrap = CreateObject("DynamicWrapper")
      Wrap.Register "user32.dll","FindWindowA","i=ss","f=s", "r=l"
      Wrap.Register "user32.dll","FindWindowExA","i=llss","f=s", "r=l"
      Wrap.Register "user32.dll","PostMessageA","i=lull","f=s", "r=l"
      WM_CLOSE=16
      BM_CLICK=245
      h = Wrap.FindWindowA("#32770","金字塔")
      bt = 0
      bt = Wrap.FindWindowExA(h,0,"Button","確定")
      st = 0
      st = Wrap.FindWindowExA(h,0,"Static","收盤作業結束。")
      if bt<>0 and st<>0 then
       Wrap.PostMessageA h,WM_CLOSE,0,0
       h = Wrap.FindWindowA("#32770","數據管理器")
       Wrap.PostMessageA h,WM_CLOSE,0,0
       call application.killtimer(7)
       'SendMail "收盤作業完成","收盤作業完成" ''''發信息通知收盤完成,是否需要個人決定
      end if
     end if
    end sub

     

  • 用戶回復: 感謝klc無私提供的幫助

     

  • 網友回復:

    VBA部分,以往有不少網友不知道怎么用,上面僅用到兩個VBA事件:Sub APPLICATION_Start和Sub APPLICATION_Timer(ID),都是系統內置的,用金字塔菜單》工具》宏》V...B...工程就可以打開看到幾個模塊,任選一個模塊,把上面代碼添加即可。

     

    需要注意的是兩點:

    1、必須先停止VBA才能編輯模塊中的代碼

    2、APPLICATION_Start和APPLICATION_Timer,在整個金字塔中都必須各只有一個,如果原來已經有了,不要直接覆蓋,而是修改原來的代碼,加到Sub內部。

     

    另外,我原來寫過提高圖表交易程序效率的帖子,也寫過自動檢查金字塔運行狀態的帖子,都可以和本帖子的內容結合起來,結合的時候,注意同名函數的問題就行。同時,我原來還寫過盤后自動進行數據補充,可以結合起來,我自己的做法是,盤后先自動下載一次當天的分筆數據,下載完成后,進行一次當天數據K線檢查,檢查如果沒有發現問題,才啟動收盤,如果有問題,不收盤,短信通知。這個需要大家通過我幾個帖子結合起來,自行修改了。

     

     

     

     

    最后補充一個問題:exe可改名,dll不可改名

    [此貼子已經被作者于2013/10/23 13:45:12編輯過]

     

  • 網友回復: 感謝klc無私提供的幫助

 

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

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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 日韩精品欧美激情国产一区 | 未成人禁止视频高清在线观看 | 午夜视频网址 | 日本三级香港三级三级人 | www.人人干| 免费黄色看片 | 国产一级特黄生活片 | 小明台湾成人永久免费看看 | 成人男女网18免费0 成人男女网18免费91 | 多人性激烈的欧美三级视频 | 久久亚洲欧洲日产国码 | 日韩一区二区三区在线免费观看 | 狠狠色噜噜狠狠狠狠五月婷 | 日韩美a一级毛片 | 日本高清一区二区三区不卡免费 | 日本中文字幕精品理论在线 | 无码中文资源在线播放 | 狠狠操狠狠搞 | 免费一级 一片一毛片 | 成人福利在线免费观看 | 日韩高清一区二区 | 成人在线播放av | 日韩 欧美 亚洲 国产 | 国产精品久久久久久网站 | 一区二区三区欧美 | 日韩精品美女 | 一本大道香一蕉久在线影院 | 波多野结衣在线一区 | 国产农村精品一级毛片视频 | 亚洲第一网站 | 最近2019中文字幕大全第二页 | 国产人成在线视频 | 日本一本久 | 黄色片在线免费 | 亚洲手机国产精品 | 日韩免费在线观看视频 | 色视频在线免费观看 | 在线观看91精品国产不卡免费 | 成年人黄视频在线观看 | 在线观看深夜观看网站免费 | 爽爽爽爽爽爽爽太爽了免费观看 |