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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请问做多止损后如行情再次上涨,如何编写语句在上一次开多的价格入场?

   

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


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

主题:请问做多止损后如行情再次上涨,如何编写语句在上一次开多的价格入场?

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2010/8/24 13:48:43    Post IP:58.246.57.26[显示全部帖子]

试试这个

 

把你开仓时的AVGENTERPRICE记录下来,假设为P1=AVGENTERPRICE,

判断如果SELL止损成功,就用BUY(1,30%,STOPR,P1)挂一个P1价位的多单,会在价格再次上涨>=p1时,以当时的对手价下单。

判断如果HOLDING>0,设置相同止损,就用你自己的语句SELL(持仓>0,持仓,Stopr,Price-NS);//NS为止损点数



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
只显示变量数值  发帖心情 Post By:2010/8/24 16:55:59    Post IP:58.246.57.26[显示全部帖子]

这样的你试试

BK:=CROSS(H, hhv(ref(h,1),20));
SK:=CROSS(llv(ref(l,1), 20),L);

 

if BK and time>090100 and time<145500 then
 begin
 SELLSHORT(holding<0,0,limitr,h);    //以本周期的最高价挂单--平仓
 BUY(NOT(TYPE(1)=1) and holding=0,30%,limitr,h); //以本周期的最高价挂单--开仓
 end

 

price1:=AVGENTERPRICE;
SELL(holding>0,0,Stopr,Price1-NS);//NS为止损点数

if holding=0 then BUY(1,30%,STOPR,price1);


if SK and time>090100 and time<145500 then
 begin
 SELL(holding>0,0,limitr,l);  //以本周期的最低价挂单
 BUY(NOT(TYPE(1)=3) and holding=0,30%,limitr,l);
 end

 

price2:=AVGENTERPRICE;
SELLSHORT(holding<0,0,Stopr,Price2+NS);//NS为止损点数
if holding=0 then BUYSHORT(1,30%,STOPR,PRICE2);



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2010/8/24 17:09:28    Post IP:58.246.57.26[显示全部帖子]

上海期货交易所的合约,模拟的支持STOP及STOPR,所以,最好测试该市场的合约。

 

我的主要改动有3

1.每次开仓,都先判断是否有持仓。

原因:金字塔,同一个合约,自动化交易时,你不能同时持有多仓和空仓。

如果非要两方向都要,就象4楼说的那样,要用全局变量来操作.

 

2.把你下单时的 市价下单---都改成了本周期限价下单。

原因:模拟的时候,最好不要用市价下单,会出问题。

 

我改的不足之处,请高手也帮忙修改



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2010/8/25 9:11:29    Post IP:58.246.57.26[显示全部帖子]

是未成交标志,在工具--选项--视图 里,有“显示未成交标志”,钩去掉即可

 

我只是给你想实现的东东提供了一个思路,如果没有达到预期的设定效果,那你就考虑想你的策略是否合适了

 

你对函数的理解有不到位的地方

if holding=0 then BUY(1,30%,STOPR,price1);

当HOLDING=0时,虽然条件满足了,但并不会下多单。

原因:BUY函数在使用STOPR类型时,只有当最新价大于等于price1时,才会以当时的对手价发出委托。----相当于一个条件单(当最新价>=某值,买开仓)



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2010/8/25 11:48:07    Post IP:58.246.57.26[显示全部帖子]

做多入场,止损后当价格再次上穿做多入场价继续做多(止损不反手),再止损再次上穿做多入场价继续做多,以此类推,直到平多出场。

你加个止赢条件。

只在这一种条件下看你能不能做出来。

 

你自己先试一个条件的,由简单开始,一个块一个块往里加

 

variable:flag=0;      //加全局变量

BK:=CROSS(H, hhv(ref(h,1),20));
SK:=CROSS(llv(ref(l,1), 20),L);

 
if BK and time>090100 and time<145500 then
  begin
  SELLSHORT(holding<0,0,limitr,h);    //以本周期的最高价挂单--平仓
  BUY(NOT(TYPE(1)=1) and holding=0,30%,limitr,h); //以本周期的最高价挂单--开仓
  
  flag=1;
  end


if holding>0 and flag=1 then price1:=AVGENTERPRICE;

if holding>0 then
 begin
 SELL(1,0,Stopr,Price1-NS);//NS为止损点数
 
 flag=2;
 end 
if holding=0 and flag=2 then BUY(1,30%,STOPR,price1);


if SK and time>090100 and time<145500 then
  begin
  SELL(holding>0,0,limitr,l);  //以本周期的最低价挂单
  BUY(NOT(TYPE(1)=3) and holding=0,30%,limitr,l);
  
  flag=3;
  end

if holding<0 and flag=3 then price2:=AVGENTERPRICE;

if holding>0 then
 begin
 SELLSHORT(1,0,Stopr,Price2+NS);//NS为止损点数
 
 flag=4;
 end
if holding=0 and flag=4 then BUYSHORT(1,30%,STOPR,PRICE2);



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2010/8/27 14:09:16    Post IP:58.246.57.26[显示全部帖子]

是的。图表自动化交易各系统是独立的,用enterprice可以获取各自系统的入场价。



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部