[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 437

 

Коллеги, подскажите детальнее

Есть отложенный ордер X

как этот ордер закрыть через N часов с момента создания отложенного ордера?

Доп. условие: отложенный ордер может стать рыночным.

В случае если отложенный ордер так и остался отложенным - все просто.

Интересует случай когда отложенный ордер стал рыночным (т.е в момент когда отложенный стал рыночным-меняется и время создания)

Хотелось бы услышать идею от профи как решить эту проблему, а еше лучше код для такой ситуации

 
zorber:

тоже бы хотел решить эту проблему, но фишка в том, что в тестере при срабатывании отложенного ордера.... тип ордера не меняется.. и он в журнале не отображается как рыночный... и определить, сработал он или нет по данным журнала не получилось(((
 
kakin:

Профи, подскажите, пожалуйста. Если у меня выставлен отложенный стоп ордер, но цена на него зашла с расширенным спредом, превышающим стоплосс.... Что будет?

Ордер будет съеден по спреду... или ошибка выскочит и ордер не сработает?

самый худший для вас вариант и случится
 

Доброго времени суток. ЛЮДИ, НУ КТО-НИБУДЬ, ОТВЕТЬТЕ ПОЖАЛУЙСТА НА ВОПРОС (3-й раз уже размещаю). Вопрос по файловому указателю... В книге по MQL4, к-я находится на MQL4.community в главе "Стандартные функции", в разделе "Файловые операции" приведен пример скрипта timetablenews.mq4, к-й предназначен для считывания данных из файла и отображения графических объектов в окне финансового инструмента:

//--------------------------------------------------------------------
// timetablenews.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
int start()                            // Спец. функция start
  {
//--------------------------------------------------------------- 2 --
   int Handle,                         // Файловый описатель
       Stl;                            // Стиль вертикальной линии
   string File_Name="News.csv",        // Имя файла
          Obj_Name,                    // Bмя объекта
          Instr,                       // Название валюты
          One,Two,                     // 1я и 2я чать названия инстр.
          Text,                        // Текст описания события
          Str_DtTm;                    // Дата и время события(строка)
   datetime Dat_DtTm;                  // Дата и время события(дата)
   color Col;                          // Цвет вертикальной линии
//--------------------------------------------------------------- 3 --
   Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");// Открытие файла
   if(Handle<0)                        // Неудача при открытии файла
     {
      if(GetLastError()==4103)         // Если файла не существует,..
         Alert("Нет файла с именем ",File_Name);//.. извещаем трейдера 
      else                             // При любой другой ошибке..
         Alert("Ошибка при открытии файла ",File_Name);//..такое сообщ
      PlaySound("Bzrrr.wav");          // Звуковое сопровождение
      return;                          // Выход из start()      
     }
//--------------------------------------------------------------- 4 --
   while(FileIsEnding(Handle)==false)// До тех пор, пока файловый ..
     {                                // ..указатель не в конце файла
      //--------------------------------------------------------- 5 --
      Str_DtTm =FileReadString(Handle);// Дата и время события(дата)
      Text     =FileReadString(Handle);// Текст описания события
      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --
      Dat_DtTm =StrToTime(Str_DtTm);   // Преобразование типа данных
      Instr    =StringSubstr(Text,0,3);// Извлекаем первые 3 символа
      One=StringSubstr(Symbol(),0,3);// Извлекаем первые 3 символа
      Two=StringSubstr(Symbol(),3,3);// Извлекаем вторые 3 символа
      Stl=STYLE_DOT;                   // Для всех - стиль пунктир
      Col=DarkOrange;                  // Для всех - цвет такой
      if(Instr==One || Instr==Two)     // А для событий по нашему ..
        {                             // .. финансовому инструменту..
         Stl=STYLE_SOLID;              // .. такой стиль..
         Col=Red;                      // .. и такой цвет верт. линии
        }
      //--------------------------------------------------------- 7 --
      Obj_Name="News_Line  "+Str_DtTm;     // Имя объекта
      ObjectCreate(Obj_Name,OBJ_VLINE,0,Dat_DtTm,0);//Создаем объект..
      ObjectSet(Obj_Name,OBJPROP_COLOR, Col);       // ..и его цвет,..
      ObjectSet(Obj_Name,OBJPROP_STYLE, Stl);       // ..стиль..
      ObjectSetText(Obj_Name,Text,10);              // ..и описание 
     }
//--------------------------------------------------------------- 8 --
   FileClose( Handle );                // Закрываем файл
   PlaySound("bulk.wav");              // Звуковое сопровождение
   WindowRedraw();                     // Перерисовываем объекты
   return;                             // Выход из start()
  }
//--------------------------------------------------------------- 9 --

Ниже, при анализе данного скрипта в Книге по MQL4 приведена следующая фраза: "если указанную проверку (2 последние строки в блоке 5-6) удалить, то в процессе исполнения программы будет создан лишний объект. И лишь после этого сработает условие окончания цикла while и управление будет передано в блок 8-9"

Правильно ли я понимаю???... Файловый указатель находится НЕ МЕЖДУ СИМВОЛАМИ ТЕКСТА (напр.: тек|ст, где | — файловый указатель), а является указателем С ВЫДЕЛЕНИЕМ, напр.: текст, где к — символ "к", к-й выделен файловым указателем. Этим и объясняется необходимость наличия строк (см. стр.164):

      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --

Действительно. На предпоследней итерации, после создания ПОСЛЕДНЕГО объекта

2007.05.11 18:30;JPY Промышленное производство

файловый указатель находится в позиции последнего объекта, т.е.:

2007.05.11 18:30;JPY Промышленное производство

(где о — символ "о", к-й выделен файловым указателем). Тогда при передаче упра­вления в заголовок оператора while, функция FileIsEnding(handle), очевидно вернет true, т.к. файловый указатель находится НЕ В КОНЦЕ файла, а на ПОСЛЕДНЕМ СИМВОЛЕ этого файла. Тогда при выполнении первых двух строк файловый указатель переместится на ПУСТОЕ место и при отсутствии строк

      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --

скрипт создаст графический (т.е. линию) с пустым описанием и координатой времени, к-я соответствует 0. Это и имеется в виду во фразе: "если указанную проверку (2 последние строки в блоке 5-6) удалить, то в процессе исполнения программы будет создан лишний объект."

Вопрос: правильно ли я понимаю:

а) определение файлового указателя;

б) смысл фразы "если указанную проверку (2 последние строки в блоке 5-6) удалить, то в процессе исполнения программы будет создан лишний объект. И лишь после этого сработает условие окончания цикла while и управление будет передано в блок 8-9"

P.S. Чтобы не захламлять форум, заранее благодарю за ответ

 
Скажите, пожалуйста, в каких случаях и почему советник иногда открывает, также, сделки без СЛ и/или ТП, хотя они прописаны в настройках? Открывает, но не модифицирует.
 
yosuf:
Скажите, пожалуйста, в каких случаях и почему советник иногда открывает, также, сделки без СЛ и/или ТП, хотя они прописаны в настройках? Открывает и не модифицирует.

Потому, что между "настройками" и командой OrderSend() есть "прокладка" из программного кода.
 
Скажите чем открыть raw файл который лежит в папке истории?
 
sss2019:
Скажите чем открыть raw файл который лежит в папке истории?

поиск по форуму рулит.

все уже давно сделано, что вы хотите сделать :)

 

Получение списка финансовых инструментов

и вы ведь в этой теме уже отписывались

 
Не работает советник Ilan1.6Dynamic. Я его настроил чтобы он сам торговал. А он не торгует.. Что делать кто знает ????