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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如何实现这种平仓方式

   

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


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

主题:如何实现这种平仓方式

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


加好友 发短信
等级:新手上路 帖子:92 积分:0 威望:0 精华:0 注册:2017/10/10 14:37:01
如何实现这种平仓方式  发帖心情 Post By:2017/11/14 13:16:19    Post IP:180.174.75.122[显示全部帖子]

请问老师,如何实现当盈利大于50点时候,收盘价格低于(boll1)平仓,当盈利大于80点时候,收盘价格低于(boll2)平仓,然后下面的平仓方式也保持不变,请问如何写代码?万分感谢!!!


LastBollTime:ref(time,BARSLAST(BOLL<REF(BOLL,1)));//表示上次BOLL<REF(BOLL,1)的时候的time
LastBollTime1:ref(time,BARSLAST(BOLL>REF(BOLL,1)));//表示上次BOLL<REF(BOLL,1)的时候的time

PD:time-LastBollTime1>60*5 AND C<下;
PK:time-LastBollTime>60*5 AND C>上;


PD3:=BOLL_60<BOLL_昨天60;
PK3:=BOLL_60>BOLL_昨天60;


//交易系统
平空:SELLSHORT((PK OR PK3) and enterbars>0,8,MARKET);             //平空信号
开多:BUY(KD AND HOLDING=0,8,MARKET);         //开多信号
平多:SELL((PD OR PD3) AND enterbars>0,8,MARKET);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,8,MARKET);//开空信号


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


加好友 发短信
等级:新手上路 帖子:92 积分:0 威望:0 精华:0 注册:2017/10/10 14:37:01
  发帖心情 Post By:2017/11/14 13:18:49    Post IP:180.174.75.122[显示全部帖子]

还有一个是,当盈利超过200点,立马平仓(不是收盘价也不是次周期价格)

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


加好友 发短信
等级:新手上路 帖子:92 积分:0 威望:0 精华:0 注册:2017/10/10 14:37:01
  发帖心情 Post By:2017/11/14 21:02:47    Post IP:180.174.75.122[显示全部帖子]

老师,1,2,3需求都对的,盈利是指最近一次交易的盈利。 boll是我自己输入的值,这个boll我可以自己调试

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


加好友 发短信
等级:新手上路 帖子:92 积分:0 威望:0 精华:0 注册:2017/10/10 14:37:01
  发帖心情 Post By:2017/11/15 10:49:01    Post IP:180.174.75.122[显示全部帖子]

这串代码放在什么位置,是交易条件里面吗

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


加好友 发短信
等级:新手上路 帖子:92 积分:0 威望:0 精华:0 注册:2017/10/10 14:37:01
  发帖心情 Post By:2017/11/24 16:38:25    Post IP:49.71.46.131[显示全部帖子]

代码样例如下:你整合到你自己原先代码里面去吧。

input:boll1(5,1,100,1),boll2(5,1,100,1);//参数输入
temp:=c-ENTERPRICE;
if holding>0 then Profit:=temp;else if holding<0 then Profit:=(-temp);
if holding=0 then Profit:=0;

if Profit>=50*MINDIFF and Profit<80*MINDIFF and c<boll1 then 
begin
sell(holding>0,holding,MARKET);
sellshort(holding<0,holding,MARKET);
end

if Profit>=80*MINDIFF and c<boll2 then 
begin
sell(holding>0,holding,MARKET);
sellshort(holding<0,holding,MARKET);
end

if Profit>200*MINDIFF then 
begin
sell(holding>0,holding,MARKET);
sellshort(holding<0,holding,MARKET);
end


这串代码里面当盈利超过50小于80时候,收盘价小于boll1平多或平空、  

 我想把这段分开写,平多是收盘价小于boll,平空是收盘价大于boll3,超过80和200 的也需要分开写。


[此贴子已经被作者于2017/11/24 16:39:40编辑过]

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


加好友 发短信
等级:新手上路 帖子:92 积分:0 威望:0 精华:0 注册:2017/10/10 14:37:01
  发帖心情 Post By:2017/11/24 18:56:38    Post IP:49.71.46.131[显示全部帖子]

temp:=c-ENTERPRICE;
if holding>0 then Profit:=temp;else if holding<0 then Profit:=(-temp);
if holding=0 then Profit:=0;

if Profit>40*MINDIFF and Profit<80*MINDIFF and C<WU then sell(holding>0,1,MARKET);
if Profit>40*MINDIFF and Profit<80*MINDIFF and C>WB then sellshort(holding<0,1,MARKET);

if Profit>80*MINDIFF and c<上 then sell(holding>0,1,MARKET);
if Profit>80*MINDIFF and c>下 then sellshort(holding<0,1,MARKET);

if Profit>150*MINDIFF then 
begin
sell(holding>0,1,MARKET);
sellshort(holding<0,1,MARKET);
end

VARIABLE:isProfit=0;
if Profit>10*MINDIFF and isProfit=0 then isProfit:=1;
if ISProfit and Profit<=2*MINDIFF then
begin
sell(holding>0,1,MARKET);
sellshort(holding<0,1,MARKET);
isProfit:=0;//平仓后全局变量重置为0
end

这样写可以吗?

 回到顶部