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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 每月交接日(第三个星期五)平仓的VBA代码如何写?

   

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


  共有1562人关注过本帖树形打印复制链接

主题:每月交接日(第三个星期五)平仓的VBA代码如何写?

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


加好友 发短信
等级:论坛游侠 帖子:252 积分:1001 威望:0 精华:0 注册:2010/2/15 16:47:58
每月交接日(第三个星期五)平仓的VBA代码如何写?  发帖心情 Post By:2021/3/1 14:21:41 [只看该作者]

variable:n=0;

if weekday<ref(weekday,1) then n:=n+1;

if month<>ref(month,1) then n:=1;

if n=3 and weekday=5 and time=closetime(0) then begin

    sell(1,0,market);

    sellshort(1,0,market);

end

'''''''''''''''''''''''''''''''''''''''''''''''''''''

请教下:

VBA代码如何写?

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/3/1 15:01:15 [只看该作者]

你可以直接用vba调用pel的方式去调用pel里现成的指标

 

Set Formula = marketdata.STKINDI("if08","zj","ma(5,10,20,60)",0,0) '调用中金所IF08合约的1分钟的MA移动平均线指标,参数依次是5,10,20,60

msgbox Formula.GetBufData("ma3",924) '显示第925k线上的MA3指标线数值


 回到顶部
帅哥哟,离线,有人找我吗?
solarhe2006
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:252 积分:1001 威望:0 精华:0 注册:2010/2/15 16:47:58
  发帖心情 Post By:2021/3/1 15:42:13 [只看该作者]

你好,请把这句:
if month<>ref(month,1) then n:=1;
用VBA语言写一下吗?

 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/3/1 16:22:38 [只看该作者]

'得到上期所指定品种的日线数据

Set data1= marketdata.GetHistoryData("rb00","sq",5)

 

先取得一个数组,然后这个data1有一个属性

Date

读取或设置基于0零指定序号的日期,例如 History.Date(10) = "2000-1-1",表示设置第11个数据的日期

 

这是一个字符串你还要根据这个字符串去判断最新一个数据的月和前面一个数据的月是否一样。

 

 

建议如果不是必须你直接用pel的结果调用过来就行了,如果要用vba纯写你需要自己做很多代码处理工作


 回到顶部
帅哥哟,离线,有人找我吗?
solarhe2006
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:252 积分:1001 威望:0 精华:0 注册:2010/2/15 16:47:58
  发帖心情 Post By:2021/3/1 17:52:01 [只看该作者]

Sub SmpYearHour()

'以对话框显示当前时间

MsgBox "当前日期:" & Day(Date) &"_" & Day(Date-1)

if Day(Date)< Day(Date-1)then
MsgBox "当前日期是月初第一天:" & Year(Now()) & "年" & Month(Now()) & "月" & Day(Now())
else
MsgBox Year(Now()) & "年" & Month(Now()) & "月" & Day(Now()) & "不用换月"
end if

End Sub
我有个VBA程序,想每个月初执行一次,目前是这么写的月初执行,想试试VBA其他的写法。图表交易和后台交易就不要用了,金字塔的PYTHON完善后我再试试PYTHON吧。

 回到顶部