MT4开发(2) - 第一个下单程序

3 篇文章 0 订阅

第一个下单程序

1. 交易权限

按照下图勾选上
* 允许自动交易(第一个选项)

这里写图片描述

2. 交易函数

int  OrderSend( 
   string   symbol,              // 货币对 
   int      cmd,                 // 交易指令 
   double   volume,              // 交易手数
   double   price,               // 交易价格 
   int      slippage,            // 滑点 
   double   stoploss,            // 止损价 
   double   takeprofit,          // 止盈价 
   string   comment=NULL,        // 交易备注 
   int      magic=0,             // 魔法数字 
   datetime expiration=0,        // 挂单有效期
   color    arrow_color=clrNONE  // 颜色 
);

3. 一个交易程序的例子

void OnStart()
  {
//---   
   // 获取市场中约定的最小的止损/止盈价格与买卖现价的点数
   double minstoplevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   Print("Minimum Stop Level=", minstoplevel, " points"); 

   // 获取当前卖价
   double price = Ask;

   // 设置止损价为当前买入价减去最小StopLevel
   double stopLoss = NormalizeDouble(Bid - minstoplevel * Point, Digits);
   // 设置止盈价为当前卖出价减去最小StopLevel
   double takeProfit = NormalizeDouble(Bid + minstoplevel * Point, Digits);

   // symbol      按当前货币对下单 - Symbol()
   // cmd         交易指令为买入 - 市价买入 OP_BUY
   // volume      交易手数 - 1个标准手
   // price       交易金额 - 当前卖价 Ask
   // slippage    交易滑点 - 允许滑点3个点
   // stopLoss    止损价
   // takeProfit  止盈价
   // comment     备注
   // magicNumber 魔法数字
   // expiration  挂单有效期 - 0 市价买入忽略有效期
   // color       颜色 - 在图表窗口中显示
   int ticket = OrderSend(Symbol(), OP_BUY, 1, price, 3, stopLoss, takeProfit, "My order", 16384, 0, clrGreen);

   // 下单失败,ticket = -1, 通过 GetLastError() 获取更多错误信息
   if (ticket < 0)
     {
      Print("OrderSend failed with error #", GetLastError());
     }
   // 下单成功 ticket >= 0,等于0是什么情况 ?
   else
     {
      Print("OrderSend placed successfully"); 
     }
  }
//+------------------------------------------------------------------+

4. 运行

将上面的逻辑放到MyFirstScript.mq4中,拖到EUR/USD窗口运行

这里写图片描述

第一笔交易:订单号 39729030
当前卖价 1.24246
当前买价 1.24263

Script 加载运行OnStart时下单
已当前卖价 1.2423 市价买入 1 手,止损价 1.24236,止盈价 1.24256

结果:
交易止盈平仓,平仓价 1.24259,实际利率亏损 4刀(为啥?)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智能交易系统软件是用来对交易过程全程自动化,免除交易商连续对市场进行日常烦琐的监护。 许多专业 交易商利用多层交易系统,对不同的市场和在不同的环境下进行操作。通常他们在著名的分析软件包里对 交易战略进行编写和测试,比如,MetaStock 和 TradeStation。 使用MultiBank Trader智能交易系统软件,招招领先,你可以把交易系统产生的信号和真实账户联系起来, 这样连接以便于能追踪和管理你的某个时段的开仓部位,提交的订单和止损单。 什么是智能交易系统?它是一个用特殊的MetaQuotes 语言 4 (MQL 4)编写的自动交易系统(ATS), 和特定的图表联系在一起。智能交易系统不仅能通知交易商交易机会,而且还能自动执行交易账户上的交 易,直接发送到交易服务器。和许多的IT系统一样,智能交易系统系统支持历史数据战略测试,图表上表 示的登入/登出点。而且,智能交易系统的可执行码分别存储于源文件和加密的执行文件中-这种安排保证 了交易商所使用的逻辑隐藏(如有必要的话),而不会泄密。 编写自己的智能交易系统软件也非常容易:尝试一下吧!不需要是专业编程高手,你只需要学会使用非常 简单的语言-MQL 4语言。即使用户不能自行编写智能交易系统规则,但是他需要熟悉最近的编程技能, 不过很可能不需一个小时他便掌握了这些规则并能编写程序。 无数的交易商为MetaStock 和 TradeStation软件开发了多种多样的交易战略。其中多数均被翻译成 MQL 4语言,这就使得用户可以把前期累计的经验并合到里面去。有些即学即用智能交易系统版本可以从 本页下载。
### 回答1: MT4-DKX多空分水线是一款专为MetaTrader 4平台设计的技术指标扩展文件(.ex4)。该指标的主要作用是帮助交易者判断市场的多空力量变化和趋势反转的时机。 该指标的计算基于市场价格和成交量的综合分析。它通过分析市场的多空力量平衡来判断市场趋势的转折点。在图表上,MT4-DKX多空分水线以分水线的形式呈现,当多头力量高于空头力量时,分水线上升,表示多头趋势;当空头力量高于多头力量时,分水线下降,表示空头趋势。交叉分水线的位置则表示市场趋势发生了反转的可能,提示交易者注意趋势变化。 该指标的应用可以帮助交易者更好地理解市场趋势,并作出相应的交易决策。当分水线上升或下降时,交易者可以借此确认市场的多空力量强弱,并考虑进一步的买入或卖出机会。当分水线交叉时,交易者可以借此判断趋势反转的可能性,以避免错过逆势交易机会。 总结而言,MT4-DKX多空分水线是一款可在MetaTrader 4平台上使用的技术指标,通过对市场多空力量的综合分析来判断市场趋势的转折点。它的应用能够帮助交易者更好地把握市场行情,作出更明智的交易决策。 ### 回答2: MT4-DKX多空分水线是一种基于MetaTrader 4(MT4)平台的技术指标,它的全称是MT4-DKX Bull Bear Separation Line。这个指标旨在帮助交易者观察市场趋势的转变。它通过计算一段时间内的股价波动平均值,并将其以曲线图的形式呈现,以便交易者更加直观地观察市场的多空力量。 在MT4-DKX多空分水线指标中,分水线的主要含义是表示市场空多力量的分割线。当股价在分水线上方运动时,意味着市场处于多头(上涨)状态;而当股价低于分水线时,意味着市场处于空头(下跌)状态。交易者可以根据这个指标的图表变动来判断市场当前的多空态势,从而制定相应的交易策略。 此外,MT4-DKX多空分水线指标还可以配合其他技术指标一起使用,以增强分析和决策的准确性。比如,交易者可以将其与其他趋势指标如移动平均线等进行比较,来进一步确认市场的多空趋势,并推测未来价格的走势。 总之,MT4-DKX多空分水线是一种用于辅助交易决策的技术指标,通过分析股价的均值波动情况,帮助交易者判断市场的多空力量和趋势变化。使用此指标可以更好地把握市场的行情,从而更加科学和有依据地进行交易操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值