Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 769

 
Por favor, ajude, você precisa acrescentar o tempo do conselheiro. quem pode ajudar, escreva no pessoal. como sinal de gratidão, eu compartilharei minha idéia
 
Sergei Boriskov:
Ajude, por favor, precisamos adicionar tempo ao Consultor Especialista. quem pode ajudar, por favor, entre em contato comigo pessoalmente. como agradecimento, vou compartilhar minha idéia
Este fórum é para uma discussão aberta.
 
Por favor, ajude-me, preciso acrescentar um tempo ao assessor.
Arquivos anexados:
qwer.mq4  14 kb
 
Sergei Boriskov:
Por favor, ajude-me, preciso acrescentar o tempo de funcionamento à minha EA.

Experimente este script para extrair algumas características úteis para sua EA.

//+----------------------------------------------------------------------------+
//|                                                test_isTradeTimeString.mq4  |
//|                                                                            |
//|                                                    Ким Игорь В. aka KimIV  |
//|                                                       http://www.kimiv.ru  |
//|                                                                            |
//|  29.04.2009  Скрипт для тестирования функции isTradeTimeString().          |
//+----------------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link  "http://www.kimiv.ru"


void OnStart() {
//1. Временной отрезок внутри суток.
//Текущее время торгового сервера внутри отрезка и пусть оно равно "07:50".
//  if (isTradeTimeString("06:00", "09:30")) Message("Торгуем...");
//  else Message("Отдыхаем...");

//2. Временной отрезок внутри суток.
//Текущее время торгового сервера вне отрезка и пусть оно равно "07:50".
  if (isTradeTimeString("12:00", "16:30")) Message("Торгуем...");
  else Message("Отдыхаем...");

//3. Временной отрезок включает границу суток.
//Текущее время торгового сервера внутри отрезка и пусть оно равно "07:50".
  //if (isTradeTimeString("20:15", "09:30")) Message("Торгуем...");
  //else Message("Отдыхаем...");

//4. Временной отрезок включает границу суток.
//Текущее время торгового сервера вне отрезка и пусть оно равно "07:50".
//  if (isTradeTimeString("8:00", "18:30")) Message("Торгуем...");
 // else Message("Отдыхаем...");
}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 29.04.2009                                                     |
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    TimeBegin - время начала торговли         (ЧЧ:ММ)                       |
//|    TimeEnd   - время окончания торговли      (ЧЧ:ММ)                       |
//+----------------------------------------------------------------------------+
bool isTradeTimeString(string TimeBegin="00:00", string TimeEnd="00:00") {
  datetime dtBegin, dtEnd;        // Время начала и окончания работы
  int      hc, he;                // Часы текущего времени и окончания работы

  dtBegin=StringToTime( TimeToString(TimeCurrent(), TIME_DATE)+" "+TimeBegin);
  dtEnd  =StringToTime( TimeToString(TimeCurrent(), TIME_DATE)+" "+TimeEnd);
  hc     =TimeHour(TimeCurrent());
  he     =TimeHour(dtEnd);
  if (dtBegin>=dtEnd) {
    if (hc>=he) dtEnd+=24*60*60; else dtBegin-=24*60*60;
  }

  if (TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd) return(true);
  else return(false);
}

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 01.09.2005                                                     |
//|  Описание : Вывод сообщения в коммент и в журнал                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    m - текст сообщения                                                     |
//+----------------------------------------------------------------------------+
void Message(string m) {
  Alert(m);
  if (StringLen(m)>0) Alert(m);
}
//+----------------------------------------------------------------------------+

 
Sergei Boriskov:
Por favor, ajude-me, preciso acrescentar tempo ao Consultor Especialista.
Você mesmo já tentou fazer alguma coisa? Ou você quer que o façamos por você?
Este é um fio de treinamento. Se você não puder - nós ajudaremos, ensinaremos, mas faremos tudo por você...
 
Alekseu Fedotov:

Experimente este script para extrair algumas características úteis para sua EA.

Obrigado

 
Vitaly Muzichenko:

Bem, você pode obter algo útil e às vezes até extraordinário de cada código.

O Codebase foi projetado exatamente para este fim, não para o que duas pessoas fazem com ele.

P.S. Tive uma boa idéia, vou precisar reescrever o conjunto de estruturas, de alguma forma nem mesmo pensou nisso antes.

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

A base de código foi criada com este mesmo propósito e foi projetada para fazer as coisas que duas pessoas fazem com ela.

ArrayZigZag
ArrayZigZag
  • www.mql5.com
При создании объекта в его конструктор необходимо передать в качестве параметров: 3. Использовать экземпляр объекта  ZigZag как обычный массив структур. Доступны для чтения следующие поля: Свойство Тип Описание 4. Публичным доступны два метода:  ZigZag.Update(void) - обновление значений индикатора ZigZag , можно использовать как на каждом...
 
Igor Makanu:

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

Estude-o, ou edite a classe que detém os dados de acordo com suas necessidades , no meu caso é a CZigZagPeak , listas dinâmicas são legais!

Obrigado, darei uma olhada à noite!

 

Boa tarde.

Ajuda com o código, por favor, pois eu mesmo não sou um programador :(

Preciso de uma parte do código para calcular a distância entre os pedidos.

A essência do bloco:

Funciona uma vez por semana na segunda-feira, no início da abertura da sessão de negociação.

Os dados históricos do mês anterior são carregados. (D1) (Como determinar o último mês ou apenas calcular 30 dias)

Todos os tamanhos de vela são registrados levando em conta as sombras de cada vela em D1 e o tamanho médio de uma vela para o mês é calculado.

Também calculamos o valor médio do tamanho do castiçal para a última semana.

Então, o valor médio entre o mês e a semana é calculado e dividido por N partes. Esta será a distância entre as ordens.

 
Alexander Layzerevich:

Boa tarde.

Ajuda com o código, por favor, pois eu mesmo não sou um programador :(

Preciso de uma parte do código para calcular a distância entre os pedidos.

A essência do bloco:

Funciona uma vez por semana na segunda-feira, no início da abertura da sessão de negociação.

Os dados históricos do mês anterior são carregados. (D1)

Todos os tamanhos são registrados levando em conta as sombras de cada vela em D1 e o valor médio do tamanho da vela para o mês é calculado.

O valor médio do tamanho do castiçal para a última semana também é calculado.

Então, o valor médio entre o mês e a semana é calculado e dividido por N partes. Esta será a distância entre as ordens.

Use o indicador ATR

Razão: