欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → [原创]等价K线交易之VBA(亏本大甩卖)!哈哈

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有19865人关注过本帖平板打印复制链接

主题:[原创]等价K线交易之VBA(亏本大甩卖)!哈哈

帅哥哟,离线,有人找我吗?
明心
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:274 积分:841 威望:0 精华:10 注册:2010/7/12 15:25:05
[原创]等价K线交易之VBA(亏本大甩卖)!哈哈  发帖心情 Post By:2010/12/21 11:16:38 [只看该作者]

i = 0
open = 0
m = 0
k = 0
j = 0
dtyl = 0
ktyl = 0
qj = 5   //根据自己需要修改

mj1close = 0
mj2close = 0

Sub dengjiaxian()
    ' 得到框架名称为"Technic",窗格名称为"Main"的窗格对象
    Set Grid = Technic.GetGridByName("Main")
    set minutedata = Grid.GetMinuteData
    Count =  minutedata.Count
    open = minutedata.newprice(0)
    mj1close = minutedata.newprice(0)
    mj2close = minutedata.newprice(0)

    for i = 1 to count-1
        close = minutedata.newprice(i)
        if close > open and close-open > qj then
           open = close
           if m = 0 then dtdbyk = 0 else dtdbyk = mj2close-close
           if m = 0-1 or m = 0 then
              mj1close = close
              dtyl = dtyl+dtdbyk
              application.MsgOut Date &" " &Time&" "& "第"&i+1&"笔"&" "&"多:"&" "&close&" "&"单笔盈利"&" "&" "&dtdbyk&" "& "当日空头累计盈利为:" &dtyl
              j = j+1
           end if
           m = 1
        elseif   close < open and open-close > qj then
           open = close
           if m = 0 then dtdbyk = 0 else ktdbyk = close - mj1close
           if m = 1 or m = 0 then
              mj2close = close
              ktyl = ktyl+ktdbyk
              application.MsgOut Date &" " &Time&" "& "第"&i+1&"笔"&" "&"空:"&" "&close&" "&"单笔盈利"&" "&" "&ktdbyk&" "&"当日多头累计盈利为:" &ktyl
              k = k+1
           end if
           m = 0-1
        end if
     next
End Sub

Sub APPLICATION_VBAStart()
 call Application.SetTimer(0,100) '创建一个0号定时器,间隔时间1秒
End Sub

Sub APPLICATION_Timer(ID)
    '定时器事件处理
     Application.ActivateFrame "Technic" '确保技术分析主框架处于激活状态
    
    ' 得到框架名称为"Technic",窗格名称为"Main"的窗格对象
    Set Grid = Technic.GetGridByName("Main")
    set minutedata = Grid.GetMinuteData
    Count =  minutedata.Count
        close = minutedata.newprice(Count-1)
     if Count-1 > i then  
        if close > open and close-open > qj then
           open = close
           if m = 0 then dtdbyk = 0 else dtdbyk = mj2close-close
           if m = 0-1 or m = 0 then
              mj1close = close
              dtyl = dtyl+dtdbyk
              application.MsgOut Date &" " &Time&" "& "第"&i+1&"笔"&" "&"多:"&" "&close&" "&"单笔盈利"&" "&" "&dtdbyk&" "& "当日空头累计盈利为:" &dtyl
              application.MsgOut Date &" " &Time&" "& "多头" &j& "次" &" "& "多头盈利" &ktyl& "点"&" "& "空头" &k& "次"&" "& "空头盈利" &dtyl& "点" &" "& "总计" &k+j& "次"&" "& "总盈利" &ktyl+dtyl& "点"
              j = j+1
           end if
           m = 1
        elseif   close < open and open-close > qj then
           open = close
           if m = 0 then dtdbyk = 0 else ktdbyk = close - mj1close
           if m = 1 or m = 0 then
              mj2close = close
              ktyl = ktyl+ktdbyk
              application.MsgOut Date &" " &Time&" "& "第"&i+1&"笔"&" "&"空:"&" "&close&" "&"单笔盈利"&" "&" "&ktdbyk&" "&"当日多头累计盈利为:" &ktyl
              application.MsgOut Date &" " &Time&" "& "多头" &j& "次" &" "& "多头盈利" &ktyl& "点"&" "& "空头" &k& "次"&" "& "空头盈利" &dtyl& "点" &" "& "总计" &k+j& "次"&" "& "总盈利" &ktyl+dtyl& "点"
              k = k+1
           end if
           m = 0-1
        end if      
     end if
End Sub

sub rnjy()
    call dengjiaxian()
    call APPLICATION_Timer(ID)
End Sub  

 

思路

第一次运行宏的时候利用历史数据给出一个结果。

然后根据实际情况给出实时的结果

 

提示:我这里已经构架了整体的思路,只是没有写交易指令部分。有需要的朋友,直接添加VBA交易指令即可交易!

这里只提供研究交流思路,模型不保证盈利!


[本帖被加为精华]
版主评定:好评,获得5个金币奖励好评,获得5个金币奖励
(理由:好文章)
 回到顶部
总数 19 1 2 下一页