设为首页收藏本站

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

怎样取一个价格作为原点,求相对这个原点的涨跌? [复制链接]

Rank: 5Rank: 5

精华
0
UID
314
积分
1160
帖子
247
主题
105
阅读权限
60
注册时间
2007-9-9
最后登录
2008-3-3
跳转到指定楼层
1#
发表于 2008-2-27 12:33:32 |只看该作者 |倒序浏览
怎样取一个价格作为原点,求相对这个原点的涨跌?
比如:取某个价格作为一个原点,判断现在当前价相对它的涨跌,注意原点价格也是日内
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2008-2-27 12:48:40 |只看该作者
用一个序列变量记录下这个值,然后每一个Bar都把该变量的上一个值赋值到当前。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
314
积分
1160
帖子
247
主题
105
阅读权限
60
注册时间
2007-9-9
最后登录
2008-3-3
3#
发表于 2008-2-27 13:16:07 |只看该作者
能否举个例子嘛,对了,如果用循环可以吗? 如果用数组的话,有没有,清空数组的函数呀,呵呵。。。
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
4#
发表于 2008-2-27 13:23:54 |只看该作者
举个例子,取第1根K线的收盘价为基准。
  1. Vars
  2.     NumericSeries BasePrice;
  3. Begin
  4.     If(CurrentBar == 0)
  5.         BasePrice = Close;
  6.     Else
  7.         BasePrice = BasePrice[1];

  8.      PlotNumeric("Tmp",Close/BasePrice);
  9. End
复制代码

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
314
积分
1160
帖子
247
主题
105
阅读权限
60
注册时间
2007-9-9
最后登录
2008-3-3
5#
发表于 2008-2-27 13:36:12 |只看该作者
我是想这样做哈,先取一个close,然后随着行情变化,用最新的close和它比较,当比较值符合一定条件时,就触发一次交易:
我把close赋值给一个变量,
然后不停的循环,用当前close和这个变量值比较,这样可以吗
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
314
积分
1160
帖子
247
主题
105
阅读权限
60
注册时间
2007-9-9
最后登录
2008-3-3
6#
发表于 2008-2-27 14:39:41 |只看该作者
Params
Vars
NumericSeries V_myPrice(0);
NumericSeries V_myCurrentPrice(0);
Begin
//建仓过程
if(MarketPosition==0)
{
V_myPrice=close;
While(True)
{
V_myCurrentPrice=Close-V_myPrice;
if(V_myCurrentPrice>=10)
{
Buy(0,1);
break;
}
Else If(V_myCurrentPrice<=-10)
{
Sell(0,1);
break;
}
}
}
//平仓过程
if(MarketPosition!=0)
{
SetProfitTarget (0,100,True);
SetStopLoss(0,20,True);
}
End
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
7#
发表于 2008-2-27 14:48:02 |只看该作者
上面的代码完全不对。TB和MT4及WLD不一样,不需要您来控制外循环。
您还没有理解公式的运行机制和序列变量的使用,可以回头再仔细看看这些章节。
根据您上面的意思,修改后的代码如下:

  1. Vars
  2.         NumericSeries V_myPrice(0);
  3.         NumericSeries V_myCurrentPrice(0);
  4. Begin
  5.         If(CurrentBar == 0)
  6.         {       
  7.                 V_myPrice=Close;
  8.         }Else
  9.         {
  10.                 V_myPrice=V_myPrice[1];
  11.         }
  12.        
  13.         //建仓过程
  14.         if(MarketPosition==0)
  15.         {
  16.                 If(Close >= V_myPrice + 10)
  17.                 {
  18.                         Buy(1,Close);
  19.                 }Else If(Close <= V_myPrice - 10)
  20.                 {
  21.                         SellShort(1,Close);
  22.                 }
  23.         }
  24.         //平仓过程
  25.         SetProfitTarget (0,100,True);
  26.         SetStopLoss(0,20,True);
  27. End
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
8#
发表于 2008-2-27 14:49:10 |只看该作者
上面的代码只是表达一种使用方式,会出现讯号消失的问题。

最好将所有Close改为Open,就可以在日内进行交易了

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
314
积分
1160
帖子
247
主题
105
阅读权限
60
注册时间
2007-9-9
最后登录
2008-3-3
9#
发表于 2008-2-27 15:19:47 |只看该作者
呵呵,:-)
能否用平掉一次仓之后的平仓价来做:V_myPrice 呀
上面那样是可以,不过好像,V_myPrice,一直不变了呢
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
10#
发表于 2008-2-27 15:25:50 |只看该作者
上面的例子只是示范序列变量的使用,具体用什么价格,您可以自行决定。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 00:17

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部