初学者的问题 MQL5 MT5 MetaTrader 5 - 页 932

 

我正在写一个EA。我不是在测试器中测试,而是在实际交易中测试。

是否可以在启动专家顾问时清除日志文件(标签 "专家")?

目前,删除这个文件的唯一方法是关闭终端。在终端打开的情况下删除文件 的方式就可以了。

 
pivomoe:

是否可以在专家启动时清除日志文件(标签 "专家")?

可以手动操作:在标签上,(鼠标右键)->"清除"

 
Ivan Ivanov:

你可以手动操作:在标签上,(右击)->"清除"。

只有 "专家 "标签中的文字会消失。该文件将保持原位。我需要删除或清除该文件。

 

我想教机器找到一个准确的平面。其条件如下:所以图表上有一个条形图


为了形成一个平面,我想找到它需要在其高度 HL之间 形成3条相对于第1条 的酒吧 (即只有4条位于一个范围内的酒吧),以比较酒吧和找到水平写了这个条件

        if(
        Bar_Op[qt+2]<=Bar_Hi[qt+3]&&Bar_Cl[qt+2]>=Bar_Lo[qt+3]&& 
        Bar_Op[qt+2]>=Bar_Lo[qt+3]&&Bar_Cl[qt+2]<=Bar_Hi[qt+3]&&
        Bar_Op[qt+1]<=Bar_Hi[qt+3]&&Bar_Cl[qt+1]>=Bar_Lo[qt+3]&&
        Bar_Op[qt+1]>=Bar_Lo[qt+3]&&Bar_Cl[qt+1]<=Bar_Hi[qt+3]&&
        Bar_Op[qt+0]<=Bar_Hi[qt+3]&&Bar_Cl[qt+0]>=Bar_Lo[qt+3]&&
        Bar_Op[qt+0]>=Bar_Lo[qt+3]&&Bar_Cl[qt+0]<=Bar_Hi[qt+3])         
        {

根据我的理解,比较正在进行中,但我对水平的绘制有一个问题

double Price_Ur = Bar_Cl[qt+2];

我想建立一个通过第二条街的收盘价 的水平。


我有一个问题,如何从条件中返回最低价格,或者如何找到它,可能我的条件并不返回价格,而只是比较经过OP和CL的蜡烛顶部的价格?我使用了以下记号

int iLwCL=iLowest(_Symbol,PERIOD_D1,MODE_CLOSE,3,qt+1); int iLwOP=iLowest(_Symbol,PERIOD_D1,MODE_OPEN,3,qt+1);
double Price_Ur = Bar_Cl[iLwCL]<Bar_Op[iLwOP] ? Bar_Cl[iLwCL]:Bar_Op[iLwOP];

函数iLowest 确定了相对于第0个条形的最低顶部,但在我的情况下,它没有找到最低价格。 我如何从条件中返回最低价格,以建立一个水平,就像双倍 Price_Ur = Bar_Cl[qt+2];那样?

 
你能告诉我是否有办法将一个阵列从一个EA转移到另一个?
GV变量在这方面非常不方便。
 
User_mt5:
你能告诉我是否有办法将一个阵列从一个EA转移到另一个?
GV变量在这方面非常不方便。

也许这将有助于https://www.mql5.com/ru/code/818。我自己从未使用过它。

 
User_mt5:
你能告诉我是否有办法将一个阵列从一个EA转移到另一个?
GV变量在这方面非常不方便。

关于交易、自动交易系统和测试交易策略的论坛

图书馆:TradeTransactions

fxsaber, 2018.09.20 16:23

// Пример хранения/обмена данными через Ресурсы внутри Терминала
#include <fxsaber\TradeTransactions\ResourceData.mqh> // https://www.mql5.com/ru/code/22166

void OnStart()
{  
  const RESOURCEDATA<int> ResourceINT("::int"); // Ресурс для обмена int-ами. const - как доказательство, что ничего не пишется в объект класса
  
  int ArrayINT[] = {1, 2, 3};
  int Num = 5;
  
  ResourceINT = ArrayINT;  // Ресурс хранит массив.
  ResourceINT += Num;      // Добавили в ресурс еще значение.
  ResourceINT += ArrayINT; // Добавили массив.
  
  int ArrayINT2[];  
  ResourceINT.Get(ArrayINT2); // Считали данные из ресурса.
  ArrayPrint(ArrayINT2);      // Вывели: 1 2 3 5 1 2 3

  ResourceINT.Free();                // Удалили данные из ресурса
  Print(ResourceINT.Get(ArrayINT2)); // Убедились, что данных нет: 0

  const RESOURCEDATA<MqlTick> ResourceTicks("::Ticks"); // Ресурс для обмена тиками. const - как доказательство, что ничего не пишется в объект класса
  MqlTick Tick;
  
  if (SymbolInfoTick(_Symbol, Tick))
    for (int i = 0; i < 3; i++)
      ResourceTicks += Tick; // Добавили в ресурс тики

  MqlTick Ticks[];
  ResourceTicks.Get(Ticks); // Считали данные из ресурса.
  ArrayPrint(Ticks);        // Вывели.
  
  // Это полное имя ресурса для обращения из другой программы
  const string NameOut = StringSubstr(MQLInfoString(MQL_PROGRAM_PATH), StringLen(TerminalInfoString(TERMINAL_PATH)) + 5) + "::Ticks";  
  Print(NameOut); // Вывели полное имя ресурса.
  
  const RESOURCEDATA<MqlTick> Resource(NameOut); // Ресурс для доступа к данным (read-only) из другой программы
  
  MqlTick TicksOut[];
  Resource.Get(TicksOut); // Считали данные из ресурса.
  ArrayPrint(TicksOut);   // Вывели.
  
  Resource.Free();   // Не получится повлиять на данные read-only-ресурса.
  Print(_LastError); // ERR_INVALID_PARAMETER - Ошибочный параметр при вызове системной функции.
}
 
pivomoe@fxsabe, 谢谢你们。我将研究这个问题。
 

我不明白,在这个顾问中,怎么会有这样的人?

https://www.mql5.com/ru/code/20254

我不知道如何阻止当前(尚未形成)的条形图被画出来。谁能给我一个提示?

Renko 2.0 Offline
Renko 2.0 Offline
  • www.mql5.com
Неторгующий советник Renko 2.0 Offline генерирует информацию по пользовательскому символу на минутном графике. Полный график Ренко с фитилями. Доступен и оффлайн! Ссылается на библиотеку Symbol для MetaTrader 5, написанную пользователем fxsaber. Настраивается с...
 
EgorKim:

我不明白,在这个顾问中,怎么会有这样的人?

https://www.mql5.com/ru/code/20254

我不知道如何阻止当前(尚未形成)的条形图被画出来。谁能给我一个提示?

你应该在专家顾问讨论主题)中询问。