[原创]说说我最近编的那些EA:交易逻辑、研发过程、启发
身为一个翠山级的程序员+交易员,我几乎每周都要编一两个EA!
为了给韬客增加干货,我打算陆续把平常编写EA的过程写下来,让大家对程序员的工作都更多了解
----------------------------------------------------------------------------------
最近写的EA是一个风控EA。缘起于本论坛的Wozbang网友的请求。(见附图)
接到这个任务以后,我需要做的是列出需求:
1. 显示帐户余额、帐户净值
2. 显示已用保证金、可用保证金(这两项加在一起等于帐户净值)
3. 显示平台提供的最大杠杆、显示目前使用的杠杆
4. 如果哪个订单没有止损,自动给这个订单设置止损(默认值是100点)
5. 根据全部订单的止损 计算总风险,并显示总风险
6. 显示风险比例 (总风险/帐户净值)(如果风险比例超过预设置30%,则以红色字体显示风险比例,并播放警报声)
7. 显示今天已经下的订单的个数;显示今天已经下的订单的 总的手数(手数计算可能有些困难,比方说在我使用的某平台上,WTI的1手实际相当于EURUSD的0.1手)
8. 检查最后一个订单和倒数第二个订单的时间间隔(必须是同一货币对),如果订单间隔太小,则以红色字体显示警告信息,并播放警报声
9. 检查最后一个订单的手数,并根据这个订单的货币对 检查过去5个订单的手数的平均值,如果最新这个订单的手数 超过了平均值的1.5倍,则以红色字体显示警告信息,并播放警报声
10. 检查历史上发生的较大的连续亏损,如果亏损超过预设值(30%),则以红色字体显示警告信息(但不播放警报声)
技术实现:
1. 显示使用 label,这种对象的好处是,可以把它固定在屏幕上的某个位置,K线的不停推进 不会影响 label的位置
2. 其次,相对于comment函数显示的文字,label的字体、字号和颜色都可以自定义。
3. 整个程序可以做成 指标的形式。 但考虑到 有可能需要更改场内订单的止损,故 这里 采用EA的形式。
(未完待续)
Capture.GIF
发表于:2017-08-03 08:55只看该作者
2楼
虽然看不懂
默认回帖支持
高抛低吸,无坚不摧,唯快不破,无损必错
发表于:2017-08-03 09:05只看该作者
3楼
看不懂,,多点讲下EA的知识了,楼 主
发表于:2017-08-03 09:59只看该作者
4楼
涛客福利啊.坛友们尽情报需求吧.
韬客社区www.talkfx.co
发表于:2017-08-03 09:59只看该作者
5楼
多谢楼主分享,希望以后有机会能够和楼主合作。
佛有三事最为无上:一者发菩提心;二者护持正法;三者如闻修行。
发表于:2017-08-03 10:38只看该作者
6楼
前辈有空帮忙写一个指标吗?很简单的内容类似金叉死叉就弹出信号,如果可以,感激不尽。
韬客社区www.talkfx.co
发表于:2017-08-03 12:31只看该作者
7楼
历史订单统计风险报表函数模块、持仓跟踪报表函数模块、窗口画表文字函数模块,这些不过是交易之外的基础。真正涉及交易的是交易信号函数模块和与交易系统联动的自动加减仓函数模块。
简化代码和高效率实现这些数据功能至少要用到多维数组和C++中的类。
万事东流水,小舟顺势乘。悠然波中钓,霞日伴我行。
发表于:2017-08-03 12:48只看该作者
8楼
顶站长。
韬客社区www.talkfx.co
9楼
很强!
韬客社区www.talkfx.co
发表于:2017-08-03 13:32只看该作者
10楼
说出来可能就失效了,除非是无用的东东
韬客社区www.talkfx.co
11楼
wozbang提出来增加两个功能:
1. 加仓点位最少间隔25点。
2. 1000美金最多1手,500美金最多0.5,200最多0.2
在这里,我想说一下程序员跟需求方的沟通问题。有些需求方 在描述需求时,说话或于简略或含糊,这会让程序员很迷茫的!
大家可能已经知道,汉语是一种非常不精确 不准确的语言。 如果我们在表达自己的时候 还想着省几个字,省点工夫,那么后果必然是沟通不畅
比如这里,wozbang提出的两个需求。第二点他描述得比较清楚,还有举例说明。 第一点不够清楚,有岐义。加仓点位的间隔,我在做其它EA的时候,曾经做过这个功能。 但是呢它有两个方向,以同一货币对 多单为例:(一)新订单(多单)的预计成交价格 比 前一个多单的成交价格要高至少25点。 (二)新订单(多单)的预计成交价格 比 前一个多单的成交价格要低至少25点。
这里,我姑且认为 wozbang的本意是第一种,即,在浮盈的情况下加仓。
浮亏加仓也不能说 完全不科学,但是作为一个风控程序,我们要尽量抑制一切无端扩大风险的行为。
韬客社区www.talkfx.co
12楼
壁虎超人 发表于 2017-8-3 18:38
前辈有空帮忙写一个指标吗?很简单的内容类似金叉死叉就弹出信号,如果可以,感激不尽。
韬客社区www.talkfx.co
发表于:2017-08-04 03:36只看该作者
13楼
偶然帅 发表于 2017-8-4 10:14
可以,你就在这里说需求吧。 ------------------------ 另外内容的分割线 -------------------------- ...
韬客社区www.talkfx.co
15楼
巴蒂斯图塔 发表于 2017-8-6 14:36
能帮忙写个海龟法则的EA吗?
韬客社区www.talkfx.co
17楼
ea赚吗
韬客社区www.talkfx.co
18楼
有的赚有的不赚。普通用户需要会鉴别。
韬客社区www.talkfx.co
19楼
本帖最后由 偶然帅 于 2017-8-7 11:09 编辑
[更新]
wozbang提出来增加几个功能:
1. 加仓点位最少间隔25点,前一单有浮赢才加仓
2. 1000美金最多1手,500美金最多0.5,200最多0.2
3. 可以自己设置单笔最大亏损,最好以账户百分比来计算
4. 要设置账户最大亏损,比如超过18%就不能再交易,这个18%也是变量。【帐户最大亏损 功能已经做了,即“总风险上限”】【据我所知,我们没办法禁止帐户交易,MT4没有这个功能】
[更新]
现在基本理顺了所有功能。显示出来的效果如附图。
补充内容 (2017-8-7 12:28):
2017.8.7 12:30PM 刚刚写完了风控程序的使用说明书。打算再加个平仓按钮就正式发布~
补充内容 (2017-8-7 17:27):
增加了平仓按钮。当出现异常情况时 就会显示平仓按钮,以方便快速平仓。需要此软件的朋友请 查看我另外发的贴子去下载Capture.GIF
韬客社区www.talkfx.co
发表于:2017-08-07 02:25只看该作者
20楼
“要设置账户最大亏损,比如超过18%就不能再交易”
这种需求最不理解,这一类的,直接让他入准备入的18%不就完了么,还能防黑天鹅。
在我看来所有账户最大亏损都是100%, 进了账户的钱就要承担风险,不承担风险为啥要进,直接放钱包里多好。安全感满满。
My name is 张代理 ~