分析家公式网,提供指标公式,股票软件 用户登录  |  用户 注册
当前位置:分析家公式网股票软件MT4软件 → 一键转帖:[外汇EA]TrendlineAlert

软件名称:[B][外汇EA]TrendlineAlert[/B]
软件类型:国产软件
运行环境:Win9X/Win2000/WinXP/Win2003/Win7/
软件语言:简体中文
授权方式:免费版
软件大小:44.0 KB
官方主页:Home Page
更新时间:2021-01-22 00:12:11
软件简介:

TrendlineAlert
 
 
之前设计过趋势线的突破通知和交易 EA, 但只是支持单一趋势线, 这次完善支持多条趋势线的版本, 以利上下区间突破的通知或交易策略, 对数据消息市的操作将更为帮助. 因为许多小外汇评台在数据消息发布前或清淡市时, 点差常会不预期扩大而扫到提前预放的追买或追卖单, 利用 EA 来监测的好处是 EA 只用 bid 价咯而不考虑当时 bid/ask 价咯点差, 只有 bid 价咯突破趋势线才发出定单, 最大可能避开点差放大扫单的问题, 但缺点自然是要客户端接收到价咯再下单到评台成交之间时间延迟, 在快市时同样也会有滑点的问题, 利弊可以自行用模拟帐户验证.
 
使用说明:
 
1. EA 会自动抓取图表上的多条趋势线, 在当时价咯之上的趋势线判断为向上突破, 在价咯下为向下突破, 并自动生成跟随时间移动的价咯标签.
 
突破后, 自动发出通知 (有提示窗口, 声音, email 和与手机 MT4 间通知四个选项) 并可自动产生追买或追卖的交易单.
 
2. 突破后的趋势线, 会将价咯标签放大并改为特定颜色的浅色, 不再随时间移动, 以利判断这条趋势线已经作过突破而不再处理. 
 
3. 在图表左侧, 显示当前商品名称, 周期, 服务器时间和价咯, 并显示这些趋势线当前的状态.
 
4. 关闭 MT4 后重启, EA 会自动再抓取这些趋势线, 上次已经突破的趋势线也会被记忆住.
 
5. EA 移除后, 自动消除图表上所有的趋势线,标签和文字.
 
6. 交易功能里的止盈和止损点数在外汇交易时是以小数点四位或两位的点数为单位, 当检测到评台为五位或三位时, 会自动将点数乘十.
 
7. 移动止损功能 (trailing stop) 默认为关闭, 如果开启, 当检测到当种商品的委托单没有设定固定止盈和止损设定, 会自动设置, 并开始移动止损功能. 移动止损功能还分固定移动和变动移动, 默认是固定移动, 逻辑细节请见代码. 
 
8. 有时避免假突破, 可以将趋势线设高或低些, 或利用 EA 参数输入里的 PriceDelta , 设定突破再多几点才算真正突破, 默认为零, 也就是大于或小于趋势线即算突破, 在外汇小数点三位或五位评台, 这个点数和其他点数参数一样, EA 会自动乘十
 
编程简要笔记, 以利日后调试修改:
 
1. 对 EA 放置前图表上以存在的多条趋势线, 在 EA 初始化函数 OnInit() 内进行扫描, 并以下面字串逻辑合并在同一个字串, 之后再用 MQL4 里的 StringSplit(...) 以分隔字 ";" 切成字串数组 array 来处理.
 
0或1 + 趋势线object名称 + ";" 分隔字 ===> 0 代表还未突破, 1 代表已经突破的趋势线
 
2. EA 挂上后再放置或移除的趋势线, 使用 MT4 build 600 后新增的 OnChartEvent(...) 图表消息功能来处理.  Object 新增或移除要获得消息, 另外在 OnInit() 作以下设定才能得到消息, 这是与其他消息不同的地方.  新增和移除的趋势线也按照第一条的方式加入 Trendline 名称至那个总表字串, 并自动加入或删除价咯标签.
 
ChartSetInteger(ChartID(),CHART_EVENT_OBJECT_CREATE,true);
ChartSetInteger(ChartID(),CHART_EVENT_OBJECT_DELETE,true);
 
3. 每当 EA 移除, 关闭 MT4, 修改 EA 参数, 在 MQL4 机制中皆会调用程序关闭的 OnDeinit(...) 但这里通常是作消除图表 objects 的地方, 如果只在 EA 移除时才作消除动作, 其他原因不动作, 对关闭的原因 int reason 需作判断, 这个 reason 列表于 MQL4 官网里的:  http://docs.mql4.com/cn/constants/namedconstants/uninit
 
 
EA 参数设定说明:
 
input bool TradeEnabled = false;  //是否开启突破追买或追卖交易功能, 默认为 不 开启
input double Lots = 1.0;  // 交易手数
input int TargetProfit = 50; // 止盈点数, 在外汇小数点三位或五位评台 EA 会自动乘十
input int StopLoss = 50;  // 止损点数, 在外汇小数点三位或五位评台 EA 会自动乘十
input int Slippage = 50;  // 允许滑点点数, 在外汇小数点三位或五位评台 EA 会自动乘十
 
input bool AlertPopup = true;  // 提示窗口, 默认为开启
input bool Sound = true;  // 提示声音, 默认为开启
input bool EmailAlert = true;  // 通知 email, 默认为开启
input bool MobileAlert = false;  // 与手机MT4间的通知, 默认为关闭
input int PriceDelta = 0;  // 突破再多几点才算真正突破, 默认为零, 也就是大于或小于趋势线即算突破, 在外汇小数点三位或五位评台 EA 会自动乘十
 
input bool ChineseDisplay = true; // 状态文字为中文或英文显示, 默认为中文显示
 
input int HourStart = 0;  // EA 作用开始时间, 以本机时间为准, 默认是全天也就是 0-24 时 
input int HourEnd = 24;
 
input bool TrailingStop = false;  // 移动止损, 默认为关闭
input bool TrailingStopMoved = false; // 固定或变动移动止损, 默认为固定, 但上者功能关闭时也是被关闭
input int TrailingStopPoint = 5; // 移动止损点数, 在外汇小数点三位或五位评台 EA 会自动乘十
 
input bool DisplayQuote = true;  // 是否在图表左侧显示当前商品名称, 周期, 服务器时间和价咯, 默认为显示
input bool DisplayTrendLineStatus = true; // 是否在图表左侧显示趋势线突破状态, 默认为显示
 
input bool AddPosition = false;  // 是否作间隔加仓, 默认为关闭
input int PositionStepPoint = 10;  // 间隔追买或追卖加仓的间隔点数, 在外汇小数点三位或五位评台 EA 会自动乘十
input int PositionStepNumber = 1; // 间隔追买或追卖加仓的间隔次数
 

[url=http://www.70822.com/soft/sort012/sort089/down-151058.html][外汇EA]TrendlineAlert[/url]

关于本站 | 网站帮助 | 广告合作 | 声明 | 友情连接 | 网站地图 |
分析家公式网声明:本站所有股票公式软件资料均网上公开收集,如侵权请联系删帖。站内所有广告,均与本站无关!
Copyright © 2003-2024 70822.Com. All Rights Reserved .
页面执行时间:62.50000 毫秒