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

标题: 请教各位我的平出代码哪里出错了? [打印本页]

作者: 觞咏韶华    时间: 2013-6-4 05:07:58     标题: 请教各位我的平出代码哪里出错了?

本帖最后由 觞咏韶华 于 2013-6-4 05:13 编辑

HiAfterEntry已声明
If (MarketPosition == 1 and BarsSinceLastEntry == 0)
HiAfterEntry = High;
If (MarketPosition == 1 and BarsSinceLastEntry >= 1)
HiAfterEntry = Max(HiAfterEntry,High);
//以上代码为了取得入多单后的高点

If(marketposition==1 && BarsSinceLastEntry>0 && HiAfterEntry - EntryPrice >= 50*MinMove*PriceScale && Low < EntryPrice)
Sell(0,Min(EntryPrice,open));


请教各位达人予以解答,买入代码运行无错误,已单独验证。平出代码错在哪?还望各位不吝赐教!

为何直接在买入的第二根bar就直接卖出了,条件并不符合hiafterentyr- entryprice>=50*MinMove*PriceScale啊!
作者: 觞咏韶华    时间: 2013-6-4 09:55:37

请教各位版主 达人!~~
作者: 觞咏韶华    时间: 2013-6-4 09:55:55

坐等解答,谢谢!~
作者: ample    时间: 2013-6-4 11:11:53

觞咏韶华 发表于 2013-6-4 09:55
坐等解答,谢谢!~

你把  HiAfterEntry - EntryPrice >= 50*MinMove*PriceScale && Low < EntryPrice 这个条件单独用变量列出,再把变量放进最后的if条件里 试试看什么情况
作者: 觞咏韶华    时间: 2013-6-4 17:59:06

ample 发表于 2013-6-4 11:11
你把  HiAfterEntry - EntryPrice >= 50*MinMove*PriceScale && Low < EntryPrice 这个条件单独用变量列 ...

stopline=hiafterentry-entryprice;
if(stopline>50*minmove*pricescale && low<entryprice)
我之前就是这样的 完全执行不出效果。。。

作者: 觞咏韶华    时间: 2013-6-4 21:00:57

版主 再次求解答。。。
作者: 觞咏韶华    时间: 2013-6-5 08:04:23

还有为什么我的Commentary的信息不在信息框内显示呢?正常显示价格什么的,但是Commentary想要显示的东西不显示。。。
作者: ample    时间: 2013-6-5 09:21:16

觞咏韶华 发表于 2013-6-4 17:59
stopline=hiafterentry-entryprice;
if(stopline>50*minmove*pricescale && low

你要确定是软件没有运行,还是条件没有满足而没有显示
作者: ample    时间: 2013-6-5 09:22:08

觞咏韶华 发表于 2013-6-5 08:04
还有为什么我的Commentary的信息不在信息框内显示呢?正常显示价格什么的,但是Commentary想要显示的东西不 ...

正确书写Commentary语句了吗?
作者: 觞咏韶华    时间: 2013-6-5 09:59:03

ample 发表于 2013-6-5 09:21
你要确定是软件没有运行,还是条件没有满足而没有显示

这行代码加进去之后,程序执行时直接第一个符合条件的bar入单,第二根就出单了,内在的逻辑完全不明白,不符合出单条件,怎么就出单了?
作者: 觞咏韶华    时间: 2013-6-5 10:00:18

ample 发表于 2013-6-5 09:22
正确书写Commentary语句了吗?

commentary(“XXX”);是这样吗 不显示。。。
作者: ample    时间: 2013-6-5 10:19:06

觞咏韶华 发表于 2013-6-5 10:00
commentary(“XXX”);是这样吗 不显示。。。

commentary("aaa:"+text(aaa));
这样显示 aaa:具体的值。
text(aaa)这种写法aaa是numeric类型的变量,把它转换成字符
作者: ample    时间: 2013-6-5 10:31:37

觞咏韶华 发表于 2013-6-5 09:59
这行代码加进去之后,程序执行时直接第一个符合条件的bar入单,第二根就出单了,内在的逻辑完全不明白, ...

你把问题又绕回去了。我在我的机器上试验的,没有发生第二根出单的情况。
之前的buy我自己加了一句
作者: hql123    时间: 2013-6-5 13:19:32

MinMove没有定义
作者: 觞咏韶华    时间: 2013-6-5 21:23:31

hql123 发表于 2013-6-5 13:19
MinMove没有定义

minmoveTB内置的,不用定义
作者: 觞咏韶华    时间: 2013-6-6 17:45:01

ample 发表于 2013-6-5 10:31
你把问题又绕回去了。我在我的机器上试验的,没有发生第二根出单的情况。
之前的buy我自己加了一句 ...

具体原因我也不太清楚,代码是一样的,测试环境设置也是一样的,换了台电脑,测试结果便是自己想要的了




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