开拓者期货期权程序化系统交易论坛

标题: 请求帮助: [打印本页]

作者: kgy000    时间: 2009-12-13 17:46:14     标题: 请求帮助:

LC := REF(CLOSE,2);
VID := SUM(VOL,2)/(((HHV(HIGH,2)-LLV(LOW,2)))*100);
RC := (CLOSE-LC)*VID;
LONG := SUM(RC,0);
DIFF := SMA(LONG,15,1);
DEA := SMA(LONG,20,1);
LON : DIFF-DEA;

cross(lon,0);平原来仓,并且买入开仓
cross(0,lon);平原来仓,并且卖出开仓

可以设置仓位百分比!
谢谢!!
作者: kgy000    时间: 2009-12-14 10:17:02

》》》》》》怎么开期货户,我是湖南的?
作者: lh948    时间: 2009-12-14 11:18:15

Vars
        NumericSeries diff;
        NumericSeries dea;
        NumericSeries lon;
        Numeric vid;
        NumericSeries rc;
        NumericSeries mlong;
Begin
       
       
        If(BarStatus==0)
                mlong=0;
        Else If(CurrentBar>=2)
        {
               
                vid=Summation(Vol,2)/((Highest(HIGH,2)-Lowest(LOW,2))*100);
                rc=(Close-Close[2])*vid;
                //mlong=rc+mlong[1];
       
                mlong=Summation(rc,CurrentBar+1);
                diff=SMA(mlong,15,1);
                dea=SMA(mlong,20,1);
                lon=diff-dea;
                If(CrossOver(lon,0))
                {
                        Buy(1,0);
                }Else If(CrossUnder(lon,0))
                {
                        SellShort(1,0);
                }
        }
Commentary("rc="+Text(rc));
Commentary("mlong="+Text(mlong));
End
作者: chengjun1201    时间: 2009-12-14 12:11:16

钱龙长线指标

钱龙长线指标(英文名LON)应用法则:

1、买入点判断:当在零轴下方,lon(白线)向上交叉均线时开始关注该股。直到lon穿过零轴绿色柱状线翻红方可作为中长线介入点。

2、卖出点判断:当在零轴上方,一旦lon线向下交叉均线形成死叉就应该立即卖出。二、指标优点:

优点一:信号稳定,可提前给出见顶信号。

例如:ST实达(600734)在2001年5月6日形成头部以后,股价在后来二次冲高未成功,在这里形成双顶M头的K线形态随后开始一轮下跌。而钱龙长线指标LON指标在6月5日就早早地发出了卖出信号,随后红色柱状线缩短意味着中线上升趋势的衰减。

同样例子还有山西焦化2001年12月7日的情形。

优点二:过滤掉一些虚假信号。

例如:中石化(600028)由于上市定价过高自上市以来一直处于一个下跌的趋势中,其中虽然有两三次上涨但是都没有逆转下跌趋势。从LON指标来看根本不符合我们的买入条件。而你用其他指标会发现其中有一段时间有买入信号发出,按照该法操作会有一定的损失,而LON指标恰恰弥补了这一点。

优点三:对一些庄股非常有效。

例如:民丰特纸(600235)在2001年8月8日及9月27日这一段时间内,股价波动很小横向震荡整理,在这段时间里其它技术指标很难判断,而运用LON指标就很容易判断出最近买入点。
--------------------------------------------------------------------------------
钱龙长线
{P :10, 1, 200}

LC := REF(CLOSE,1);
VID := SUM(VOL,2)/(((HHV(HIGH,2)-LLV(LOW,2)))*100);
RC := (CLOSE-LC)*VID;
LONG := SUM(RC,0);
DIFF := SMA(LONG,10,1);
DEA := SMA(LONG,20,1);
LON : DIFF-DEA;
LONMA : MA(LON,P);
LON, COLORSTICK;
作者: kgy000    时间: 2009-12-14 15:24:51

谢谢,!!!!!!!!!!!!!!!!
作者: kgy000    时间: 2009-12-14 15:28:54

好像少了第一行   Lc......
作者: kgy000    时间: 2009-12-14 15:30:40

另外,仓位设置如何弄?
作者: kgy000    时间: 2009-12-14 20:36:52

怎么搞的,结果跟我的不一样?
作者: kgy000    时间: 2009-12-14 21:13:35

LC := REF(CLOSE,1);

是不是没有REF这个函数?
作者: lh948    时间: 2009-12-14 23:33:49

ref(close,1)相当于close[1],即表示上一个bar的收盘价
作者: kgy000    时间: 2009-12-15 10:20:05

编译以后,效果怎么和通达信软件不一样?
作者: kgy000    时间: 2009-12-15 10:20:23

。。。。。。。。。。。。。。。。
作者: lh948    时间: 2009-12-15 12:06:19

已修改,请看3楼
作者: kgy000    时间: 2009-12-30 08:15:21

还是不行,经常没有信号?
作者: lh948    时间: 2009-12-30 11:00:34

条件满足了没有信号?
作者: kgy000    时间: 2009-12-30 12:56:41

是的                  。。。
作者: kgy000    时间: 2009-12-30 12:58:49

有的信号,也跟通达信期货软件提示不符。
作者: kgy000    时间: 2009-12-30 13:14:00

Params        // 宣告参数定义
              
        Numeric Lots(50);
Vars
        NumericSeries diff;
        NumericSeries dea;
        NumericSeries lonma;
                NumericSeries lon;
        Numeric vid;
        NumericSeries rc;
        NumericSeries mlong;
Begin
        
        
        If(BarStatus==0)
                mlong=0;
        Else If(CurrentBar>=2)
        {
               
                vid=Summation(Vol,2)/((Highest(HIGH,2)-Lowest(LOW,2))*100);
                rc=(Close-Close[1])*vid;
                //mlong=rc+mlong[1];
        
                mlong=Summation(rc,CurrentBar+1);
                diff=SMA(mlong,15,1);
                dea=SMA(mlong,20,1);
                lon=diff-dea;
                                lonma=AverageFC(lon,9);
                If(CrossOver(lon,lonma))
                {
                        BuyToCover(0,0);
                        Buy(lots,0);
                }Else If(CrossUnder(lon,lonma))
                {
                        Sell(0,0);
                        SellShort(lots,0);
                }
        }
Commentary("rc="+Text(rc));
Commentary("mlong="+Text(mlong));
End

[ 本帖最后由 kgy000 于 2009-12-30 13:19 编辑 ]
作者: lh948    时间: 2009-12-30 17:04:21

你是指后面满足条件后没有开仓是吗?
您的交易设置限制了开仓手数
作者: kgy000    时间: 2009-12-31 09:20:27

设置为1手,也是这样子!
作者: Z188888    时间: 2009-12-31 09:34:56     标题: 回复 3# lh948 的帖子

If(CrossOver(lon,0))
                {
                        Buy(1,0);
                }Else If(CrossUnder(lon,0))
                {
                        SellShort(1,0);
                }
   请问版主,如果要反手延迟5秒怎么写。谢谢!
作者: lh948    时间: 2009-12-31 10:06:28

已解决

Vars
        NumericSeries diff;
        NumericSeries dea;
        NumericSeries lon;
        Numeric vid;
        NumericSeries rc;
        NumericSeries mlong;
Begin
        
        
        If(BarStatus==0)
                mlong=0;
        Else If(CurrentBar>=2)
        {
                If(high==Low)
                                        vid=0;
                                Else
                                        vid=Summation(Vol,2)/((Highest(HIGH,2)-Lowest(LOW,2))*100);
                rc=(Close-Close[2])*vid;
                //mlong=rc+mlong[1];
        
                mlong=Summation(rc,CurrentBar+1);
                diff=SMA(mlong,15,1);
                dea=SMA(mlong,20,1);
                lon=diff-dea;
                If(CrossOver(lon,0))
                {
                        Buy(1,0);
                }Else If(CrossUnder(lon,0))
                {
                        SellShort(1,0);
                }
        }
Commentary("vid="+Text(vid));
Commentary("CurrentBar="+Text(CurrentBar));
Commentary("mlong="+Text(mlong));
Commentary("rc="+Text(rc));
End

配合以下指标,可以查看lon
Params
        
Vars
        NumericSeries diff;
        NumericSeries dea;
        NumericSeries lon;
        Numeric vid;
        NumericSeries rc;
        NumericSeries mlong;
Begin
        If(BarStatus==0)
                mlong=0;
        Else If(CurrentBar>=2)
        {
                If(high==Low)
                                        vid=0;
                Else
                        vid=Summation(Vol,2)/((Highest(HIGH,2)-Lowest(LOW,2))*100);
                rc=(Close-Close[2])*vid;
                mlong=Summation(rc,CurrentBar+1);
                diff=SMA(mlong,15,1);
                dea=SMA(mlong,20,1);
                lon=diff-dea;
        }
        PlotNumeric("line",0);
        PlotNumeric("lon",lon);
End
作者: lh948    时间: 2009-12-31 10:09:58

原因是因为有两个bar的最高和最低相等,导致出错
tb和通达信不同,k线小结时间不同等等一些因素,会导致在信号上会有点差异,毕竟是两个软件
作者: kgy000    时间: 2010-1-3 15:14:27

多谢老师!!!!!!!!!!!!




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2