Ответ
 
Опции темы
Старый 31.08.2015, 09:52   #4121 (permalink)
Местный знаток
 
Аватар для vlad_123
 
Регистрация: 29.01.2013
Сообщений: 335
Репутация: 824
vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 - vlad_123 -
Сказал(а) спасибо: 29
Поблагодарили 820 раз(а) в 327 сообщениях
Поинты: 388
Сообщение от petro_gr81 Посмотреть сообщение
Спасибо! Я уже гуглил, а покупать ради блока нет желания.
Ну, вопрос был в том числе
Цитата:
что-нибудь о динамическом тейк профите, по какому принципу строится, на чем основан
По УРЛу - описание принципа работы такого ТП.
Покупку никто и не предлагал.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Мониторинг советников: http://www.myfxbook.com/members/vlad_123/

На заказ не программирую.
vlad_123 на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
petro_gr81 (31.08.2015)
Старый 31.08.2015, 10:33   #4122 (permalink)
Новичок форума
 
Аватар для petro_gr81
 
Регистрация: 14.08.2011
Сообщений: 23
Репутация: 12
petro_gr81
Сказал(а) спасибо: 1,519
Поблагодарили 11 раз(а) в 2 сообщениях
Поинты: 18
Спасибо за ответ, но по второй ссылке советник стоит 10 USD.
petro_gr81 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 31.08.2015, 18:59   #4123 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от petro_gr81 Посмотреть сообщение
Спасибо за ответ, но по второй ссылке советник стоит 10 USD.
Про ответ понятно, но хотелось бы услышать более чёткие определения "динамического тэйк профита". Я то вот, я как бы профит двигаю (типа отодвигаю от цены), но как его динамически двигать, не совсем понимаю.

Ваша часть коллега. Жду.
_SERG_ на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 31.08.2015, 20:31   #4124 (permalink)
Новичок форума
 
Аватар для petro_gr81
 
Регистрация: 14.08.2011
Сообщений: 23
Репутация: 12
petro_gr81
Сказал(а) спасибо: 1,519
Поблагодарили 11 раз(а) в 2 сообщениях
Поинты: 18
Сообщение от _SERG_ Посмотреть сообщение
Про ответ понятно, но хотелось бы услышать более чёткие определения "динамического тэйк профита". Я то вот, я как бы профит двигаю (типа отодвигаю от цены), но как его динамически двигать, не совсем понимаю.

Ваша часть коллега. Жду.

Взято из forex-mk.ru/ru/sovetniki/mql4/sovetniki/21-tralling
Если в «советнике» включен «динамический тейк-профит», и в открытом ордере выставлен тейк-профит, при спокойном рынке «эксперт» не предпринимает никаких действий. Но если началось быстрое движение в сторону прибыли, при подходе цены к тейк-профиту на заданное расстояние тейк-профит отодвигается (двигает тейк-профит перед ценой).
Когда движение замедляется «советник» перестает двигать тейк-профит а рынок по инерции обычно еще продолжает движение и закрывает ордер по тейк-профиту. Это позволяет не закрыть позицию преждевременно и получить большую прибыль.

Параметры импульса задаются в настройках. Например, «Тейк-профит динам. - Количество баров» = 2, «Тейк-профит динам. - ТФ баров» = M5, «Тейк-профит динам. – Импульс» = 40, «Тейк-профит динам. – Отступ» = 4 это значит, если за два 5 минутных бара (10 минут) цена пройдет 40 пунктов, не дать цене закрыть позицию и отодвигать тейк-профит, держа его на расстоянии 4 пункта перед ценой. Когда движение замедляется, тейк-профит фиксируется.
А строится он по atr или по каналу не известно, вот и спрашиваю есть у кого блок даной функции.
petro_gr81 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 01.09.2015, 05:11   #4125 (permalink)
Активный участник
 
Аватар для _SERG_
 
Регистрация: 21.07.2009
Сообщений: 242
Репутация: 75
_SERG_
Сказал(а) спасибо: 7
Поблагодарили 75 раз(а) в 61 сообщениях
Поинты: 284
Сообщение от petro_gr81 Посмотреть сообщение
Взято из forex-mk.ru/ru/sovetniki/mql4/sovetniki/21-tralling
Если в «советнике» включен «динамический тейк-профит», и в открытом ордере выставлен тейк-профит, при спокойном рынке «эксперт» не предпринимает никаких действий. Но если началось быстрое движение в сторону прибыли, при подходе цены к тейк-профиту на заданное расстояние тейк-профит отодвигается (двигает тейк-профит перед ценой).
Когда движение замедляется «советник» перестает двигать тейк-профит а рынок по инерции обычно еще продолжает движение и закрывает ордер по тейк-профиту. Это позволяет не закрыть позицию преждевременно и получить большую прибыль.

Параметры импульса задаются в настройках. Например, «Тейк-профит динам. - Количество баров» = 2, «Тейк-профит динам. - ТФ баров» = M5, «Тейк-профит динам. – Импульс» = 40, «Тейк-профит динам. – Отступ» = 4 это значит, если за два 5 минутных бара (10 минут) цена пройдет 40 пунктов, не дать цене закрыть позицию и отодвигать тейк-профит, держа его на расстоянии 4 пункта перед ценой. Когда движение замедляется, тейк-профит фиксируется.
А строится он по atr или по каналу не известно, вот и спрашиваю есть у кого блок даной функции.
Идея у меня несколько другая, в смысле условия, и соответственно реализация.
А что касается кода, напиши на сколько пунктов цена должна подойти к ТП, чтобы советник его передвинул на сколько тебе надо. Хоть просто на несколько пунктов, хоть за фрактал, хоть за бар на истории или как у тебя в описании "...держа его на расстоянии 4 пункта перед ценой.", правда не забывай про спрэд, и как следствие "перед какой именно ценой.".
А передвигать - тралить, как и СЛ, код практически тот же, с использованием OrderModify(....);
Миниатюры:
Нажмите на изображение для увеличения
Название: Tral.jpg
Просмотров: 7
Размер:	57.5 Кб
ID:	217547  

Последний раз редактировалось _SERG_; 01.09.2015 в 05:20.
_SERG_ на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 01.09.2015, 18:56   #4126 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
НУжен индикатор или скрипт для исследования в экселе.
Описание.
За десять дней с 8.00 до 12.00 каждый день отпечатать в файл csv отпечатать цены открытия и закрытия свеч в этом промежутке времени.Период - на каком поставлен индикатор но не больше часа.Сам индикатор не должен ничего отоброжать и сохронят в буфферах.

Как закрутить правильно циклы ?

Скрытый текст


int per=Period();
if(per>60)return(0);

for(int d=DayStart;d<=DayMax;d++)
{
for(i=..............)
{
SendToFile(Open[i],Close[i]);
}
}
[свернуть]

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас

Последний раз редактировалось gince; 01.09.2015 в 19:04. Причина: пополнение
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.09.2015, 11:15   #4127 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Сообщение от gince Посмотреть сообщение
НУжен индикатор или скрипт для исследования в экселе.
Описание.
За десять дней с 8.00 до 12.00 каждый день отпечатать в файл csv отпечатать цены открытия и закрытия свеч в этом промежутке времени.Период - на каком поставлен индикатор но не больше часа.Сам индикатор не должен ничего отоброжать и сохронят в буфферах.

Как закрутить правильно циклы ?

Скрытый текст


int per=Period();
if(per>60)return(0);

for(int d=DayStart;d<=DayMax;d++)
{
for(i=..............)
{
SendToFile(Open[i],Close[i]);
}
}
[свернуть]
Попробовал скрипт так написать, но файл непоявляеться.
Помогите.
Код:
extern int   DayMax     =30;
extern int   DayStart   =1;      //startavimas nuo pirmo ar nilinio baro
extern int   HourStart  =10;     // eksperto darbo pradzios laikas
extern int   HourEnd    =12;     // eksperto darbo pabaigos laikas
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int per=Period();  
   if(per>60)return;  
   double c_o=0,ABS_o_c=0;

  
      for(int d=DayStart;d<=DayMax;d++)
      {
          for(int h=0;h<HourEnd-HourStart;h++)
          {
            if(Hour()>HourStart && Hour()<HourEnd)
            {
               c_o=(Close[h]-Open[h])*Point;
               ABS_o_c=MathAbs(c_o);
               f_ifClosePrintToFile(DayOfWeek(),TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES),Open[h],Close[h],c_o,ABS_o_c);
            }
          }
      }      
  }
//+------------------------------------------------------------------+
// 1.  Spausdinimas i faila                               
//+------------------------------------------------------------------+
 void f_ifClosePrintToFile(int   f_DayOfWeek=0,
                          string f_TimeCurrent="", 
                          double f_Open=0,
                          double f_Close=0,
                          double f_c_o=0,
                          double f_ABS_o_c=0)
{
   string fileName=StringConcatenate(Symbol()," M",Period()," Tyrimas");
   string FileType=".csv";
   int handle;
   handle=FileOpen(fileName+FileType,FILE_WRITE|FILE_READ,";");
   if(handle!=INVALID_HANDLE)
   {
      FileSeek(handle,0,SEEK_END);
      FileWrite(handle,f_DayOfWeek,f_TimeCurrent,f_Open,f_Close,f_c_o,f_ABS_o_c);
      FileClose(handle);
   }
}

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.09.2015, 11:39   #4128 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Изменил одну строку
Код:
for(int h=0;h<60/per*24;h++)
но результата нету.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.09.2015, 11:48   #4129 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Попробовал сделать просто печать, в отчете пусто. Значит дело не впечати в файл.
Код:
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

extern int   DayMax     =30;
extern int   DayStart   =1;      //startavimas nuo pirmo ar nilinio baro
extern int   HourStart  =10;     // eksperto darbo pradzios laikas
extern int   HourEnd    =12;     // eksperto darbo pabaigos laikas
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int per=Period();  
   if(per>60)return;  
   double c_o=0,ABS_o_c=0;

  
      for(int d=DayStart;d<=DayMax;d++)
      {
          for(int h=0;h<60/per*24;h++)
          {
            if(Hour()>HourStart && Hour()<HourEnd)
            {
               c_o=(Close[h]-Open[h])*Point;
               ABS_o_c=MathAbs(c_o);
               f_PrintToFile(DayOfWeek(),TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES),Open[h],Close[h],c_o,ABS_o_c);
               Print(DayOfWeek(),TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES),Open[h],Close[h],c_o,ABS_o_c);
            }
          }
      }      
  }
//+------------------------------------------------------------------+
// 1.  Spausdinimas i faila                               
//+------------------------------------------------------------------+
 void f_PrintToFile(int   f_DayOfWeek=0,
                          string f_TimeCurrent="", 
                          double f_Open=0,
                          double f_Close=0,
                          double f_c_o=0,
                          double f_ABS_o_c=0)
{
   string fileName=StringConcatenate(Symbol()," M",Period()," Tyrimas");
   string FileType=".csv";
   int handle;
   handle=FileOpen(fileName+FileType,FILE_WRITE|FILE_READ,";");
   if(handle!=INVALID_HANDLE)
   {
      FileSeek(handle,0,SEEK_END);
      FileWrite(handle,f_DayOfWeek,f_TimeCurrent,f_Open,f_Close,f_c_o,f_ABS_o_c);
      FileClose(handle);
   }
}

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.09.2015, 03:25   #4130 (permalink)
 
Аватар для поручик
 
Регистрация: 14.02.2009
Сообщений: 1,151
Репутация: 3212
поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик
Сказал(а) спасибо: 806
Поблагодарили 3,210 раз(а) в 775 сообщениях
Поинты: 327
открой архив котировок, нажав на клавишу F2, затем выбрать финансовый инструмент, таймфрейм и нажать экспорт, затем необходимо указать путь для сохранения. В данном случае выгрузятся в том числе и цены HIGH LOW, но с помощью нехитрых манипуляций с фильтрами в Excel это достаточно легко исключить.
поручик на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (03.09.2015)
Старый 03.09.2015, 06:22   #4131 (permalink)
 
Аватар для поручик
 
Регистрация: 14.02.2009
Сообщений: 1,151
Репутация: 3212
поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик
Сказал(а) спасибо: 806
Поблагодарили 3,210 раз(а) в 775 сообщениях
Поинты: 327
2 способ

Экспорт ценовой истории из MetaTrader в график Excel не может быть проще. Просто следуйте инструкциям ниже:

1. Откройте диаграмму
2. Нажмите Файл, а затем Сохранить как
3. Измените имя файла, как вам нужно. Убедитесь, чтобы оставить тип файла как ASCII Text * .csv
4. Нажмите Сохранить
5. Двойной щелчок на сохраненном файле.
Миниатюры:
Нажмите на изображение для увеличения
Название: saveMT4data.png
Просмотров: 6
Размер:	20.6 Кб
ID:	217874   Нажмите на изображение для увеличения
Название: тапре.png
Просмотров: 8
Размер:	23.3 Кб
ID:	217875  
поручик на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
AlexeyVik (03.09.2015), gince (03.09.2015)
Старый 03.09.2015, 06:27   #4132 (permalink)
 
Аватар для поручик
 
Регистрация: 14.02.2009
Сообщений: 1,151
Репутация: 3212
поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик
Сказал(а) спасибо: 806
Поблагодарили 3,210 раз(а) в 775 сообщениях
Поинты: 327
тут не все выводит
Вложения:
Тип файла: mq4 CSV_Export_script.mq4 (3.6 Кб, 5 просмотров)
поручик на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (03.09.2015)
Старый 03.09.2015, 09:28   #4133 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Спасибо, но такой метод неподходит. На М15 за полтора месяца 3 тысячи строк, а для анализа надо за три года и больше. Так получаеться боле 65 тыс строк и ексель несмоэет поместить в таблицу. И еще, в таком количестве данных долго прокручувать лист, а это очень неудобно. Мне с одного дня надо 8 строк вместо 4*24(15 мин 4 бара в часе). Так анализ очень облегчил скрипт.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.09.2015, 11:32   #4134 (permalink)
 
Аватар для поручик
 
Регистрация: 14.02.2009
Сообщений: 1,151
Репутация: 3212
поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик
Сказал(а) спасибо: 806
Поблагодарили 3,210 раз(а) в 775 сообщениях
Поинты: 327
делаешь макрос в экселе, он все скомпанует как тебе надо или еще искать скрпит\сову
поручик на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (03.09.2015)
Старый 03.09.2015, 11:38   #4135 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
с макросами я небыл силен никогда, а теперь еще и забыл.

Вот скрипт дальше дерзал.
Код:
//+------------------------------------------------------------------+
//|                                   gi_tyrimas Zvakiu judejimo.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//#property strict

extern int   DayMax     =3;     //количество дней для печати
extern int   DayStart   =1;      //начинаем с первого бара
extern int   HourStart  =10;     //время старта внутри дня
extern int   HourEnd    =12;     //время конца внутри дня
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int per=Period();  
   if(per>60)return;  //если период больше часа , прекращаем работу скрипта
   double c_o=0,ABS_o_c=0;

   datetime time_DayStart = iTime(NULL,PERIOD_D1,DayStart);
   datetime time_DayMax = iTime(NULL,PERIOD_D1,DayMax);
   
   Print("time_DayStart=",time_DayStart,"   time_DayMax=",time_DayMax);  
      
   int iBarDayStart = iBarShift(NULL,PERIOD_D1,time_DayStart,False);
   int iBarDayMax = iBarShift(NULL,PERIOD_D1,time_DayMax,False);
   
   Print("iBarDayStart=",iBarDayStart,"   iBarDayMax=",iBarDayMax);
   
   for(int d=iBarDayStart;d<=iBarDayMax;d++)//перебираем дни от DayStart до DayMax, которые перещитаны на бары
      {
          Print("d=",d);//хорошо
          
          datetime time_HourStart=iTime(NULL,PERIOD_D1,d)+HourStart*3600;  //берем начало суток и добавляем 3600 с за каждый час. Так получаем начало 10 часа в том дне 
          datetime time_HourEnd  =iTime(NULL,PERIOD_D1,d)+HourEnd*3600; //берем начало суток и добавляем 3600 с за каждый час. Так получаем начало 12 часа в том дне 
          
          Print("time_HourStart=",time_HourStart,"   time_HourEnd=",time_HourEnd);
          
          // переводим время в бары учитывая ТФ на котором поставлено, что бы узнатть первый и последний бары следующего цикла
          // но цикл перебирает вце бары за сутки
          // вчем я ошибаюсь
          int iBarHourStart = iBarShift(NULL,per,time_HourStart,False); 
          int iBarHourEnd   = iBarShift(NULL,per,time_DayMax,False);
          
          Print("iBarHourStart=",iBarHourStart,"   iBarHourEnd=",iBarHourEnd);
          
          for(int h=iBarHourStart;h<iBarHourEnd;h++) //перебираем бары с нолевого до последнего в сутках учитывая ТФ
          {
            //if(Time[h]>HourStart && Time[h]<HourEnd)//проверка промежутка времени
            {
               //данные для печати и печать
               //c_o=(Close[h]-Open[h]);
               //ABS_o_c=MathAbs(c_o);
               datetime time= iTime(NULL,per,h);
               
               //f_PrintToFile(DayOfWeek(),TimeToString(time), DoubleToString(Open[h],5),DoubleToString(Close[h],5),DoubleToString(c_o,0),DoubleToString(ABS_o_c,0));
               Print(TimeToString(time),Open[h],Close[h]/*,c_o,ABS_o_c*/);
            }
          }
      }      
  }
  
//+------------------------------------------------------------------+
// 1.  В файл                           
//+------------------------------------------------------------------+
 void f_PrintToFile(int   f_DayOfWeek=0,
                          string f_TimeCurrent="", 
                          double f_Open=0,
                          double f_Close=0,
                          double f_c_o=0,
                          double f_ABS_o_c=0)
{
   string fileName=StringConcatenate(Symbol()," M",Period()," Tyrimas");
   string FileType=".csv";
   int handle;
   handle=FileOpen(fileName+FileType,FILE_WRITE|FILE_READ,";");
   if(handle!=INVALID_HANDLE)
   {
      FileSeek(handle,0,SEEK_END);
      FileWrite(handle,f_DayOfWeek,f_TimeCurrent,f_Open,f_Close,f_c_o,f_ABS_o_c);
      FileClose(handle);
   }
}

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.09.2015, 11:52   #4136 (permalink)
 
Аватар для поручик
 
Регистрация: 14.02.2009
Сообщений: 1,151
Репутация: 3212
поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик
Сказал(а) спасибо: 806
Поблагодарили 3,210 раз(а) в 775 сообщениях
Поинты: 327
что на выходе? работает хоть?
=======
_http://www.planetaexcel.ru/

_http://www.excelshablon.ru/

_http://excel.opentraders.ru/

я на таких сайтах себе искал
Миниатюры:
Нажмите на изображение для увеличения
Название: post-526-0-21462000-1425396875_thumb.png
Просмотров: 10
Размер:	582.5 Кб
ID:	217946  

Последний раз редактировалось NSerega; 03.09.2015 в 13:02.
поручик на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
gince (03.09.2015)
Старый 03.09.2015, 12:11   #4137 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Сообщение от поручик Посмотреть сообщение
что на выходе? работает хоть?
=======
_http://www.planetaexcel.ru/

_http://www.excelshablon.ru/

_http://excel.opentraders.ru/

я на таких сайтах себе искал
За сылки огромное спасибо. Их сохранил.
А скрипт выдает цены, но радотает только первый цикл
Код HTML:
 for(int d=iBarDayStart;d<=iBarDayMax;d++)//перебираем дни от DayStart до DayMax, которые перещитаны на бары
      {
          Print("d=",d);//хорошо
Второй цикл (поставлен на М15) через каждые 15 мин печатает цены, но не с10 до 12, а за все сутки. Т.е. не получается определить начало (10 ч) и конец (12 ч) периода печати.

Проще печаетает пока все цены за указаный период днеи с 0 часов до конца суток.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас

Последний раз редактировалось NSerega; 03.09.2015 в 13:02.
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 03.09.2015, 12:18   #4138 (permalink)
 
Аватар для поручик
 
Регистрация: 14.02.2009
Сообщений: 1,151
Репутация: 3212
поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик поручик
Сказал(а) спасибо: 806
Поблагодарили 3,210 раз(а) в 775 сообщениях
Поинты: 327
Сова+ библиотека
Вложения:
Тип файла: mq4 D&H_4QuoteToExcel_MultiPair-mod.mq4 (5.2 Кб, 5 просмотров)
Тип файла: mq4 stdlib.mq4 (18.3 Кб, 4 просмотров)
Тип файла: ex4 stdlib.ex4 (16.0 Кб, 3 просмотров)
поручик на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 03.09.2015, 17:13   #4139 (permalink)
Местный знаток
 
Аватар для gince
 
Регистрация: 09.09.2008
Адрес: Литва
Сообщений: 396
Репутация: 733
gince - gince - gince - gince - gince - gince - gince -
Сказал(а) спасибо: 178
Поблагодарили 733 раз(а) в 189 сообщениях
Поинты: 192
Отправить сообщение для gince с помощью Skype™
Если кому надо, то ошибки исправил. Для печати можете вставлят свои даччые и их анализировать в екселе.
Удачи и профита всем.

Скрытый текст

PHP код:
//+------------------------------------------------------------------+
//|                                   gi_tyrimas Zvakiu judejimo.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//#property strict

extern int   DayMax     =3;     //количество дней для печати
extern int   DayStart   =1;      //начинаем с первого бара
extern int   HourStart  =10;     //время старта внутри дня
extern int   HourEnd    =12;     //время конца внутри дня
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   
int per=Period();  
   if(
per>60)return;  //если период больше часа , прекращаем работу скрипта
   
double c_o=0,ABS_o_c=0;

   
datetime time_DayStart iTime(NULL,PERIOD_D1,DayStart);
   
datetime time_DayMax iTime(NULL,PERIOD_D1,DayMax);
   
   Print(
"time_DayStart=",time_DayStart,"   time_DayMax=",time_DayMax);  
      
   
int iBarDayStart iBarShift(NULL,PERIOD_D1,time_DayStart,False);
   
int iBarDayMax iBarShift(NULL,PERIOD_D1,time_DayMax,False);
   
   Print(
"iBarDayStart=",iBarDayStart,"   iBarDayMax=",iBarDayMax);
   
   for(
int d=iBarDayStart;d<=iBarDayMax;d++)//перебираем дни от DayStart до DayMax, которые перещитаны на бары
      
{
          Print(
"d=",d);//хорошо
          
          
datetime time_HourStart=iTime(NULL,PERIOD_D1,d)+HourStart*3600;  //берем начало суток и добавляем 3600 с за каждый час. Так получаем начало 10 часа в том дне 
          
datetime time_HourEnd  =iTime(NULL,PERIOD_D1,d)+HourEnd*3600//берем начало суток и добавляем 3600 с за каждый час. Так получаем начало 12 часа в том дне 
          
          
Print("time_HourStart=",time_HourStart,"   time_HourEnd=",time_HourEnd);
          
          
// переводим время в бары учитывая ТФ на котором поставлено, что бы узнатть первый и последний бары следующего цикла
          // но цикл перебирает вце бары за сутки
          // вчем я ошибаюсь
          
int iBarHourStart iBarShift(NULL,per,time_HourStart,False); 
          
int iBarHourEnd   iBarShift(NULL,per,time_HourEnd,False);
          
          Print(
"iBarHourStart=",iBarHourStart,"   iBarHourEnd=",iBarHourEnd);
          
          for(
int h=iBarHourEnd;h<iBarHourStart;h++) //перебираем бары с нолевого до последнего в сутках учитывая ТФ
          
{
            
//if(Time[h]>HourStart && Time[h]<HourEnd)//проверка промежутка времени
            
{
               
//данные для печати и печать
               //c_o=(Close[h]-Open[h]);
               //ABS_o_c=MathAbs(c_o);
               
datetime timeiTime(NULL,per,h);
               
               
f_PrintToFile(TimeDayOfWeek(time),TimeToString(time), DoubleToString(Open[h],5),DoubleToString(Close[h],5),DoubleToString(c_o,0),DoubleToString(ABS_o_c,0));
               Print(
TimeToString(time),Open[h],Close[h]/*,c_o,ABS_o_c*/);
            }
          }
      }      
  }
  
//+------------------------------------------------------------------+
// 1.  В файл                           
//+------------------------------------------------------------------+
 
void f_PrintToFile(int   f_DayOfWeek=0,
                          
string f_TimeCurrent=""
                          
double f_Open=0,
                          
double f_Close=0,
                          
double f_c_o=0,
                          
double f_ABS_o_c=0)
{
   
string fileName=StringConcatenate(Symbol()," M",Period()," Tyrimas");
   
string FileType=".csv";
   
int handle;
   
handle=FileOpen(fileName+FileType,FILE_WRITE|FILE_READ,";");
   if(
handle!=INVALID_HANDLE)
   {
      
FileSeek(handle,0,SEEK_END);
      
FileWrite(handle,f_DayOfWeek,f_TimeCurrent,f_Open,f_Close,f_c_o,f_ABS_o_c);
      
FileClose(handle);
   }

[свернуть]

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Гинтарас

Последний раз редактировалось NSerega; 03.09.2015 в 20:23.
gince вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
поручик (03.09.2015)
Старый 10.09.2015, 01:25   #4140 (permalink)
Интересующийся
 
Аватар для Coofoo
 
Регистрация: 14.04.2015
Сообщений: 6
Репутация: 1
Coofoo
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 10

По умолчанию Подскажите как ...


Пишу свой первый советник, нужно чтобы были реверсивные ордера.
т.е. при условии для ордера sell закрывался buy и соответственно открывался sell. подскажите как это реализовать или ткните носом в советник где реализована такая торговля.
Coofoo вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 12:28. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO