你好,我原来用的按键事件触发换成钩选的事件解发,无法触发,帮修正下可以吗-------------------------按键的代码,这是正常的----------------Sub bk_CommandButton4_Click()
if bk_CommandButton4.Caption="运行中" then
iRun=0
'暂停
bk_CommandButton4.Caption="暂停中"
bk_CommandButton4.backcolor=rgb(255,0,0)
else
iRun=1
'运行
bk_CommandButton4.Caption="运行中"
bk_CommandButton4.backcolor=rgb(0,255,0)
end if
End Sub
----------------------------换成钩选的代码,不能正常------------
Sub bk_CheckBox1_Activate()
'这个钩选的属性名字为CheckBox1
if bk_CheckBox1.Caption="运行中" then
'
if bk_CommandButton4.Caption="运行中" then
iRun=0
'暂停
bk_CheckBox1.Caption="暂停中"
else
iRun=1
'运行
bk_CheckBox1.Caption="运行中"
end if
End Sub
这样写也不行,应该事件没有触发 iRun=置1,只要 iRun=置1程序就会运行
两个都写iRun=1 iRun=1是开的标志Sub bk_CheckBox1_Activate()
'
if bk_CheckBox1.Checked = True then
' CheckBox1.Checked = True 表示选中
iRun=1
'暂停
else
iRun=1
'运行
' bk_CheckBox1.Checked = False表示关
end if
End Sub
那个窗体小方块打钩了
图片

此主题相关图片如下:qq图片20160426214746.jpg
这一句的意思可以帮解释一下吗,Set Formula = marketdata.STKINDI(sCode,sMarket,sPolicyName,0,iPeriod)
'取策略我的VBA在运行后,图表策略就好像失控了,完全不受图表的控制而受VBA单独控制olicyName="图表策略"
iPeriod=0
Set Formula = marketdata.STKINDI(sCode,sMarket,sPolicyName,0,iPeriod)
'取策略
'0 1分钟 1 5分钟 2 15分钟 3 30分钟 4 60分钟 5日线 6周线 7月线 8年线 9多日线 10分笔成交
'11多小时线 12多秒线 13多分钟线 14季度线 15半年线 16节气线 17 3分钟 18 10分钟 19 多笔线
iFlag=Formula.GetBufData("Flag",Formula.DataSize-1)
nFlagPrice=Formula.GetBufData("FlagPrice",Formula.DataSize-1)
iBars=Formula.GetBufData("Bars",Formula.DataSize-1)
'
iFlag=1 '图表策略持仓 如果在这VBA里强行写开平是可以改变结果
这个图表持仓完全在运行后无法控制VBA,所执行的就是VBA策略运行的图表策略1分钟策略(0)
如果要图表策略中强行写一个空仓,怎么写可以改变呀(或VBA单独去读一个变量也行,告知一下这个变量怎么在VBA里读)
这个取得就是图表策略里的返回值,不了解您的具体需求
你这个取值全是图表策略这个计算结果,本来就不是你vba自己去控制,你如果要自己控制就自己写变量咯
比如
fll = 1 这样吗
1、取得策略的返回值,但是我的策略在别的图表行情下运行,完全与当前的那个不同,但是他还是只执行最初那个IF05,就是VBA里写的这个,按理不是只开平这个合约按图表开平指示吗
如原策略为IF05 1 分钟,当前策略为做多;
我硬把策略运行于一个商品是做空的,按理策略结果要变,可是VBA还是只执行IF05的那个,不再管后面图表开不开,就算关了,一样的运行IF05
2、读取图表
如果我的图表里写有 KKK:=1 //一会让VBA取
这VBA取这值怎么写
sCode根据你这边传参的品种代码来决定的,这个其实就和你pel里面的stkindi一样跨品种跨周期调用
你策略里有输出kkk这个变量值就可以了,Formula.GetBufData("KKK",Formula.DataSize-1)
谢谢,可以读到了
图表的这个数据一开电脑就有了,有什么办法检查图表策略有没有运行的指令,我用写入数据的方式去识别他
VBA写入数据怎么写
如把0写入到KKK中