论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
  • 1
  • 2
前往
共 35 条
shanghaijill
注册时间2018-02-06
[EA]MQL4 编程疑问
楼主发表于:2019-02-11 12:30只看该作者
21楼 电梯直达
电梯直达
本帖最后由 shanghaijill 于 2019-2-11 20:48 编辑
偶然帅 发表于 2019-2-10 17:43
不是必须的。 这一段的用处是 让你知道:选择订单为什么失败了?可能的原因是什么?
谢谢高手解答。emoji-image
个性签名

韬客社区www.talkfx.co

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
AlwaysRemember
注册时间2018-03-05
发表于:2019-02-11 12:51只看该作者
22楼
shanghaijill 发表于 2019-2-9 19:32
我的意思是想不出什么情况会产生错误,如果说搜索不到订单,直接写搜索到的情况不就行了吗?也就是 OrderS ...
他的写法是比较正统的,逻辑上是完整的。你这想法有些业余,逻辑上是不完整的,程序稍微长一点,比如超过1000行,会出很多漏洞。每一个不带else的 if语句,都可能是个大坑。 正向的逻辑通常都是非常简单直观的,但程序员往往花一半的精力在考虑negative cases
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-11 14:05只看该作者
23楼
AlwaysRemember 发表于 2019-2-11 20:51
他的写法是比较正统的,逻辑上是完整的。你这想法有些业余,逻辑上是不完整的,程序稍微长一点,比如超过 ...
我现在就 if 常常不带elseemoji-image
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-11 14:08只看该作者
24楼
OANDA的模拟平台是不能对冲的 杜高的模拟平台只有14天 哪位大侠推荐一个可以长期使用的能对冲的MT4模拟平台emoji-image
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-14 01:16只看该作者
25楼
CloseAllOrders.mq4 void OnStart() { //--- bool bOrderClose; for (int i=OrdersTotal(); i>=0; i--) { if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; if ( OrderSymbol() == Symbol() && OrderType() == OP_BUY ) bOrderClose = OrderClose(OrderTicket(),OrderLots(), Bid, 500); if ( OrderSymbol() == Symbol() && OrderType() == OP_SELL ) bOrderClose = OrderClose(OrderTicket(),OrderLots(), Ask, 500); RefreshRates(); } }
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-14 01:37只看该作者
26楼
公式:爆仓点数=R【(1-P)/P】或者R【(M-m)/m】。   其中R为系数,R=10000/L,L为杠杆;p为仓位比例,M为本金,m为已交易保证金。我们以常见的杠杆比例为例。 表中数字是爆仓点数,与仓位比例,杠杆比例的关系。爆仓点.png
个性签名

韬客社区www.talkfx.co

shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-14 03:28只看该作者
27楼
OrderModify(OrderTicket(), NormalizeDouble(OrderOpenPrice(),Digits), NormalizeDouble(Ask+Point*TrailingStop,Digits), NormalizeDouble(OrderTakeProfit(),Digits),0,Red); 用这个函数的时候,系统经常自动生成很多点位 另外modify的时候要检查修改价和现在的价格是否相等 NormalizeDouble(OrderStopLoss(),Digits)!=NormalizeDouble(Ask+Point*TrailingStop,Digits)) 如果这两个改动之后还是有那问题,就是修改价格不合理了,比如不能太靠近现价 大部分的ea没有这些判断,平台一换了,测试结果就相去甚远
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-14 05:39只看该作者
29楼
另外modify的时候要检查修改价和现在的价格是否相等是废话?
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-20 05:41只看该作者
30楼
在start()模块调用自定义函数iMain(),iMain()函数中再调用iShowInfo(),为什么不在start()直接使用iShowInfo()呢?原因很简单,为了防止被破解。 众所周知,网上针对MQL4有一个叫做XXX的破解工具(是什么,在哪里下载我就不说了,自己去找吧),能够反编译ex4程序,不过演示版只显示start()、init()、deinit()中的内容,程序中其他自定义函数则仅仅列出函数名称,该破解工具正式版的收费500美元,而MetaTrader公司为了防止EA被破解,经常会通过升级MT4版本方式改变ex4程序加密算法,他们哥俩无休止斗法至今。出现对自己知识产权的保护意识,我建议编程人员应该养成好习惯,最大程度杜绝恶意破解。当然,最佳的加密方法是编写dll
AlwaysRemember
注册时间2018-03-05
发表于:2019-02-20 05:50只看该作者
31楼
用C/C++写dll很容易,MQL4不能写dll吧
个性签名

韬客社区www.talkfx.co

shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-20 06:09只看该作者
32楼
AlwaysRemember 发表于 2019-2-20 13:50
用C/C++写dll很容易,MQL4不能写dll吧
知道的汇友说一说emoji-image
AlwaysRemember
注册时间2018-03-05
发表于:2019-02-20 06:34只看该作者
33楼
看了下文档,似乎提到可以引入ex4和dll。如果这样,那么ex4大致相当于MQL自己生成的库。但不知道ex4是类似于静态库还是动态库。你上文提到的 $500 的破解软件,应该是针对ex4的吧
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-20 15:19只看该作者
34楼
文中是说“网上针对MQL4” MQL5可能更安全
shanghaijill
注册时间2018-02-06
楼主发表于:2019-02-20 15:27只看该作者
35楼
在函数值的类型定义为void类型时,return 语句后面不能使用表达式: void SomeFunction() { Print("Hello!"); return; // 这个语句能删除 } 本函数右大括弧 } 表明这个不带表达式的return语句将明确执行。
  • 1
  • 2
前往
共 35 条

本站免责声明:

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

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

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

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

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

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