论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:4329回复:17
红白旅人
注册时间2013-02-22
[分析咖]MT4怎么判断某一订单被平仓
楼主发表于:2014-01-11 02:33只看该作者倒序浏览
1楼 电梯直达
电梯直达
我现在需要判断进场的订单被打掉,然后再做进场之类的动作。ticket是开仓后得到的订单号,打出来看没问题,但当订单被止损后,下面这条语句判断还是true,进不到里面执行。 if(!OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)){……} 这句真正的含义是什么呢,应该用什么语句呢?在网上查了半天没找到答案,希望高手指教,多谢了。
TK29帖子1楼右侧xm竖版广告90-240
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
飘渺天禁
注册时间2012-12-22
幽默灌水奖
红白旅人
注册时间2013-02-22
楼主发表于:2014-01-11 02:39只看该作者
3楼
多谢emoji-image 开发的程序用了很久,但一直在完善,总有没有想全面的地方。
EUROONLY
注册时间2012-12-30
发表于:2014-01-11 03:25只看该作者
4楼
完全用错了! 1. bool OrderSelect( int index, int select, void pool) 第一个变量是Index, 它的含义是 OrdersTotal()这个代表已经开的单子数量中的第几个。或者是在OrdersHistoryTotal()这个代表已经关闭的单子数量中的第几个。 2. 注意poor的用法: MODE_TRADES (default)- 来自交易的定单(开单和挂单), MODE_HISTORY - 来自历史的定单(平仓和取消定单)。 3. OrderSelect成功后,调用OrderTicket(),才可以得到ticket。 我随便拿段程序,你也许就理解了。 total=OrdersTotal(); // total = 0; if ( total >= 1 ) { for (i = total - 1; i >= 0; i-- ) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if ( OrderType() == OP_BUY && OrderSymbol() == Symbol() && (OrderStopLoss() == 0 || OrderTakeProfit() == 0)) { OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()-stoploss*pips2points,5), NormalizeDouble(OrderOpenPrice()+takeprofit*pips2points,5), 0, Blue); Print("Stoploss and takeprofit set for manual open buy order! stoploss:", stoploss, ", takeprofit:", takeprofit); } if ( OrderType() == OP_SELL && OrderSymbol() == Symbol() && (OrderStopLoss() == 0 || OrderTakeProfit() == 0)) { OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(OrderOpenPrice()+stoploss*pips2points,5), NormalizeDouble(OrderOpenPrice()-takeprofit*pips2points,5), 0, Blue); Print("Stoploss and takeprofit set for manual open sell order! stoploss:", stoploss, ", takeprofit:", takeprofit); } } }
greateye
注册时间2008-08-31
发表于:2014-01-11 04:33只看该作者
5楼
懂程序的交易者太NB了,佩服emoji-image就跟既懂程序又懂市场的老板一样,比如360周鸿祎这样的人
EUROONLY
注册时间2012-12-30
发表于:2014-01-11 04:36只看该作者
6楼
周鸿祎是无赖,知道不?:lol
greateye
注册时间2008-08-31
发表于:2014-01-11 04:45只看该作者
7楼
EUROONLY 发表于 2014-1-11 12:36
static/image/common/back.gif 周鸿祎是无赖,知道不?
从产品和经营角度来讲,他都是教父级的,就像国内很多人说美国无赖一样:lol
逛鼠
注册时间2008-08-02
积极参与奖
发表于:2014-01-11 05:44只看该作者
8楼
int check(int tickedt_number) {//0 int n; n=0; for (i = total - 1; i >= 0; i-- ) {//1 OrderSelect(i, SELECT_BY_POS, MODE_HISTORY); if ( OrderTicket()== tickedt_number)) {//2 n=n+1; break; }//2 }//1 return(n); }//0 主程序里调用这个函数就可以了。 具体没有测试iguo
个性签名

要有能亏损的勇气,才能有盈利的空间。

Carnivore
注册时间2012-12-18
积极参与奖
发表于:2014-01-11 06:29只看该作者
9楼
greateye 发表于 2014-1-11 12:45
static/image/common/back.gif 从产品和经营角度来讲,他都是教父级的,就像国内很多人说美国无赖一样
把一个没道德的人称作教父,,,,,估计是你个人专用的吧! 反正没咱啥关系
greateye
注册时间2008-08-31
发表于:2014-01-11 07:12只看该作者
10楼
Carnivore 发表于 2014-1-11 14:29
static/image/common/back.gif 把一个没道德的人称作教父,,,,,估计是你个人专用的吧! 反正没咱啥关系
和道德无关,我举个例而已。 况且就这个例子来说,你看全国多少人用他们家的产品,虽然我基本也不用(除了360浏览器偶尔用用),但是不得不承认,人家做的产品体验确实好,是很多竞争对手研究的对象。我本意是那些以前做过程序员,懂代码懂产品的,又能看懂市场引领市场发展,这样的人物很NB,互联网巨头如百度腾讯的老板都是类似的人,但按你的标准,他们也都不是什么“好东西”,不过正因为有了他们,中国的互联网产业才能如此快速的发展。 如果硬要把道德牵扯进来,我觉得你想多了。
无忌哥哥
注册时间2014-01-04
发表于:2014-01-11 08:11只看该作者
11楼
greateye 发表于 2014-1-11 15:12
static/image/common/back.gif 和道德无关,我举个例而已。 况且就这个例子来说,你看全国多少人用他们家的产品,虽然我基本也不用(除 ...
哥用火狐
个性签名

韬客社区www.talkfx.co

广告
论坛谏言--外汇交易不应是你投资的全部,交易外汇也不应是你生活的全部
Carnivore
注册时间2012-12-18
积极参与奖
发表于:2014-01-11 08:43来自移动端只看该作者
12楼
本帖最后由 Carnivore 于 2014-1-11 16:56 编辑
greateye 发表于 2014-1-11 15:12
和道德无关,我举个例而已。 况且就这个例子来说,你看全国多少人用他们家的产品,虽然我基本也不用(除 ...
按你的逻辑,不择手段搞到手,再去装好人,就好人了。才有了抢劫犯变公仆,变慈善家! 垃圾包装成了黄金! 没有道德底线! 360干些没天良的事,不要说360的东西咱一点不沾之外,咱的机器上没一个中国品牌的软件,因为又怕它在机器里没良心。 所以360是颗老鼠屎。(你也承认,连你也不怎么用360) 还有就是中国的网站,尽干些留垃圾的事,所以,不是万不得已不打开中国的网站。现在咱时不时看的就两个,其中一个是这个逃课,其他的就啥都不知道了 以邪门歪道为荣的地方,正直的人不会去的。正直的那些人一门心思做事情,才把东西做好了,行销全球。坑蒙拐骗的只有对无知的人有用,炒汇的都在国外开户吧,国内也有,你敢去末? 还有一些就靠抄袭人家混饭吃,哎,说什么好 做外汇这活,简单吧,为什么那么多人混不下去?因为这个你骗不到人!差的出错多,损失就多,本钱很快就完,不会的就只有死路一条,优胜劣汰,人人平等,你说得再好,市场也听不进去,你老爸是金刚也不顶用!
chunshang
注册时间2009-01-19
发表于:2014-01-11 09:12只看该作者
13楼
楼上的太复杂了,我给你一个自定义函数吧 先设置你的订单的魔术号码是A123 int GetNowOrderMagicNumberA123()//提取当前开仓A123的魔术号码,如果没有持仓单,则返回0 { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if(OrderSymbol()==Symbol()&& OrderMagicNumber()==A123) { return(OrderMagicNumber()); } } return(0); } if(GetNowOrderMagicNumberSA01()==0) 表示没有订单存在;
红白旅人
注册时间2013-02-22
楼主发表于:2014-01-11 09:24只看该作者
14楼
EUROONLY 发表于 2014-1-11 11:25
static/image/common/back.gif 完全用错了! 1. bool OrderSelect( int index, int select, void pool)
多谢提醒,我照这个思路再想想。。
红白旅人
注册时间2013-02-22
楼主发表于:2014-01-11 09:25只看该作者
15楼
逛鼠 发表于 2014-1-11 13:44
static/image/common/back.gif int check(int tickedt_number) {//0 int n;
谢谢,我参考一下。emoji-image
红白旅人
注册时间2013-02-22
楼主发表于:2014-01-11 09:27只看该作者
16楼
chunshang 发表于 2014-1-11 17:12
static/image/common/back.gif 楼上的太复杂了,我给你一个自定义函数吧 先设置你的订单的魔术号码是A123 int GetNowOrderMagicNumberA1 ...
这个思路也很好,学习了,多谢!emoji-image
迷糊s
注册时间2009-10-29
发表于:2014-01-11 14:58只看该作者
17楼
周鸿祎是流氓,知道不? 3721知道不?他开启了流氓模式。
个性签名

坚持住正确的,砍掉错误的。

广告
论坛谏言--外汇交易不应是你投资的全部,交易外汇也不应是你生活的全部
名字不长
注册时间2013-04-05
积极参与奖
发表于:2014-01-12 00:55只看该作者
18楼
360杀毒,360病毒 10年买的第一个笔记本电脑,360杀毒安装进去以后,安全卫士竟然提示说怀疑电信无线上网卡驱动程序是“病毒”,还屏弊…… 竟然上不了网了,哥们儿没惯毛病,啥也不说,直接卸载,结果没卸载干净,留下N个后遗症。最后只好重装系统

本站免责声明:

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

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

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

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

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

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