Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
明心 发表于: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交易指令即可交易!

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

2楼
admin 发表于:2010/12/21 11:17:55

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交易指令即可交易!

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

[此贴子已经被作者于2010-12-22 11:26:14编辑过]
3楼
Morgan 发表于:2010/12/21 11:38:51

好贵哦 能便宜点吗 啊哈哈

4楼
Morgan 发表于:2010/12/21 11:40:07
ADMIN送我金币 我想看看
5楼
Morgan 发表于:2010/12/21 12:16:00
图片点击可在新窗口打开查看没金币啊 送我1个啊
6楼
hshcompass 发表于:2010/12/21 13:51:16

非常好,价值灰常高

7楼
glymh 发表于:2010/12/21 15:56:14

有金币就买图片点击可在新窗口打开查看

8楼
wangwatercup 发表于:2010/12/22 10:38:40

为啥无法购买论坛点券啊?网页总是打不开阿

 

9楼
fly 发表于:2010/12/23 10:51:08
ADMIN贴出的就是楼主发的.
10楼
xian_0_9 发表于:2010/12/23 12:12:09

非常非常非常非常支持!!!!!!谢谢明心MM~ 图片点击可在新窗口打开查看

共19 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.