Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 769

 
Si prega di aiutare, è necessario aggiungere il tempo del consulente. chi può aiutare, scrivere nel personale. come segno di gratitudine, condividerò la mia idea
 
Sergei Boriskov:
Aiuto per favore, abbiamo bisogno di aggiungere tempo all'Expert Advisor. chi può aiutare, per favore mi contatti di persona. come ringraziamento, condividerò la mia idea
Questo forum è per la discussione aperta.
 
Per favore aiutatemi, ho bisogno di aggiungere un tempo al consulente.
File:
qwer.mq4  14 kb
 
Sergei Boriskov:
Per favore aiutatemi, ho bisogno di aggiungere il tempo di esecuzione al mio EA.

Provate questo script per tirare fuori alcune caratteristiche utili per il vostro 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:
Per favore aiutatemi, ho bisogno di aggiungere tempo all'Expert Advisor.
Hai provato a fare qualcosa da solo? O vuoi che lo facciamo noi per te?
Questo è un thread di formazione. Se non puoi - ti aiuteremo, insegneremo, ma faremo tutto per te...
 
Alekseu Fedotov:

Provate questo script per tirare fuori alcune caratteristiche utili per il vostro EA.

Grazie

 
Vitaly Muzichenko:

Beh, si può ottenere qualcosa di utile e a volte anche di straordinario da ogni codice.

Codebase è progettato proprio per questo scopo, non per quello che ci fanno due persone.

P.S. Ho avuto una buona idea, dovrò riscrivere l'array di strutture, in qualche modo non ci ho nemmeno pensato prima.

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

Il codebase è stato creato proprio per questo scopo ed è progettato per fare le cose che due persone fanno con esso.

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

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

Studialo, o modifica la classe che contiene i dati in base alle tue esigenze, nel mio caso è CZigZagPeak, le liste dinamiche sono fantastiche!

Grazie, darò un'occhiata in serata!

 

Buon pomeriggio.

Aiuto con il codice, per favore, dato che non sono un programmatore :(

Ho bisogno di una parte di codice per calcolare la distanza tra gli ordini.

L'essenza del blocco:

Viene eseguito una volta a settimana il lunedì all'inizio dell'apertura della sessione di trading.

Vengono caricati i dati storici del mese precedente. (D1) (Come determinare l'ultimo mese o calcolare solo 30 giorni)

Tutte le dimensioni delle candele sono registrate tenendo conto delle ombre di ogni candela su D1 e viene calcolata la dimensione media di una candela per il mese.

Inoltre calcoliamo il valore medio della dimensione della candela per l'ultima settimana.

Poi il valore medio tra il mese e la settimana viene calcolato e diviso per N parti. Questa sarà la distanza tra gli ordini.

 
Alexander Layzerevich:

Buon pomeriggio.

Aiuto con il codice, per favore, dato che non sono un programmatore :(

Ho bisogno di una parte di codice per calcolare la distanza tra gli ordini.

L'essenza del blocco:

Viene eseguito una volta a settimana il lunedì all'inizio dell'apertura della sessione di trading.

Vengono caricati i dati storici del mese precedente. (D1)

Tutte le dimensioni sono registrate tenendo conto delle ombre di ogni candela su D1 e viene calcolato il valore medio della dimensione della candela per il mese.

Viene anche calcolato il valore medio della dimensione della candela per l'ultima settimana.

Poi il valore medio tra il mese e la settimana viene calcolato e diviso per N parti. Questa sarà la distanza tra gli ordini.

Utilizzare l'indicatore ATR

Motivazione: