以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  如何公式表述  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=166167)

--  作者:strongcheng
--  发布时间:2018/10/27 23:17:51
--  如何公式表述

请教老师,如何在公式中表述这几种开仓条件,当根K线最高价高于某价位即时下单,最低价低于某价位即时下单,这里的某价位是个变动量,是用CROSS函数还是直接用大于或小于式子来表示,两种方式,用固定轮询方式,好像即时下单的点位会有不同,另外,如用CROSS函数,当根K线最高价高于某价位即时下单是CROSS(HIGH,某价位),最低价低于某价位即时下单是cross(某价位,Low),请问这样表述,对吗?谢谢

 


--  作者:wenarm
--  发布时间:2018/10/29 8:35:53
--  

1.如果你需的是一个范围,就直接使用大于小于。如果你需要求的高于或者低于的那个点的状态,就直接用cross. 

2.固定轮询和策略运行没有必然关系,它只是检测信号的时机控制。例如10秒间隔,代表每隔10秒,检测策略信号是否成立,抓取到信号就下单。

3.如用CROSS函数,当根K线最高价高于某价位即时下单是CROSS(HIGH,某价位),最低价低于某价位即时下单是cross(某价位,Low)请问这样表述,对吗

表述是对的,

 


--  作者:strongcheng
--  发布时间:2018/10/30 12:25:15
--  
如果把CROSS(HIGH,某价位)换成某价位<high,cross(某价位,Low)换成某价位>low也可以吗,我发现如果换后,信号即时成交的价格不同了。这是怎么回事呢。我的原想法是,在出现高于与低于某价位的情况,即时以报价下单。
--  作者:strongcheng
--  发布时间:2018/10/30 12:30:04
--  
我原来怕漏信号还把多空下单条件分别写成:CROSS(HIGH,某价位) or 某价位<high 和cross(某价位,Low) or 某价位>low。
--  作者:banzhuan
--  发布时间:2018/10/30 13:04:49
--  
某价位 < high   和  某价位 > low 当然也是可以的 。
信号即时成交的价格不同了 什么意思呢?麻烦再描述一下。 是指委托价格和成交价格不同吗?

--  作者:strongcheng
--  发布时间:2018/10/31 10:30:51
--  
主要是实盘时,出现,以多头方向为例:
如某价位等于3200,现报价3198,此时报价也是本周期当条K线最低价,按道理此时符合某价位>LOW的条件,成交报价应该是3198,但实盘时往往是比这个价高5个点左右,如3205这样。搞不清楚是什么原因。我是用固定轮询,1秒扫描频率。搞不清是什么原因。是我对LOW的理解有误吗?LOW是不是指前根K线的最低价吗,即LOW必须是当根K线走完才会确定吗?

--  作者:banzhuan
--  发布时间:2018/10/31 10:36:36
--  
1、low就是本根K线上的最低价,如果你要前根K线的最新价用ref(low,1);
2、满足条件使用限价还是市价报单的呢 ? 两者是有区别的

--  作者:strongcheng
--  发布时间:2018/10/31 10:37:35
--  
M1:EMA(C,4);
M2:EMA(C,13);
//多头进仓条件
long:CROSS(M2,M1);
if long  then 
begin
sellshort(HOLDING<0,holding,THISCLOSE);
end
len1:BARSLAST(long);
开多:buy(holding=0 and LOW<M1 and len1<=4 and len1>0 ,1,THISCLOSE);

//空头进仓条件
long2:CROSS(M1,M2);
if long2  then 
begin
sell(HOLDING>0,holding,thisclose);
end
len2:BARSLAST(long2);
开空:buyshort(holding=0 and HIGH>M1 and len2<=4 and len2>0,1,THISCLOSE);


--  作者:banzhuan
--  发布时间:2018/10/31 10:55:01
--  
1、这里的最低价是本根K线的最低价,如果你要前根K线的最低价用 ref(low,1);
2、thisclose在实盘中按市价委托报单,还是你要指定价格报单,需要确认一下 
开多:buy(holding=0 and LOW<M1 and len1<=4 and len1>0 ,1,THISCLOSE);


--  作者:strongcheng
--  发布时间:2018/10/31 13:59:17
--  
其实我的原来想法是,只要当根K线最低价去到M1以下,以最低价最接近价格报价,按公式本来应该可实现的,但不知为何,实盘最后成交价总是与目标价差很多点,不明白的地方在这。