设为首页 收藏本站 切换语言

从零开始学习mql4 CTA交易编程语言 2  

| 发表于 2021-7-16 10:36:25 | 显示全部楼层 |复制链接
编程类型
什么是脚本?
你是否在电视上看过一个商业广告,一个人训练它的狗去帮他从冰箱中带一罐啤酒?我很喜欢那个广告。那条狗走进厨房,打开冰箱门,拿到啤酒后关上门。然后它带着那罐啤酒回到那个正在看足球比赛的主人。这真是一条厉害的狗,我不记得那个广告让我去买什么牌子的啤酒了。
这其实就很像一个脚本的运作方式,仅仅需要在一段时间内做一些小工作。它可能需要一些指令去完成任务...去厨房,开门,拿酒,关门然后把酒拿回来。但是当任务完成之后,那条狗就趴下了,它的工作完成了。至少主人在口渴之前不会再去让狗跑一趟,当主人需要再来一罐的时候就会重新委托他的狗再做一次之前的操作。多好的一条狗,我也想要一条。
我们使用脚本在交易中做一些事,比如关闭所有的做空订单,或者所有的做多订单,或者是把所有的订单都关闭。我们也可能会让所有的订单都使用同一个止盈价格。
有些时候我们只是想获得一些信息,因此我们会写一个脚本然后回馈给我们一些东西,就像那条狗带回的啤酒。同样我们可以给脚本下一个指令:“去把我在这个交易商平台使用的杠杆水平打印到屏幕上给我看”。
重点是,当我们希望去运行一个脚本,我们需要每次都将它放到图表上。当你把脚本放到图表上之后就运行好了。它只运行一次,如果我们想要让交易订单全部关闭就会马上全部关闭,或者得到我们查询的信息。运行完了之后脚本就会自动从图表上移除,在你下一次再把脚本放到图表上之前脚本就不会再运行。
脚本写起来十分有趣和简单,基本上就是一个命令或者一个编写的指令的程序。你只需要告诉脚本做什么。关于可以在脚本上使用的命令我们先不展开。
另一个脚本的优势是将脚本放到图表上的瞬间就能执行,脚本不需要去等待下一笔tick的到来。脚本甚至能在双休日休市的时候工作,当然在双休日不能修改交易,但是你可以获取信息,学习如何使用警报,邮件,发送通知和其他脚本能做的事。
自定义指标是什么?
自定义指标需要更多的说明,首先指标的目的是在图表上画一些符合我们规则的东西,或者是对我们的一些通知。
“当这两条线向下交叉,画一个箭头向下标出来。如果是向另一个方向交叉,画一个向上的箭头标出来。”或者可以是一些我们想画在图表上的移动平均线,因为我们认为移动平均线有一些特别的力量来推动市场。
指标和脚本是有很大的区别的。如果脚本像是你告诉你的狗去拿一罐啤酒,那么指标就像是告诉你的狗去冰箱旁边戒备,并且当有人想去偷酒的时候大叫并且发出警报。
可怜的狗,现在它需要保持工作的状态。它需要连续监视情况,它拿酒的把戏和拿完就能躺下的日子结束了。这就跟指标的情况一样,当你把指标放到图表上,指标持续工作直到它被移除,它从不休息。指标监视着你告诉它需要去监视的情况,并且在发生了特定的情况时,画一个箭头或者一条线或者发出一个警报的声音或者给你发一条通知或者你告诉它要做的事情,但这还不是全部。
指标不仅仅是在图表上画一些东西保持跟踪当前情况,通常当我们将指标放到图表上之后,根据设定的查找条件和一些规则,指标会从图表的左侧一直工作到当前正在形成的bar,并且会在每一个应该放置一个箭头或者一条线的地方及时放置。
当你将指标放到图表上的时候它会立刻完成上述的工作,然后在下一笔tick进来之前不会做任何事。当下一笔tick进来之后,指标会重新计算当前的bar,并且重新评估当前的情况,来判断是否需要做任何事。如果不需要,指标则等待下一笔tick然后再次检查,一直反复,从不停止。
当启动一个随机指标或者MACD指标或者放一个移动平均线指标,那么它就会一直将那些指标画出来,即使刚画出来的指标与前几个数据对应的指标没什么区别。
指标是“充满责任”的,因为一个自定义指标包含了比脚本多得多的代码以及能够做比脚本多得多的事情。指标不像脚本一样做一次就结束了,首先指标需要根据代码在图表上放一些图形对象,这些对象可以是一个箭头或者一个点或者一条线。其次指标有一系列的规则去控制何时以及何地去画下那些对象。指标有能力去做一些根据你的规则制定的决定。
就好像告诉一条狗“如果我的家人进来去拿一些啤酒是可以的,能够被允许,但是如果超过两罐就要提醒我”,“如果是一个不认识的人,立刻开始警报,不需要等到他靠近冰箱拿啤酒之后再叫。”
现在这条狗不仅仅需要去执行工作,并通知你,还需要做一些基于你的规则的决定。它甚至需要去知道如何数啤酒罐子!但是牢记一点这条狗只能通知你,不能帮助你解决入侵者。
因此在学习mql4的时候指标是一个很好的工具,可以在不同情况下写一些规则。可以帮助编程者学习在不同的情况下学习如何引导自己的逻辑。
“如果一条线超过另一条线,并且随机指标超过80,同时macd在水平上方,且不是周五下午,然后给我一个通知并且发出警报。”
另一件关于指标的事实是,指标已经成为图表的一部分。EA和脚本只是放到图表上进行执行,但是指标变成了图表的一部分。
你可以自己在图表上画一些箭头并且按照自己的想法怎么移动都可以。但是如果一个指标在图表上启动,并且在图表上画下了箭头或者对象,你是不能去进行移动和选择的。那些对象已经成为了图表的一部分。除非你将指标移除才能将所有因为指标产生的对象撤销。
同样一个指标也是受到限制的,指标是一个严格的通知者,只能监控情况,并且画下我们可以看见的信号,或者发送我们程序设定的希望出现的交易机会的邮件。但是指标不能开单关单,也不能修改任何交易。这条狗只能叫,它不被允许咬人或者追人,它唯一的任务是提醒你现在处在的情况。而那些实际需要的操作需要你来执行。
我们需要将脚本和自定义指标结合,指标有一系列的规则去遵循并且能够做出决定,而脚本有开单关单和改单的能力,但是只有当我们告诉它去做才执行。我们需要能够将脚本修改订单的能力和指标做决定的能力相结合,那样就不仅能够开关订单,同样还不需要我们去告诉它什么时候去执行。
我们可以写下一些指令,让指标来监视市场情况,然后当正确时间来临可以触发脚本来执行交易,比如启动一个移动止盈或者直接止盈。我们需要一样东西来决定并执行如何做以及何时做。这就是EA的功能。
举报

评论 使用道具

精彩评论23

tianping
DDD
| 发表于 2021-7-16 10:40:25 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

qwe11
CCC
| 发表于 2021-7-16 14:32:47 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

daerwushen
DD
| 发表于 2021-7-16 18:42:42 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

qwe11
CCC
| 发表于 2021-7-17 19:26:55 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

daerbushen
DD
| 发表于 2021-7-17 23:03:03 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

漢聲eddy
未及格
| 发表于 2021-7-19 14:04:28 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

yuiran
DDD
| 发表于 2021-7-19 22:06:07 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

tyo00
D
| 发表于 2021-7-20 05:10:59 来自手机 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

秒秒007
DDD
| 发表于 2021-11-5 09:17:37 | 显示全部楼层
从零开始学习mql4
举报

点赞 评论 使用道具

twb818
C
| 发表于 2021-11-5 09:23:57 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

YHX
D
| 发表于 2021-11-5 16:47:01 来自手机 | 显示全部楼层
感謝分享
举报

点赞 评论 使用道具

daerwushen
DD
| 发表于 2021-11-5 18:55:44 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

EA6666
D
| 发表于 2021-11-5 19:55:50 来自手机 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

YHX
D
| 发表于 2021-11-6 16:28:34 来自手机 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

EA88
DD
| 发表于 2021-11-6 17:29:31 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

mydiis
DDD
| 发表于 2021-11-29 15:07:14 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

海胆战士
D
| 发表于 2021-11-29 17:07:26 | 显示全部楼层
感谢分享
举报

点赞 评论 使用道具

EA6666
D
| 发表于 2021-11-29 21:30:08 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

a451780267
DD
| 发表于 2021-11-29 23:00:43 | 显示全部楼层
谢谢分享
举报

点赞 评论 使用道具

12下一页
发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)