以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  记录价格的问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=159859)

--  作者:安公子
--  发布时间:2017/11/25 12:47:26
--  记录价格的问题

比方说,满足CON1,记录价格为A,序列号为1;满足A+100,记录价格为B,序列号为2;满足B+100,记录价格为C,序列号为3;满足C+100,记录价格为D;,序列号为4,以此类推,这样就形成了价格序列。

1.那这个,A,B,C,D,如何用代码表示,如果用ENTERPRICE,有时比方说C点,我不做交易,价格计算还停留在B,那这个序列规则就断了。有没有其他的表示方法?

2.这个序列怎样表示,老师帮我写一下,谢谢啦!

 


--  作者:wenarm
--  发布时间:2017/11/27 8:44:17
--  
什么意思,你是想把Abcd都放到一个序列变量中。
--  作者:FireScript
--  发布时间:2017/11/27 9:02:31
--  

abcd的价格具体是什么价格?开高低收?

序列中总共需要记录多少个价格,没有限制还是有限个数。


--  作者:安公子
--  发布时间:2017/11/27 10:33:56
--  

比方说一个品种,价格突破20线买入,突破价格为3800,我买入2手,

当价格到达3900,我买入2手,

当价格到达4000,我买入2手,

当价格到达4100,我买入2手,

当价格到达4200,我不加仓了,但我需要记录此时的价格,因为止损前移100点,

当价格到达4300,我不加仓了,但我需要记录此时的价格,因为止损前移100点,


--  作者:安公子
--  发布时间:2017/11/27 10:34:54
--  

比方说一个品种,价格突破20线买入,突破价格为3800,我买入2手,

当价格到达3900,我买入2手,

当价格到达4000,我买入2手,

当价格到达4100,我买入2手,

当价格到达4200,我不加仓了,但我需要记录此时的价格,因为止损前移100点,

当价格到达4300,我不加仓了,但我需要记录此时的价格,因为止损前移100点,


--  作者:安公子
--  发布时间:2017/11/27 10:42:35
--  
因为我现在用的时ENTERPRICE,必须有开仓才记录价格,那碰到4200,我不交易了,它就不能记录4200的价格,而还是记录4100,这直接影响到止损的前移
--  作者:安公子
--  发布时间:2017/11/27 10:44:35
--  
或者,有没有开0手的代码表达式???
--  作者:FireScript
--  发布时间:2017/11/27 13:14:04
--  

你的价格是否添加到序列中完全依据与当时的开仓条件是否成立?

需要用数组来保存。

比如这样:
 VARIABLE:arry[5]:=0;

 if cond1 then  buy(holding=0,1,market);arry[1]:=c;//满足开仓条件1的时候,把c存到数组里面

if cond2 then buy(holding=0,1,market); arry[2]:=c;

 

 


--  作者:安公子
--  发布时间:2017/11/27 15:07:35
--  
以下是引用FireScript在2017/11/27 13:14:04的发言:

你的价格是否添加到序列中完全依据与当时的开仓条件是否成立?

需要用数组来保存。

比如这样:
 VARIABLE:arry[5]:=0;

 if cond1 then  buy(holding=0,1,market);arry[1]:=c;//满足开仓条件1的时候,把c存到数组里面

if cond2 then buy(holding=0,1,market); arry[2]:=c;

 

 价格是否添加到序列中,完全依据与数组中前一价格的价格差,满足大于100。


--  作者:FireScript
--  发布时间:2017/11/27 15:28:05
--  

那这样试下:

VARIABLE:arry[5]:=0;
VARIABLE:num:=0;


if cond1 or cond2 or cond3 then //开仓条件1到N
begin
if c>arry[num]+100 or num=0 then
begin
arry[num+1]:=c;
num:=num+1;
end
end