文章 "MQL5 Cookbook: 在EA交易中使用指标来设置交易条件"

 

新文章 MQL5 Cookbook: 在EA交易中使用指标来设置交易条件已发布:

在本文中,我们将继续修改之前在MQL5 Cookbook系列文章中的EA交易,这一次,EA交易将进一步增强,使用指标来检查建仓条件。为了增加点乐趣,我们会在外部参数中创建一个下拉列表,可以从三个交易指标中选择一个。

MQL5 Cookbook: Using Indicators to Set Trading Conditions in Expert Advisors

作者:Anatoli Kazharski

 

阿纳托利,感谢您的文章!我认为 MQL5-recipe 方法非常成功...

我有几个问题和意见。它们是针对开发人员的。

在文章中:

"...Напомню, для режима исполнения Market Execution открыть позицию сразу с установленными уровнями Stop Loss и Take Profit не получится: нужно сначала открыть позицию, а потом уже модифицировать ее, установив эти уровни..."

从字面上看,马上就可以:

从第 803 版开始,对于市场执行和交易所执行执行类型,您可以在开仓时设置止损和获利水平。

我知道最后一段取消了前一段的含义....。那么,为什么这些信息最初没有包含在"MetaTrader 5 客户端第 803 版 "的 变更列表中?为什么没有写入文档?

 
denkir:
我知道最后一段取消了前一段的含义,....。那么为什么这些信息最初没有包含在"MetaTrader 5 客户端第 803 版 "的 更改列表中?为什么文档中没有?

由于某些原因,新闻中没有提及,但我们决定在本文中给出一个脚注。

 
Rosh:

由于某些原因,新闻中没有提及,但决定在本文中给予注脚。


至于 MT4?
 
Rosh:

由于某些原因,新闻中没有提及,但决定在本文中给予注脚。


谢谢。

顺便请处理

1) 方法

bool CTrade::FillingCheck(const string symbol)


2)工具是否允许特定模式(SYMBOL_FILLING_ALL_OR_NONESYMBOL_CANCEL_REMAINDSYMBOL_RETURN_REMAIND)。

据我所知,第 2) 项可以由 broker.... 自定义。也许在文档中指定它更有意义?

如果我的理解有误,那么关于第 2) 点的问题就取消了...


 
denkir:

我知道第 2) 项可以由经纪人自定义.....。也许在文档中明确说明更有意义?

在文件中明确说明 "第 2) 项可以由经纪人定制"?

 
sergeev:

文件中明确指出 "第 2 点可以由经纪商定制"?

为什么......因为我注意到,对于不同经纪商的同类账户(固定点差、FOK 执行),函数

SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);

可以返回不同的值...

 
denkir:


只是不清楚为什么。

事实上,"可由经纪人定制 "这句话应该写在每一页交易文件上:)

但您问的不是经纪商的问题,而是符号的问题。

一个符号是市场执行符号,另一个是证券交易所符号。

它们有不同的条件、不同的成交类型和许多其他事项。

这就是为什么要提供所有的交易环境状态轮询功能。

 

sergeev:

......但您所问的问题与经纪人无关,而是与符号有关。

一个符号是市场执行符号,另一个是证券交易所符号。

它们有不同的条件、不同的成交类型和许多其他东西......


谢尔盖耶夫,你没 注意我刚才写的

......但因为我注意到,在不同的经纪商处,相同类型的账户(固定点差、FOK 执行)....。


我画了一个简单的脚本。在该脚本中,我从不同的经纪商处获得了以下有关 EURUSD 符号的信息:


经纪商 "A":

NQ    0    22:39:37    test_symbol (EURUSD,H1)    Число знаков после запятой: 4
GI    0    22:39:37    test_symbol (EURUSD,H1)    Плавающий спред: 1
KQ    0    22:39:37    test_symbol (EURUSD,H1)    Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT
OK    0    22:39:37    test_symbol (EURUSD,H1)    Режим заливки оредеров: 1
DS    0    22:39:37    test_symbol (EURUSD,H1)    Путь в дереве символов: Forex\EURUSD


经纪商 "B":

ON    0    22:45:00    test_symbol (EURUSD,H1)    Число знаков после запятой: 4
EQ    0    22:45:00    test_symbol (EURUSD,H1)    Плавающий спред: 0
RN    0    22:45:00    test_symbol (EURUSD,H1)    Режим заключения сделок: SYMBOL_TRADE_EXECUTION_INSTANT
LS    0    22:45:00    test_symbol (EURUSD,H1)    Режим заливки оредеров: 3
OK    0    22:45:00    test_symbol (EURUSD,H1)    Путь в дереве символов: Forex-Fix\EURUSD


您可以注意到,在相同的 交易完成模式 下,填写订单的模式是不同的。是的,点差模式是不同的(我在说明经纪商拥有相同类型的账户时忽略了这一点)....。问题是,这两种模式(达成交易和填写订单)是否有某种联系?

//+------------------------------------------------------------------+
//|test_symbol.mq5
//| 2013 年 MetaQuotes 软件公司版权所有。
//|http://www.mql5.com ||
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

#define  SymInt SymbolInfoInteger 
#define  SymS SymbolInfoString 

string _symbol="EURUSD";
//+------------------------------------------------------------------+
//| 脚本程序启动功能|
//+------------------------------------------------------------------+
void OnStart()
  {
//--- 1) SymbolInfoInteger()
   long symb_digits=SymInt(_symbol,SYMBOL_DIGITS);
   PrintFormat("小数位数:%u",symb_digits);
   bool symb_spread_float=SymInt(_symbol,SYMBOL_SPREAD_FLOAT);
   PrintFormat("浮动点差:%d",symb_spread_float);
   string trade_mode=EnumToString((ENUM_SYMBOL_TRADE_EXECUTION)SymInt(_symbol,SYMBOL_TRADE_EXEMODE));
   PrintFormat("交易模式:%s",trade_mode);
   long fil_mode=SymInt(_symbol,SYMBOL_FILLING_MODE);
   PrintFormat("读取器填充模式:%u",fil_mode);
//--- 2) SymbolInfoString()
   string path=SymS(_symbol,SYMBOL_PATH);
   PrintFormat("字符树路径:%s",path);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
denkir:

问题是,这两种模式(做交易和倒读者)有什么联系吗?

当然没有。

到期时间和利润计算方式也与 "做交易 "模式无关。

 

非常好的文章。

但我在下载 Zip 文件时遇到困难,文件似乎已损坏。