以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=160307)

--  作者:代人发贴
--  发布时间:2017/12/11 9:36:49
--  转换成金字塔交易指标
开空条件1:=4000>o and o>c&&c>3960;

平空条件1:=4000<o and o<c || c<3650 ;

开空条件2:=3900>o and o>c&&c>3860;

平空条件2:=3900<o and o<c || c<3650 ;

开空条件3:=3800>o and o>c&&c>3760;

平空条件3:=3800<o and o<c || c<3650 ;

开空:BUYSHORT(开空条件1 and holding=0,3,MARKET);
平空:SELLSHORT(平空条件1,3,MARKET);//

开空:BUYSHORT(开空条件2 and holding=0,3,MARKET);
平空:SELLSHORT(平空条件2,4,MARKET);

开空:BUYSHORT(开空条件3 and holding=0,3,MARKET);
平空:SELLSHORT(平空条件3,5,MARKET);
--  作者:代人发贴
--  发布时间:2017/12/11 10:23:55
--  
5分钟K,
1.价格跌破4000位置,且开盘价,收盘价都在4000之下,收阴线,开空3手,
如果随后反弹4000之上,且开盘价,收盘价都在4000之上,平仓止损,

2..价格继续跌破3900位置,且开盘价,收盘价都在3900之下,收阴线,开空3手,
如果随后反弹3900之上,且开盘价,收盘价都在3900之上,平仓4手止损,

3.价格继续跌破3800位置,且开盘价,收盘价都在3800之下,收阴线,开空3手,
如果随后反弹3800之上,且开盘价,收盘价都在3800之上,平仓5手止损,

如果价格最终下跌至3600,全部平仓。


--  作者:FireScript
--  发布时间:2017/12/11 13:17:42
--  
如果初始价格就在3900以下或者3800以下或者更低?你的处理逻辑是怎样的。
--  作者:代人发贴
--  发布时间:2017/12/11 13:29:28
--  
 如果初始价格就在3900以下或者3800以下或者更低 不做开仓,初始价格一定在4000之上才会运行系统 

--  作者:FireScript
--  发布时间:2017/12/11 14:02:51
--  
还有个问题如果开仓之后第一次加仓是在价格直降跌破3800但又大于3600时候触发的  .然后价格直接反弹至大于3900小于4000 这个程度。 你的平仓如何处理? 等于是加仓在第三个条件触发,止损是直接触发第一个加仓条件。 这时候怎么平仓?  你这几个“如果随后反弹.....之上” 条件还要定义的更详细点才行。
--  作者:代人发贴
--  发布时间:2017/12/11 14:12:42
--  
 不管在第几个条件加仓,只要反弹了,就平仓。
如果是加仓在第三个条件触发,止损是直接触发第一个条件。 就平仓?

--  作者:FireScript
--  发布时间:2017/12/11 14:17:17
--  
以下是引用代人发贴在2017/12/11 14:12:42的发言:
 不管在第几个条件加仓,只要反弹了,就平仓。
如果是加仓在第三个条件触发,止损是直接触发第一个条件。 就平仓?

问题你设置的平仓手数不一致啊。  比如我第一次加仓是在开仓之后价格直接跌到3750加仓的,然后直接反弹到3850这个位置,那我怎么平仓呢?5手还是4手?这是个问题啊。 


--  作者:代人发贴
--  发布时间:2017/12/11 14:37:18
--  
那就全都改成平3手吧,所有的开仓是3手,平仓也是3手

 假如我之前有手工开的空单,
5分钟K价格继续跌破3900位置,且开盘价,收盘价都在3900之下,收阴线,开空3手,
如果随后反弹3900之上,且开盘价,收盘价都在3900之上,平仓5手止损.。
这样的一个系统可以写吗?


--  作者:FireScript
--  发布时间:2017/12/11 15:06:16
--  

if o<4000 and ref(h,1)>4000 and o>c then buyshort(holding=0,3,market);//开仓条件,限制开仓条件一定要是有从4000下跌到4000以下这个过程才开仓
if ENTERPRICE<4000 and c>4000 and o>4000 and holding<0 then sellshort(1,holding,MARKET);

if c<3900 and c>3800 and c<ENTERPRICE and O>c and holding<0 then buyshort(1,3,market);//加仓条件,且加仓是价格必须小于上一次开仓或者加仓的价格
if ENTERPRICE<3900 and and c>3900 and c<4000 and holding<0 then sellshort(1,3,MARKET);//止损,无论当前价格在那个层次,只要反弹超过上次开仓价,止损。


if c<3800  and c>3600 and c<ENTERPRICE and O>c and holding<0  then buyshort(1,3,market);//加仓条件,且加仓是价格必须小于上一次开仓或者加仓的价格
if ENTERPRICE<3800 and c>3800 and c<3900 and holding<0 then sellshort(1,3,MARKET);//止损,无论当前价格在那个层次,只要反弹超过上次开仓价,止损。

if c<3600 and  holding<0 then sellshort(holding<0,holding,market);////全平止盈

 

 

图表无法和手工开仓直接关联,半手动半自动的实现比较难。图表读取实际账号的情况作为条件会引发很多问题。