计算波动率
来自Forex Growth Bot double sum = 0.0; double body = 0.0; int i; Print("now running VF()"); for (i = 1; i <= slow; i++) body += MathAbs(Close[i + S...
本站作者天泓评测 共计发布文章1691篇
来自Forex Growth Bot double sum = 0.0; double body = 0.0; int i; Print("now running VF()"); for (i = 1; i <= slow; i++) body += MathAbs(Close[i + S...
void WatchDog() { staticinttimer = 0; bool ans; int t; if (IsTradeContextBusy() || GlobalVariableCheck("InTrade")) { } else if (TimeLocal() > time...
最近从台湾一个网站看到一篇文章,思路比较好,整理如下, MT4编译后会产生16位机器码,使用可阅读这个机器码的编辑器,如UltraEditor即可打开,代码中的标注很容易被更改。若使用ASCII码,会制造一些障碍。...
如何检测一张订单是否已经被扫止损或止盈? --> OrderCloseTime()函数返回的是订单的收盘时间。如果订单正在交易中而未平仓,此函数返回的是0,如果平仓,此值就会变成平仓当时的服务器时间,是一个很大的正整数。 //-----------------检测是否平仓-----------------+ string I...
由于平仓的同时,总开单数就在减少,所以循环的每次都要重新计数,不然就可能只关掉一部分单子 void closeall() { bool result; double price; int cmd,error; int nCount = OrdersTotal(); int aryTicket[]...
调试EA的时候经常出错,我们把返回的错误打印出来,通过MT4返回的错误代码有助于我们判断程序到底哪里出错了,以下常用的返回错误数字所代表的含义总结了下: 从服务器返回的错误代码 ERR_NO_ERROR 0 没有错误返回。 ERR_NO_RESULT 1 没有错误返回但结果不明。 ...
MT4编程中MarketInfo()这个函数经常用到,市场信息识别符,比如表达格式: MarketInfo(Symbol(),MODE_DIGITS);就是获取本图表货币兑的小数点后的计数点。 可以是以下任意值: 常数 &...
1、外汇任何的平仓和开仓动作,都必须校验一下,即会在主程序中再度校验,如果还有单子,则会继续调用子程序,完成平仓;做EA,只要涉及开仓平仓,必须校验,历史回测看不出来,模拟盘也看不出来,但是实盘就会出问题,因为交易平台,有时不那么听话; 2、EA的指令运行比平仓动作快的多,程序的运行,一个循环,哪怕100张单子,也是一下全部发...
1、外汇任何的平仓和开仓动作,都必须校验一下,即会在主程序中再度校验,如果还有单子,则会继续调用子程序,完成平仓;做EA,只要涉及开仓平仓,必须校验,历史回测看不出来,模拟盘也看不出来,但是实盘就会出问题,因为交易平台,有时不那么听话; 2、EA的指令运行比平仓动作快的多,程序的运行,一个循环,哪怕100张单子,也是一下全部...
划点够大,一般设置10点; 避免重复下单,把OrderSend和OrderMoify放在一个循环中,检查错误;出现这种情况有,要么你的ea不好,缺少检查环节,重复下单;要么broker押单,然后释放,结果你的ea连续出单.. 计算手数时,使用NormalizeDouble(price,Digits),某些服务...