MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 769

 
助けてください、アドバイザーの時間を追加する必要があります。 助けることができる人は、個人的に書き込む。感謝の印として、私は私のアイデアを共有します
 
Sergei Boriskov:
Expert Advisorに時間を追加したいのですが、どなたかお手伝いいただける方、直接ご連絡ください
このフォーラムは、オープンな議論の場です。
 
助けてください、アドバイザーに時間を追加したいのです。
ファイル:
qwer.mq4  14 kb
 
Sergei Boriskov:
私のEAにランニングタイムを追加したいのですが、助けてください。

このスクリプトを使って、あなたの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:
Expert Advisorに時間を追加したいのですが、助けてください。
自分で何かしようとしたことはありますか?それとも、私たちが代わりにやってあげましょうか?
ここはトレーニングスレッドです。もしできなかったら......助ける、教える、でも全部やってあげる......。
 
Alekseu Fedotov:

このスクリプトを使って、あなたのEAに便利な機能を引き出してみてください。

ありがとうございました。

 
Vitaly Muzichenko:

さて、すべてのコードから、何か役に立つもの、時にはとんでもないものを得ることができます。

Codebaseはまさにそのために設計されているのであって、二人がそれを使って何をするかということではありません。

追伸:いいことを思いつきました、構造体の配列を書き換える必要があります、なぜか今まで考えてもみなかったのです。

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

コードベースはまさにこのために作られたもので、2人で行うことを想定して設計されています。

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

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

それを勉強するか、データを保持するクラスを自分のニーズに合わせて編集するか、私の場合はCZigZagPeakです。

ありがとうございます!夜にでも見てみます。

 

こんにちは。

私自身はプログラマーではないので、コードに関するヘルプをお願いします :(

注文間の距離を計算するコードの一部が必要です。

ブロックの本質

週1回、月曜日の取引 開始時に実行されます。

前月のヒストリカルデータが読み込まれます。(D1) (直近1ヶ月の判断方法、または30日のみの計算方法)

すべてのローソク足のサイズは、D1上の各ローソク足の影を考慮して記録され、月間のローソク足の平均サイズが計算されます。

また、直近1週間のローソク足の大きさの平均値も算出します。

そして、月と週の平均値を算出し、N 個のパーツで割る。これがオーダー間の距離となる。

 
Alexander Layzerevich:

こんにちは。

私自身はプログラマーではないので、コードに関するヘルプをお願いします :(

注文間の距離を計算するコードの一部が必要です。

ブロックの本質

週1回、月曜日の取引 開始時に実行されます。

前月のヒストリカルデータが読み込まれます。(D1)

D1上の各ローソク足の陰影を考慮して全てのサイズを記録し、その月のローソク足のサイズの平均値を算出しています。

また、直近1週間のローソク足の大きさの平均値を算出しています。

そして、月と週の平均値を算出し、N 個のパーツで割る。これがオーダー間の距離となる。

ATRインジケータを使用する