以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  这是程式化交易设计指南第66页例的一个问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=86598)

--  作者:shannon
--  发布时间:2015/10/26 10:59:00
--  这是程式化交易设计指南第66页例的一个问题

{这是程式化交易设计指南第66页例}
{买入信号临时变量:收盘创200天新高}
MYBUY:=CLOSE=HHV(CLOSE,200); //HHV(CLOSE,200)这个函数返回的应该是创新高当日的收盘价,
//MYBUY是序列变量,为什么是信号1,以下第13行buy(i)=1,如果buy是数组,为什么直接等于开盘信号1?
MYSELL:=CLOSE;
CLOSEPRICE:=CLOSE;
<%
close=FFL.VarData("CLOSEPRICE")
buy=FFL.VarData("MYBUY")                //buy定义为数组
sell=FFL.VarData("MYSELL")
lastbuyprice=0
for i=0 to UBOUND(close)
sell(i)=0
if (lastbuyprice>0) then
buy(i)=0
end if
if (lastbuyprice=0) AND (buy(i)=1) then //为什么直接等于开盘信号1,buy是不是数组?
lastbuyprice=close(i)
end if

if (lastbuyprice>0) AND ((close(i)>(1.1*lastbuyprice)) OR (close(i)<(0.92*lastbuyprice))) then
sell(i)=1
lastbuyprice=0
end if
next
FFL.VarData("MYBUY")=buy
FFL.VarData("MYSELL")=sell
%>
ENTERLONG:MYBUY;
EXITLONG:MYSELL;

 


--  作者:yukizzc
--  发布时间:2015/10/26 14:24:19
--  
buy(i)=1  这个表示条件满足,这里是把开仓条件直接传入vbs然后直接对这个条件进行判断是否成立
--  作者:shannon
--  发布时间:2015/10/26 15:30:17
--  
我的想法是,buy(i)不是函数,它不会在条件满足时返回1或0。  问一下,用什么调试函数在消息框里看到数组的元数表?
--  作者:shannon
--  发布时间:2015/10/26 15:41:41
--  
程序里,没有对buy(i)进行判断,直接给出开仓信号,加载后确实是执行了,可这是什么样的一个机制?请给我讲明白一下