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

【震荡专攻】专门做震荡的一个EA,欢迎一起交流

| 发表于 2024-6-17 14:40:45 | 显示全部楼层 |复制链接
初始化与结束逻辑
  • OnInit()函数:在EA启动时执行,主要进行了如下操作:
    • 设置了订单识别码、内部识别码等相关变量。
    • 初始化一些数组和变量,如时间戳数组_mPubTsIns等,用于后续逻辑中存储订单相关的时间信息。
  • OnDeinit(const int reason)函数:在EA停止时执行,根据停止的原因(如图表关闭、程序退出等)执行不同的清理工作:
    • 如果是因为图表移除或程序关闭,可能删除之前创建的对象和全局变量。
    • 如果是由于参数修改,仅删除特定的全局变量,保留一些需要持久化的变量。

实时数据处理逻辑(OnTick())
  • 时间周期与市场数据获取:首先检查是否超过使用期限,接着根据时间周期变量获取当前图表周期,并确定交易货币对(Symbol())。
  • 订单处理逻辑:
    • 订单状态检查:通过一系列的myFun17_x函数(如myFun17_1至myFun17_6)来判断是否满足特定的交易条件,如是否达到RSI指标的上、下限,是否有足够的交易次数等。
    • 订单执行与管理:依据判断结果,可能会调用myFun44_1、myFun96_1、myFun32_x等函数,进行订单的开仓、平仓、止损、移动止损和平保等操作。
    • 错误处理与记录:在尝试修改订单止损或平仓时,若遇到错误(如错误代码132),会通过Print函数输出错误信息,并可能记录相关操作。

辅助功能
  • 全局变量与对象管理:使用GlobalVariableSet、GlobalVariableGet和GlobalVariableDel来管理全局变量,以及myObjectDeleteByPreCap来删除特定前缀的对象,这些操作用于跨函数和跨周期的数据共享与状态记录。
  • 时间序列和状态跟踪:定义了多个数组用于存储订单的插入和排除时间戳,以及历史订单的时间戳,这些数据结构有助于跟踪和管理订单生命周期。
  • 账户与订单筛选:通过myIsOpenByThisEA2和myOrderOks等函数,检查订单是否由当前EA创建,以及是否满足执行条件,确保操作的精准性和安全性。
  • 参数解析与处理:通过myParseStrToDoubleB和myParseStrToDouble函数解析字符串形式的参数列表,如__亏损挂单间隔点数列表,将之转化为数值数组,用于动态调整交易策略。
特殊逻辑处理
  • 错误代码处理:在尝试操作订单时,会检查并处理错误代码,如通过GetLastError获取错误信息,并在必要时通过Sleep函数暂停执行,避免频繁操作导致的错误。



cb51456513f936b60258b6e66ba588b.png

937c0138032cf73ca96b209bf5d57ac.png

震荡专攻.ex4

106.89 KB, 下载次数: 0, 下载积分: 活跃度 -5  [下载]

评分
  • 1
  • 2
  • 3
  • 4
  • 5
平均分:NAN    参与人数:0    我的评分:未评 下载时遇到问题?
举报

评论 使用道具

精彩评论1

ufo123
D
| 发表于 2024-6-18 19:32:23 | 显示全部楼层
内部识别码等相关变量
举报

点赞 评论 使用道具

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

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