Rss & SiteMap

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

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

标题:请教 ,帮看看

1楼
beely 发表于:2018/4/4 12:17:46
dc1:=5*mindiff;
dc2:=10*mindiff;

variable:a=0;
variable:b=0;

kd:=open+dc1 and holding=0;
kk:=open-dc1 and holding=0;

开空:buyshort(kk,1,market);
开多:buy(kd,1,market);

repeat
begin
if a<c then a=c;
if a>c+dc2 and holding>0 then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);
end
if b>c then b=c;
if b<c+dc2 and holding<0 then
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market);
end
if time>=185900 then
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end
end
until time>185930


用了循环     一加载到图标上就卡住了  ,是陷入死循环了吗
2楼
wenarm 发表于:2018/4/4 12:28:34

你使用循环是为了实现什么操作思路。

你代码中的处理方式压根就不适合PEL策略处理的机制。本身策略就是按时间方向,不多循环运行的

[此贴子已经被作者于2018/4/4 12:30:42编辑过]
3楼
beely 发表于:2018/4/4 12:49:32
以下是引用wenarm在2018/4/4 12:28:34的发言:

你使用循环是为了实现什么操作思路。

你代码中的处理方式压根就不适合PEL策略处理的机制。本身策略就是按时间方向,不多循环运行的

[此贴子已经被作者于2018/4/4 12:30:42编辑过]

我是想实现在一个判断周期内变量不被重置
4楼
wenarm 发表于:2018/4/4 13:15:20

k线计算过程中,每根k上的值,如果k起始位置未发生变化的情况下,其变量的在每根k值,一般不会发生变化。

 

而且是上面的处理方式也控制不了。首先CLOSE,本身就是序列变量,它在时间方向上。(历史部分)其值就不会变。

 

或者你说明下,你遇到的具体是什么问题,才考虑用上面的方式进行处理的?

 

5楼
beely 发表于:2018/4/4 13:35:24
以下是引用wenarm在2018/4/4 13:15:20的发言:

k线计算过程中,每根k上的值,如果k起始位置未发生变化的情况下,其变量的在每根k值,一般不会发生变化。

 

而且是上面的处理方式也控制不了。首先CLOSE,本身就是序列变量,它在时间方向上。(历史部分)其值就不会变。

 

或者你说明下,你遇到的具体是什么问题,才考虑用上面的方式进行处理的?

 

谢谢你,我的策略是在开盘后确定开仓方向,然后以实时价回调或者反弹10个点做反手交易的日内交易,我也不知道我现在这种编程思路对不对,还希望指教下,
6楼
wenarm 发表于:2018/4/4 14:08:30
以下是引用beely在2018/4/4 13:35:24的发言:

谢谢你,我的策略是在开盘后确定开仓方向,然后以实时价回调或者反弹10个点做反手交易的日内交易,我也不知道我现在这种编程思路对不对,还希望指教下,

你这个需求,直接就能,根据holding的状态判断当前图表的仓位方向。

不过你需要先了解pel的语法特点以及其图表后台的机制问题。

 

holding>0代表多头持仓,

holding<0代表多空持仓,

holding=0代表持仓为0,

 

例如:价格上涨10个点位,后进行平多开空.(已经存在持仓情况)

if   holding>0 and ENTERPRICE<close+10*mindiff then begin
 sell();
 BUYSHORT();

end

 

7楼
beely 发表于:2018/4/4 14:20:53
以下是引用wenarm在2018/4/4 14:08:30的发言:

你这个需求,直接就能,根据holding的状态判断当前图表的仓位方向。

不过你需要先了解pel的语法特点以及其图表后台的机制问题。

 

holding>0代表多头持仓,

holding<0代表多空持仓,

holding=0代表持仓为0,

 

例如:价格上涨10个点位,后进行平多开空.(已经存在持仓情况)

if   holding>0 and ENTERPRICE<close+10*mindiff then begin
 sell();
 BUYSHORT();

end

 

谢谢你,我的思路不是上涨10个点反手交易,是开仓后开始计算历史最高价回调十个点就反手交易多转空(历史最低价反弹10个点反手空转多),请问这怎么实现?
8楼
wenarm 发表于:2018/4/4 14:29:51

一样的。开仓以来以来的最高价

HH:hhv(high,ENTERBARS);

直接拿这个和当前行情比较就行了。

9楼
wenarm 发表于:2018/4/4 14:35:33

buy(BARPOS=1,1,MARKETr);

 

if   holding>0 and hhv(high,ENTERBARS)<close+10*mindiff  and  ENTERBARS>0  then begin
 sell();
 BUYSHORT();

end

 

hhv(high,ENTERBARS)可以得到开仓以来的最高价,当然你也可以通过全局变量进行标记。

 

[此贴子已经被作者于2018/4/4 14:36:41编辑过]
10楼
beely 发表于:2018/4/4 16:21:59
以下是引用wenarm在2018/4/4 14:35:33的发言:

buy(BARPOS=1,1,MARKETr);

 

if   holding>0 and hhv(high,ENTERBARS)<close+10*mindiff  and  ENTERBARS>0  then begin
 sell();
 BUYSHORT();

end

 

hhv(high,ENTERBARS)可以得到开仓以来的最高价,当然你也可以通过全局变量进行标记。

 

[此贴子已经被作者于2018/4/4 14:36:41编辑过]

灰常感谢,我之前就是想用全局变量,但是没处理好。
[此贴子已经被作者于2018/4/4 16:23:23编辑过]
共26 条记录, 每页显示 10 条, 页签: [1] [2][3]


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