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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教关于代码改写

   

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


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

主题:请教关于代码改写

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
请教关于代码改写  发帖心情 Post By:2013/11/14 10:24:09    Post IP:58.19.244.62[显示全部帖子]

下面是“多头开仓均价盈利大于100点时,以盈利100点的位置为低点,100+N点为高点,这段距离回落一半止盈
”的代码。

如果改成“由开盘价上行大于100点时,以上行100点的位置为低点,100+N点为高点,这段距离回落一半止盈
”,应该怎么写呢,改了几次好像都有问题

 

variable:maxprofit=0;//有仓位时最大获利

 

if 条件 and holding=0  then
 begin
 buy();
 maxprofit:=0;
 end

 

win:=0;
win2:=0;

 

if holding > 0 and enterbars > 0 then
begin
 win:=(high-enterprice); //记录最大盈利
 if win > maxprofit then
  maxprofit:=win; 
 win2:=maxprofit-win; //最大盈利后的回调幅度
end

 

//多头止盈

if maxprofit>=100 and holding>0 then
SELL(win2<100+0.5*(maxprofit-100),1,market);


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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/14 10:49:04    Post IP:58.19.244.62[显示全部帖子]

以下是引用jinzhe在2013/11/14 10:38:18的发言:

这个不是一个概念?

 把H-enterprice改成open

我没说清楚,是当天日线的开盘价 callstock(stklabel,VTopen,6)

[此贴子已经被作者于2013/11/14 10:49:59编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/14 11:00:15    Post IP:58.19.244.62[显示全部帖子]

以下是引用jinzhe在2013/11/14 10:52:23的发言:

还是一样啊,把这个open替换成日线开盘价

原来是这样啊。。。。我想多了

if 条件 and holding=0 then
begin
buy();
maxprofit:=0;
end

那这一段中的赋值可以删掉了是吗


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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/14 11:07:04    Post IP:58.19.244.62[显示全部帖子]

以下是引用jinzhe在2013/11/14 11:02:33的发言:
看我第一段回复,只要改那个地方就行,思路是一样的,改动对应的变量

5分钟周期下,以价格距离当日的开盘价的变化来止盈,这没必要在开仓条件下写个maxprofit:=0 吧,与开仓价没关系啊

不管开仓价的盈亏,而是根据现价与开盘价的差价

[此贴子已经被作者于2013/11/14 11:07:57编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/14 11:44:47    Post IP:58.19.244.62[显示全部帖子]

以下是引用jinzhe在2013/11/14 11:21:04的发言:

variable:n=0;

if h>n then n:=h;

if h-o>100+n and h-o<= (100+n)/2 then sell();

 

这里的O定义成开盘O还是当前K线O,根据自己的需求来

[此贴子已经被作者于2013/11/14 11:21:36编辑过]

没看明白。。。N是要自动识别的,由当日开盘价上行大于100点后,以上行100点的位置为低点,上行100点后的高点为高点,这段距离回落一半止盈

[此贴子已经被作者于2013/11/14 11:46:17编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/14 13:36:27    Post IP:58.19.244.54[显示全部帖子]

以下是引用jinzhe在2013/11/14 13:11:35的发言:

variable:m=0;

o1:callstock(stklabel,vtopen,6);

if h>m then m:=h;

if m-o>100+n and h-o<= (100+n)/2 then sell();

 

M是最高价,m-o>100+n表示最高价到达过上行100+n,而H-O<(100+N)/2表示又回落了这一半

N需要赋值吗,100+n是要自动识别的,就是开盘价格上行超过100点之后的价格,为了方便就说是N点,具体是多少我也不知道

之后回落一半不是回落100+N的一半,而是回落100点这个价格点到100点之后的高点的一半,100点是要保留的

[此贴子已经被作者于2013/11/14 13:38:02编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/14 13:46:47    Post IP:58.19.244.54[显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:2013-11-14_134515.png
图片点击可在新窗口打开查看

就是超过100点后才开始计算最高点的价格,然后回落红色段这个距离的一半


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


加好友 发短信
等级:论坛游侠 帖子:538 积分:0 威望:0 精华:0 注册:2013/10/7 14:04:42
  发帖心情 Post By:2013/11/14 13:48:46    Post IP:58.19.244.54[显示全部帖子]

以下是引用jinzhe在2013/11/14 13:47:12的发言:

N点具体不知道是多少?而且还是要算出来的不是赋值的?

这个能算?

不是,就是我怕我的意思没说清楚,您看看我上面画的图


 回到顶部