PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
ForeignEX
[投稿] MQL4初学-实用子涵数篇
楼主:
n33222
(满身菜味)
2017-07-21 11:37:14
我又来啦记得上次发过一个简单的EA设计概念,这次我提供一些实用的子函数,
给大家使用,基本上都可以直接复制贴上。
废话不多说本文开始:
一.固定风险计算手数:
有的人喜欢用金额去计算下单量,让下单量随着资金上涨而加大,
这边提供一个函数达成这样的作法。
double Lotsact()
{
double lot;
double margin = MarketInfo(Symbol(),MODE_MARGININIT);
if(固定风险开关==true)
{
lot=NormalizeDouble(AccountFreeMargin()*固定风险值/margin,2);
}
if(固定风险开关==false)
{
lot=固定手数;
}
if(lot<0.01) lot=0.01;
return(lot);
}
将这段加在程式中,记得上次说的放在ONTICK之外,
然后在下单程序中的"LOTS"字段中,把他呼叫出来即可。
另外记得在程式开头加上以下三段:
extern double 固定风险值 =0.01;
extern bool 固定风险开关=false;
extern double 固定手数 =0.1;
二.计算前面K棒之总和(或影线)
double swing()
{
double swing[200] ;//纪录数组,括号中的200可任意输入但不能小于K线数量
double swingg ;//最后输出值
for(int i=0;i<K线数量;i++)
{
swing[i]
=MathAbs(iClose(Symbol(),PERIOD_M30,i)-iHigh(Symbol(),PERIOD_M30,i));
swingg+=swing[i]; //数组中资料相加
}
return(swingg);
}
这段程式码是纪录前面的实体K棒波动,做相加最后导出一个总和数值,
我本身会在下单RULE将数值导出后在除上计算的K线数量,去求出前段的实体波动。
请在程序开头加上
extern int K线数量 =200;//你要计算的K棒数,任意输入。
三.马丁中的手数计算方式
马丁算是市场上很多人爱用的,我本身是不倡导这种作法,除非你已经做出一支带停损
停利能获利的EA,这时候加上马丁只是在浮亏时增加自己的获利,我觉得这样才有意义
马丁正常才来说会有两段下单程式,第一段是当场上没有部位的第一张单,
再来是场上有多张单的加码,我这边就直接提供多张单加码的手数计算方式。
double olot()
{
double adlot;
int ticket = 0;
if(CalculateCurrentOrder(Symbol()) >=1)//如果场上大于等于1
{
for(int i= OrdersTotal()-1; i>=0; i
作者:
yzfr6
(扮关二哥!)
2017-07-21 13:57:00
又是子函数,讲不听
作者:
k1dave6412
(朔月星痕)
2017-07-21 16:49:00
你可以打 子程式、函数、方法(针对不同程式语言而有不同称呼) 都可以,但是没有人打子函数…
作者:
wesleytz502
(unpredictable)
2017-07-21 17:51:00
可以开Mql5的介绍吗?
楼主:
n33222
(满身菜味)
2017-07-21 18:17:00
好吧下次改进,我会这么称呼是因为我前阵子待在中国,教我的老师也是中国人,他都是这么称呼跟我说的,所以我只是仿照他的说法
作者:
k1dave6412
(朔月星痕)
2017-07-21 21:25:00
中译的问题很难解决… 除非用英文来解决,这边应该都是用function称呼,method会用在物件导向的程式上(Java)ea的写法应该是用c语言,所以可以说是function
楼主:
n33222
(满身菜味)
2017-07-21 23:33:00
了解感谢指导
作者:
PsMonkey
(痞子军团团长)
2017-07-21 23:35:00
我在对岸也接触过不少程序员,没听过子函数这种说法
作者:
angrywater
(angry water)
2017-07-22 01:01:00
Sub Procedure 的意思吧?只是翻译的问题吧?MSDN:
https://goo.gl/eS96We
或者是 Sub Function字典(子功能、子函数):
https://goo.gl/SgJMBL
作者:
labdog
(飞啊,飞啊, 小飞侠)
2017-07-22 01:56:00
看的懂就好,何必纠结在一个无聊的名称。人家肯分享就要拍拍手了
作者: ohboy
2017-07-22 02:14:00
感谢分享 不用在意翻译的事啦^_^
作者:
ducati5566
(on the way!!!)
2017-07-22 13:02:00
推…意思明白就好,就好像欧巴马/奥巴马一样,知道是Obama就好。何必纠结
作者: nicholasmax (1年期限已到哈哈)
2017-07-22 14:55:00
感谢提供教学期待还有其他的分享
作者:
bxc
(中年鲁蛇联盟)
2017-07-22 16:57:00
肯分享给推
作者:
contaminate
(窝4世界上ㄉ污染)
2017-07-25 23:51:00
那些纠结名称的人真无聊 推分享
继续阅读
[数据] 2017/07/21(五)盘势数据
quadrad
[数据] 2017/07/20(四)盘势数据
quadrad
[闲聊] 男女都适合的低压力 Forex 交易方式分享
angrywater
[数据] 2017/07/19(三)盘势数据
quadrad
[数据] 2017/07/18(二)盘势数据
quadrad
[举手] 外汇保证金交易新手问题
lirioli
[举手] 贷款买中国的理财套利?
Piyada
[举手] 关于手机板Android系统之MT4
ccmiles111
[新闻] 查洗钱 美元1秒汇款成绝响
wont
[数据] 2017/07/17(一)盘势数据
quadrad
Links
booklink
Contact Us: admin [ a t ] ucptt.com