xxq8888 发表于 2016-10-11 13:27:32

请问用TB怎么准确计算:1.5和10日均线金叉时的实时价格;2.历史行情的涨停价?

请问用TB怎么准确计算:1.5和10日均线金叉时的实时价格;2.历史行情的涨停价?

小米 发表于 2016-10-11 14:30:51

本帖最后由 小米 于 2016-10-11 14:41 编辑

1,如果以实时的行情价格来判断的交叉 是可能 有信号消失的问题哟。且这个时间点并不好记录,可以使用全局变量试试。
2,这个没有记录的,历史K线只记录K线数据,没法记录行情函数

xxq8888 发表于 2016-11-7 20:42:31

全局变量试了,不行呀!

小米 发表于 2016-11-8 10:01:53

xxq8888 发表于 2016-11-7 20:42 static/image/common/back.gif
全局变量试了,不行呀!

不行的话是不是要看代码的写法了。

前面有说过,如果是一个实时会变化的数据,交叉后也可能会消失。。这个是你想要的吗?
如果是的,你不介意出现的交叉再消失也一定了要记录时间,那可以试一下如下方法。
if( crosscondition && getglobalvar(0)==0)
{
      setglobalvar(1,currenttime);
      setglobalbar(0,1);
}
//0号全局变量可以需要初始化,以及在死叉时重置为0

xxq8888 发表于 2016-11-26 11:35:10

小米 发表于 2016-11-8 10:01 static/image/common/back.gif
不行的话是不是要看代码的写法了。

前面有说过,如果是一个实时会变化的数据,交叉后也可能会消失。。这 ...

我不介意交叉后也可能会消失,我只需要取得金叉时的实时价格且不会被重新赋值!

xxq8888 发表于 2016-11-26 15:39:09

xxq8888 发表于 2016-11-26 11:35 static/image/common/back.gif
我不介意交叉后也可能会消失,我只需要取得金叉时的实时价格且不会被重新赋值! ...

我要以这个价格再加几个滑点发单

xxq8888 发表于 2016-12-1 21:46:44

小米 发表于 2016-11-8 10:01 static/image/common/back.gif
不行的话是不是要看代码的写法了。

前面有说过,如果是一个实时会变化的数据,交叉后也可能会消失。。这 ...

请问记录时间后怎么记录实时价格呀?

小米 发表于 2016-12-2 08:41:00

xxq8888 发表于 2016-11-26 11:35 static/image/common/back.gif
我不介意交叉后也可能会消失,我只需要取得金叉时的实时价格且不会被重新赋值! ...

建议你还是先看一交叉这一个函数的算法,了解其意义后再思考你的需求。
在K线图表中,交叉是由至少二个K线上的序列值才能判断的。那么前一个bar上A>B,后一个bar上B>A,就可以判断B上穿与A交叉。这个交叉有可能在一开盘就满足了,那么直接使用开盘价就好了。当然,也有可能在某个K线中间才满足的。
再次一次,这个想法有信号消失的可能 。如果你是使用buy,sell做交易,那么绝对是有隐患的。
你试试如下代码吧
f( crosscondition && getglobalvar(0)==0)
{
      setglobalvar(1,close);
      setglobalbar(0,1);
}
//0号全局变量可以需要初始化,以及在死叉时重置为0

xxq8888 发表于 2016-12-2 21:07:53

本帖最后由 xxq8888 于 2016-12-2 21:12 编辑

小米 发表于 2016-12-2 08:41 static/image/common/back.gif
建议你还是先看一交叉这一个函数的算法,了解其意义后再思考你的需求。
在K线图表中,交叉是由至少二个K ...

谢谢您了!另望不吝赐教!我采用的是教程上说的跟踪止盈止损(5分钟周期):
ds1=HighestAfterEntry - TrailingStop1*MinPoint;
PDT1=Low<=ds1 And HighestAfterEntry>= MyEntryPrice + TrailingStart1*MinPoint;
if(PDT1) sell(0,Min(open,ds1));
我说的跳空是指跳过ds1,可能有以下3种情况:
1、没发生跳空(应该按ds1发单,但open<ds1时按open发单不准确)。
2、当根K线开盘时触发平仓条件,open<ds1发生跳空。
3、当根K线开盘时没触发平仓条件,但在当根K线收盘前(收长上影阳线或长上影阴线)触发了平仓条件并且发生触发了平仓条件时的价格小于ds1但大于open而出现跳空,此时同样open<ds1(因open<ds1按open发单不准确)。
if(PDT1) sell(0,Min(open,ds1);
只在第2种情况时,发单价格准确,但在其它两种情况就不准确了,
请问这个平仓命令应该怎么修改才能包括这3种情况?

小米 发表于 2016-12-5 09:27:11

xxq8888 发表于 2016-12-2 21:07 static/image/common/back.gif
谢谢您了!另望不吝赐教!我采用的是教程上说的跟踪止盈止损(5分钟周期):
ds1=HighestAfterEntry - ...

如果开仓条件都有信号消失的问题,那么任何平仓条件都可能是无意义的。
你的ds1的问题貌似我们之前 有讨论过。。我没法给出答案 ,自己再琢磨一下吧
页: [1] 2
查看完整版本: 请问用TB怎么准确计算:1.5和10日均线金叉时的实时价格;2.历史行情的涨停价?