设为首页收藏本站

 找回密码
 注册
查看: 5541|回复: 14
打印 上一主题 下一主题

初学者求助! [复制链接]

Rank: 5Rank: 5

精华
0
UID
3117
积分
1000
帖子
105
主题
46
阅读权限
60
注册时间
2008-12-22
最后登录
2012-10-22
跳转到指定楼层
1#
发表于 2009-1-13 22:00:04 |只看该作者 |倒序浏览
没有一点编程基础的我看了一星期的说明书,终于想先编个简单的试试可不可行,想不到就碰壁了,请各位老师帮我看看,问题出在哪里了,需要怎么改...

交易思路:今天收盘价大于前面10天的最高价,多开一手
             今天收盘价小于前面7天的最低价的,把之前的多单平了.


vars
  Numeric highestIn10Days;
  Numeric LowestIn7Days;
begin
highestIn10Days=highest(high[1],10);
LowestIn7Days=lowest(low[1],7);
If (MarketPosition==0)
{
  if(close>highestIn10Days);
{
buy(1,close);
}
  if(close<lowestIn7Days);
{
Sell(1,close);
}
}
End

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2009-1-14 08:49:36 |只看该作者
  1. vars
  2.     Numeric highestIn10Days;
  3.     Numeric LowestIn7Days;
  4. begin
  5.     highestIn10Days=highest(high[1],10);
  6.     LowestIn7Days=lowest(low[1],7);
  7.     If (MarketPosition==0)
  8.     {
  9.           if(close>highestIn10Days)
  10.          {
  11.             buy(1,close);
  12.          }
  13.    }else if(Marketposition==1)
  14.   {
  15.         if(close<lowestIn7Days)
  16.        {
  17.            Sell(1,close);
  18.        }
  19.     }
  20. End
复制代码


先改成上面这样,应该就可以了,但这样会出现讯号消失,所以还需要把Close替换成High/Low

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
3117
积分
1000
帖子
105
主题
46
阅读权限
60
注册时间
2008-12-22
最后登录
2012-10-22
3#
发表于 2009-1-14 10:18:12 |只看该作者




老师,,我把你帮我改的程序插入超级图表中,,在每个蜡烛图上都有信号,,这是什么原因产生的啊?

谢谢!
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2009-1-14 10:29:44 |只看该作者
将 if()语句后面的分号去掉.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
3117
积分
1000
帖子
105
主题
46
阅读权限
60
注册时间
2008-12-22
最后登录
2012-10-22
5#
发表于 2009-1-14 10:44:52 |只看该作者
晕了,真奇怪了,,现在又有问题了,,就是看了一下开仓记录,,就是超级图表上的第一天开仓记录,然后一直拿到最后一天都没有平过,

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2009-1-14 11:01:39 |只看该作者
你的这个系统就公式来看,在图表上至少要从左数第十个周期之后才可能出现信号的.
你多换几个商品合约看看或者再查看一下是否做了什么改动.因为就上面的那个公式我这里测试多个合约得到结果都与你所说的情况不一样.

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
7#
发表于 2009-1-14 11:02:05 |只看该作者
  1. vars
  2.         Numeric highestIn10Days;
  3.         Numeric LowestIn7Days;
  4.         Numeric MyPrice;
  5. begin
  6.         highestIn10Days=highest(high[1],10);
  7.         LowestIn7Days=lowest(low[1],7);
  8.        
  9.         If(MarketPosition==0)
  10.         {
  11.                 if(High>highestIn10Days)
  12.                 {
  13.                         MyPrice = highestIn10Days+MinMove*PriceScale;
  14.                         If(Open > MyPrice ) MyPrice = Open;
  15.                         buy(1,MyPrice);
  16.                 }
  17.         }else if(Marketposition==1)
  18.         {
  19.                 if(Low<lowestIn7Days)
  20.                 {
  21.                         MyPrice = lowestIn7Days-MinMove*PriceScale;
  22.                         If(Open < MyPrice ) MyPrice = Open;
  23.                         Sell(1,MyPrice);
  24.                 }
  25.         }
  26. End
复制代码

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
3117
积分
1000
帖子
105
主题
46
阅读权限
60
注册时间
2008-12-22
最后登录
2012-10-22
8#
发表于 2009-1-14 11:24:59 |只看该作者
谢谢NOPAIN老师与小米老师,,,
                        MyPrice = highestIn10Days+MinMove*PriceScale;
                        If(Open > MyPrice ) MyPrice = Open;
麻烦再帮我解释一下,,以上两句是什么意思啊?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
9#
发表于 2009-1-14 11:37:07 |只看该作者
开盘跳空就用Open价格

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
3117
积分
1000
帖子
105
主题
46
阅读权限
60
注册时间
2008-12-22
最后登录
2012-10-22
10#
发表于 2009-1-14 19:46:53 |只看该作者
真是麻烦老师们了,又出问题了,现在多头建仓平仓是可以了,可是我加上空头建仓平仓部分,又不会来了,不知道哪又出问题了,请帮我改一下,谢谢!!!

vars
        Numeric highestIn10Days;
        Numeric LowestIn10Days;
        Numeric LowestIn7Days;
        Numeric highestIn7Days;
begin
    highestIn10Days=highest(high[1]10);
    LowestIn7Days=lowest(low[1],7);
LowestIn10Days=lowest(low[1],10);
highestIn7Days=highest(high[1],7);
If (MarketPosition==0)
        {
                if(Close>highestIn10Days)
                {
                        buy(1,Close);
         }
                If(close< LowestIn10Days)
                {
                         Sellshort(1,close);
                }
        }else if(Marketposition==1)
        {
        if(Close<lowestIn7Days)
                {
                        Sell(1,Close);
                }
           if(close>highestIn7Days)
                {
            BuyToCover(1,close);
                 }
       }
End

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-6 22:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部