人人爽天天爽夜夜爽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  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 欧美天堂久久 | 日韩国产精品视频 | 成人在线播放网站 | zzji国产精品视频 | hd欧美xxx欧美极品hd | 国产精品9999 | xx视频在线永久免费观看 | 成年人免费网站视频 | 午夜高清免费在线观看 | 乱肉大合集小说 | 亚洲欧美专区 | 在线午夜影院 | 日本人成年视频在线观看 | 成人观看免费观看视频 | 亚洲欧美日韩国产综合久 | 一个人看的视频www免费 | 欧美特黄特刺激a一级淫片 欧美特黄视频在线观看 | 韩国伦理剧在线 | 中国女人free性hd国语 | 国产午夜在线视频 | 夜夜操夜夜爱 | 亚洲日本一区二区 | 粉色污视频 | 成年福利片120秒体验区 | 国内精品一区二区在线观看 | 久久精品免费播放 | 欧美成人免费一区在线播放 | 亚洲欧美人妖另类激情综合区 | 中文字幕亚洲视频 | 黄色理论片 | 色在线免费 | 成人网18免费软件 | 亚洲a成人7777777久久 | 欧美日本三级 | 全黄毛片| 欧美在线视频免费看 | 精品久久网 | 一级片一级毛片 | 欧美精选在线 | xx欧美| 日韩免费在线视频观看 |