论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:740回复:15
iccmmmm
注册时间2015-07-31
天蝎座
[求助]EA疑惑求解答
楼主发表于:2015-08-23 04:55只看该作者倒序浏览
1楼 电梯直达
电梯直达
系统中有一部分是这样的 “ 当浮赢超过400点时,如果浮赢回吐超过40%,那么就把这个单子平掉。" 思路是:先选中单子,如果是买单, 那么获取从开仓到现在的最高价格”M“,如果Ask低于(价格+M的60%),也就是如果回吐最大浮赢的40%,就平仓
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
iccmmmm
注册时间2015-07-31
天蝎座
iccmmmm
注册时间2015-07-31
天蝎座
楼主发表于:2015-08-23 05:01只看该作者
3楼
我逐一排查过【sell】单子,B 是代表开仓到现在的持有”天数“ 正常 lowestprice 这些天中的代表最低价格 正常 N代表最大盈利的点数 这个在屏蔽了Orderclose函数之后是正常的 但是没有屏蔽就不正常,比实际大了3、4倍的样子 现在这个条件运行起来,就是无限得开仓平仓开仓平仓,每次-2个点,搞不懂,求解答!

点评

无限的发财,,,,发表于 2015-08-23 05:07
席主党刀飞
注册时间2014-12-21
积极参与奖
发表于:2015-08-23 05:07只看该作者
4楼
本帖最后由 席主党刀飞 于 2015-8-23 13:24 编辑
iccmmmm 发表于 2015-8-23 13:01
我逐一排查过【sell】单子,B 是代表开仓到现在的持有”天数“ 正常 ...
你的这些代码,和问题是一对的吗?
个性签名

谁也没有看到这柄刀是从什么地方来的,但却全都知道是什么人来了 ...

scalping
注册时间2015-01-14
发表于:2015-08-23 05:15只看该作者
5楼
本帖最后由 scalping 于 2015-8-23 13:33 编辑 我告诉你。你在取未平仓单子的时候是通过循环按位置取的,比如第一个单子,第二个单子....,然而你却在循环内平仓了一个单子,再循环回来的时候单子数量已经发生了变化,位置也就发生了变化。如果平一个单子,第二个单子号会变成1的,你再去取的第二个实际上是最开始的第三个单子了,不知道我说明白了吗。
iccmmmm
注册时间2015-07-31
天蝎座
楼主发表于:2015-08-23 05:43只看该作者
6楼
席主党刀飞 发表于 2015-8-23 13:07
你的这些代码,和问题是一对的吗?
对的,屏蔽这几行代码之后,就不会出现无限开平仓的问题
iccmmmm
注册时间2015-07-31
天蝎座
楼主发表于:2015-08-23 05:48只看该作者
7楼
scalping 发表于 2015-8-23 13:15
我告诉你。你在取未平仓单子的时候是通过循环按位置取的,比如第一个单子,第二个单子....,然而你却在循环 ...
那该怎么办? 平仓条件如果放到循环外面的话,就执行不了了吧,Orderclose是要先select之后获取ticket号码的 如果把循环去掉,直接select的话,就只能选一张单子。= =

点评

很多办法。比如先你这样循环取出ticket number,存入数组再去循环。发表于 2015-08-23 05:51
scalping
注册时间2015-01-14
发表于:2015-08-23 05:51只看该作者
8楼
本帖最后由 scalping 于 2015-8-23 14:10 编辑
iccmmmm 发表于 2015-8-23 13:48
那该怎么办? 平仓条件如果放到循环外面的话,就执行不了了吧,Orderclose是要先select之后获取ticket号 ...
很多办法。比如先你这样循环取出ticket number,存入数组再去循环。或者平仓后修改index,都行。我的做法是从高向低循环。 for(int i=ordersTotal-1; i>=0; i--){
白水示申
注册时间2014-09-02
金牛座
发表于:2015-08-23 06:03来自移动端只看该作者
9楼
问题太多,首先你没有对各变量参数初始化,其次买单和卖单最好分开遍历。就先这些吧。
iccmmmm
注册时间2015-07-31
天蝎座
楼主发表于:2015-08-23 06:15只看该作者
10楼
白水示申 发表于 2015-8-23 14:03
问题太多,首先你没有对各变量参数初始化,其次买单和卖单最好分开遍历。就先这些吧。
什么是变量参数初始化,小白一个不明白
iccmmmm
注册时间2015-07-31
天蝎座
楼主发表于:2015-08-23 06:18只看该作者
11楼
scalping 发表于 2015-8-23 13:51
很多办法。比如先你这样循环取出ticket number,存入数组再去循环。或者平仓后修改index,都行。我的做法 ...
感谢!等我学了数组试试。。。

点评

不是说改成从高到低循环也行了吗发表于 2015-08-23 06:23
白水示申
注册时间2014-09-02
金牛座
发表于:2015-08-23 06:22来自移动端只看该作者
12楼
变量每次运算周期前需要清零,订单操作要有单号列表刷新,避免误操作。
scalping
注册时间2015-01-14
发表于:2015-08-23 06:23只看该作者
13楼
本帖最后由 scalping 于 2015-8-23 14:25 编辑
iccmmmm 发表于 2015-8-23 14:18
感谢!等我学了数组试试。。。
不是说改成从高到低循环也行了吗。除非有特殊要求不想改变平仓顺序,比如要曲线好看什么的。
smile2u
注册时间2014-07-04
积极参与奖
发表于:2015-08-23 06:57只看该作者
14楼
单号进数组再遍历
scalping
注册时间2015-01-14
发表于:2015-08-23 07:23只看该作者
15楼
本帖最后由 scalping 于 2015-8-23 16:19 编辑 仔细一看,为了判断买单卖单特意写入OrderComment()也是理解不了啦。 OrderType()不能用了吗。找k的位置,不是有个iBarShift吗。把0.1改成OrderLots()吧。
白水示申
注册时间2014-09-02
金牛座
发表于:2015-08-23 07:26来自移动端只看该作者
16楼
选单条件中你还缺少订单类型条件=buy还是=sell

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]