新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 900

 
你好!我如何将自定义指标 作为资源连接到EA?
 
Oleg Kolesov:
你好!我如何将自定义指标 作为资源连接到EA?
#resource "\\Indicators\\indicator.ex4"
 

你好,塔拉斯!一直和你一起工作。很高兴见到你。我将该指标连接到我的专家顾问,作为一种资源。我不确定我的做法是否正确?

//|www.koles.75@inbox.ru |
//+------------------------------------------------------------------+
#resource "\Indicators\\KChange.ex4"
#财产版权 "Koles"
#属性链接 "https://www.koles.75@inbox.ru"
#财产版本 "1.00"
#属性严格

int start()

{
H=iCustom(NULL,TF,"::Indicators\\KChange.ex4", History,Period_1,Period_2,MA_method,0,1)。

编译器没有发现任何错误,但测试仪的工作速度却慢了很多?这是否正常?

//-----------------------------------------------------------------------------------------------------------------

MQL4手册说:在初始化 函数中对变量的引用

//+------------------------------------------------------------------+

//| 专家初始化功能|
//+------------------------------------------------------------------+
intOnInit()
{
//----获得自定义指标的值
doublevalue=iCustom(_Symbol,_Period,":Indicators\\SampleIndicator.ex4",0,0)。

初始化 函数中引用指标变量 ,而不是在启动函数中? 请有经验的人提供建议!

 
Oleg Kolesov:
你好!我如何将自定义指标 作为资源连接到EA?

顶部的帮助:"文档"被称为。

请参考"MQL5程序-->资源-->"部分"如何与作为资源连接的自定义指标一起工作"。

一切都很清楚和简单。而且经常有例子。

Документация по MQL5: Программы MQL5 / Ресурсы
Документация по MQL5: Программы MQL5 / Ресурсы
  • www.mql5.com
В данном примере показано как проигрывать звуки из файлов Ok.wav и timeoit.wav, входящих в стандартную поставку терминала. Эти файлы находятся в папке означает папку, из которой запущен клиентский терминал MetaTrader 5.  Программным путем из mql5-программы каталог терминала можно узнать следующим образом: Расположение каталога данных терминала...
 
Artem指标和EA文件EX4。
 
Oleg Kolesov:
Artem指标和EA文件EX4。

该指标必须作为可执行文件(.ex4/.ex5)插入EA中,但如果EA也是可执行文件,而没有源文件,那么就没有办法了。

 

你好,我想写一个EA,它将在每个tick点下一个挂单。但它会在第一个刻度上设置BuyStop,然后不再设置。有一个错误130。问题是什么?请帮助我。


#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#include  <Init_Deinit.mqh> 

// Переменные
extern double lots    = 0.01;
extern int    Level   = 200;
extern double StopL   = 300;
extern double TakeP   = 1000;


// Start Programm
void OnTick() 
  { 
  //--- вычисленные значений для BuyStop
   double price_buystop=Ask+Level*Point; 
   StopL =NormalizeDouble(price_buystop-StopL*Point,Digits); 
   TakeP =NormalizeDouble(price_buystop+TakeP*Point,Digits); 
   
//--- Размещаем отложный ордер BuyStop
   int ticket=OrderSend(Symbol(),OP_BUYSTOP,lots,price_buystop,3,StopL,TakeP,"Rupture",1111,0,clrGreen); 
   if(ticket<0) 
     { 
      Print("BuyStop завершилась с ошибкой #",GetLastError()); 
          } 
   else 
      Print("Функция BuyStop успешно выполнена"); 
      
    }
    

 
Artem自己写了这个指标和专家顾问。用MQL4向导创建一个专家顾问(模板),自定义指标,脚本,库,包括文件(mqh),新类?包含文件(#include)?
 
Oleg Kolesov:
Artem自己写了这个指标和专家顾问。 用MQL4向导创建一个专家顾问(模板),自定义指标,脚本,库,包括文件(mqh),新类? 包含文件(#include)?

如果你自己写,你有专家顾问的源代码--把指标作为资源插入其中。

 
Doszhan:

你好,我想写一个EA,在每个tick点下一个挂单。但它会把BuyStop放在第一个tick上,而不会把它放在下一个tick上。我有一个错误130。问题是什么?请帮助我。


  1. 订单设定价格没有被规范化。
  2. 所有的价格都应该对照StopLevel进行检查--如果订单与价格的距离点数小于StopLevel值,那么就会出现错误130--错误的止损。
Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку, так как небольшая ошибка в логике советника или индикатора может привести к убыткам на торговом счете. Именно поэтому нами разработана серия базовых проверок, призванных обеспечить необходимый уровень качества продуктов Маркета. Если в процессе проверки...