系统交易

AK-47 Scalper EA:MetaTrader 5的高效交易助手
MetaTrader5
AK-47 Scalper EA:MetaTrader 5的高效交易助手

大家好,今天来聊聊一款非常实用的交易助手——AK-47 Scalper EA,它专为MetaTrader 5平台设计,能够帮助我们有效捕捉市场机会。 1. 输入参数 #define ExtBotName "AK-47 EA" // 机器人名称 #define  Version "1.00" // 导入输入类 #include <Trade\PositionInfo.mqh> #include <Trade\Trade.mqh> #include <Trade\SymbolInfo.mqh>   #include <Trade\AccountInfo.mqh> #include <Trade\OrderInfo.mqh> //--- 定义预设变量以便于代码可读性 #define Ask    SymbolInfoDouble(_Symbol, SYMBOL_ASK) #define Bid    SymbolInfoDouble(_Symbol, SYMBOL_BID) //--- 输入参数 input string  EASettings         = "---------------------------------------------"; //-------- <EA设置> -------- input int      InpMagicNumber    = 124656;   //魔术数字 input string  MoneySettings      = "---------------------------------------------"; //-------- <资金设置> -------- input bool     isVolume_Percent  = true;     //允许按比例计算交易量 input double   InpRisk           = 3;        //风险百分比 input string  TradingSettings    = "---------------------------------------------"; //-------- <交易设置> -------- input double   Inpuser_lot       = 0.01;     //交易手数 input double   InpSL_Pips        = 3.5      //止损(点数) input double   InpTP_Pips        = 7        //止盈(点数)(0 = 无止盈) input int      InpMax_slippage   = 3        //最大允许滑点 input double   InpMax_spread     = 5        //最大允许点差(0 = 浮动点差) input string   TimeSettings      = "---------------------------------------------"; //-------- <交易时间设置> -------- input bool     InpTimeFilter     = true;     //时间过滤器 input int      InpStartHour      = 2;        //开始小时 input int      InpStartMinute    = 30       //开始分钟 input int      InpEndHour        = 21        //结束小时 input int      InpEndMinute      = 0        //结束分钟 2. 本地变量初始化 //--- 变量 int      Pips2Points;    // 滑点 3点 double   Pips2Double;    // 止损 15点 bool     isOrder = false; int      slippage; long     acSpread; string   strComment = ""; CPositionInfo  m_position;                   // 交易位置对象 CTrade         m_trade;                      // 交易对象 CSymbolInfo    m_symbol;                     // 货币对信息对象 CAccountInfo   m_account;                    // 账户信息包装类 COrderInfo     m_order;                      // 挂单对象 3. 主代码 a/ 专家初始化函数 //+------------------------------------------------------------------+ //| 专家初始化函数 | //+------------------------------------------------------------------+ int OnInit() {    // 检测3位或5位小数    // 点和点数    if(_Digits % 2 == 1) {       Pips2Double  = _Point*10;       Pips2Points  =

2023.06.12
动态追踪止损与利润目标管理 - MetaTrader 5 的交易系统
MetaTrader5
动态追踪止损与利润目标管理 - MetaTrader 5 的交易系统

大家好!今天我们来聊聊一种在MetaTrader 5中使用的风险管理策略,这个策略主要是通过动态追踪止损和利润目标来管理现有的交易。 这个系统的核心思想是,在交易达到一定的盈利或亏损阈值时,及时平仓,并在行情朝着有利方向移动时,采用追踪止损来锁定利润。 代码简要说明 包含了必要的头文件,用于交易和品种信息的处理。 定义了输入参数,包括风险百分比、盈利百分比和追踪止损点。 声明了全局变量,用于存储交易和品种信息的对象。 OnInit函数用于初始化品种信息对象,并检查是否有错误。 OnDeinit函数在这种情况下不执行任何操作。 OnTick函数会在每次接收到新报价时被调用,并且会调用CheckTrades函数。 CheckTrades函数会遍历所有的持仓,检查该持仓是否属于当前品种。如果是,它会计算当前利润,并判断是否达到了盈利或亏损的阈值。如果达到了其中一个阈值,则平仓。 如果没有达到阈值,代码会检查持仓类型是买单还是卖单,并用追踪止损更新止损水平。如果新的止损水平比当前的更有利,则修改持仓的止损水平。 总的来说,这段代码提供了一种简单的风险管理策略,通过动态调整止损水平和及时平仓,来管理现有的交易。希望这对大家的交易有所帮助!

2023.04.28
使用CheckTrades优化MetaTrader 5的风险管理
MetaTrader5
使用CheckTrades优化MetaTrader 5的风险管理

大家好,今天我们来聊聊一个非常实用的工具——CheckTrades。这个工具是为MetaTrader 5平台设计的,主要是为了帮助我们更好地管理风险。 CheckTrades的核心代码是一个MQL5的专家顾问(EA),它的设计理念是:当我们的持仓达到用户设定的利润或亏损阈值时,就自动平仓。这个阈值是按照账户余额的百分比来计算的。 CheckTrades的工作原理 需要注意的是,这个EA并不提供入场信号或市场时机规则,它的主要目的是通过在达到特定利润或亏损阈值时关闭现有持仓,从而管理风险。 外部变量说明 风险百分比 (RiskPercentage): 这个变量代表每笔交易允许的最大亏损,单位为账户余额的百分比。当某个开放仓位的当前亏损达到这个百分比时,系统将自动平仓,以限制风险。 利润百分比 (ProfitPercentage): 这个变量表示每笔交易期望的利润,同样是以账户余额的百分比来计算。当某个开放仓位的当前利润达到这个百分比时,系统将平仓以锁定利润。 由于这个EA专注于风险管理,不依赖任何特定的市场指标,因此可以应用于任何品种或时间框架。不过,值得强调的是,这个EA应该与包括入场信号和其他交易管理规则的交易策略结合使用,才能形成一个完整的交易系统。 如果你把这个代码作为一个包含文件(放在MQL5\Include文件夹中),它的主要作用就是通过用户定义的利润和亏损阈值来进行风险管理,自动关闭持仓。 你可以将这个包含文件与其他特定功能的包含文件结合使用,比如根据账户风险计算持仓大小、移动止损等。实现方法很简单,只需在主EA文件中使用#include指令来包含这个文件,然后在需要管理开放仓位时调用CheckTrades()函数即可。

2023.04.25
首页 上一页 4 5 6 7 8 9 10 11 12 13 14 下一页 末页