[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 216
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ребята !
как ограничить к-во одновременно заключаемых сделок советником ??
срочно!
спасибо !
Наконец-то дошло, что ObjectGet(nm,OBJPROP_TIME1) игнорирует время для объекта HLine.
Подскажите как можно определить время создания HLine для вычисления
iHighest(NULL,0,MODE_HIGH,shift,1)в период от создания HLine до текущего момента?
Прочитал ветку о правилах сортировки объектов по именам, идей не добавилось.
Наконец-то дошло, что ObjectGet(nm,OBJPROP_TIME1) игнорирует время для объекта HLine.
Подскажите как можно определить время создания HLine для вычисления
iHighest(NULL,0,MODE_HIGH,shift,1)в период от создания HLine до текущего момента?
Использовать горизонтальные Trendlines :)
У меня торгуют несколько советников на разных терминалах у одного ДЦ. Время от времени они сходятся . Так какой самый лучший способ разводить этих экспертов?
Лучший способ разводить экспертов - на доверии.
Использовать горизонтальные Trendlines :)
Прошу помочь найти причину того, что при записи данных в exceL-файл не происходит разбитие столбцов, заголовки просто записаны в одну ячейку.
Кроме того, скрипт создает только шапку таблицы, сами значения по ордерам отсутствуют.
+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
string FileName;
int Handle;
int ClOp; // разница между закрытием и открытием в пунктах
int spread;// спред по инструменту
int BarYear;// год
int BarDay; // день недели, 0 - восресенье
spread=MarketInfo(Symbol(),MODE_SPREAD); // запомним спред
// сформируем имя файла, например, EURUSD1440.csv
FileName=Symbol()+Period()+".csv";
//откроем файл с именем FileName (создадим указатель/handle на него)
Handle=FileOpen(FileName,FILE_WRITE | FILE_CSV,";");
if (Handle<1)
{
Print("Не удалось открыть файл, ошибка ",GetLastError());
return;
}
// запишем названия столбцов (создание шапки)
FileWrite(Handle,"Дата","Open","High","Low","Close","Close-Open в пунктах",
"Спред в пунктах","День недели","Год");
for (int index=Bars-1;index>=0;index--)
{
// пропустим бары до 2001 года
if (TimeYear(Time[index])<2001) continue;
// прервем (закончим) цикл, если 2005 год мы прошли весь
if (TimeYear(Time[index])>2005) break;
// Выведем High, Low, Open, Close для бара с индексом index
//Print(High[index]," ",Low[index]," ",Open[index]," "
//,Close[index]," бар=",index);
BarYear=TimeYear(Time[index]);
BarDay=TimeDayOfWeek(Time[index]);
ClOp=Close[index]/Point-Open[index]/Point;
FileWrite(Handle,TimeToStr(Time[index]),Open[index],High[index],Low[index],Close[index],ClOp,spread,BarDay,BarYear);
}
//----
//закроем файл (освободим указатель/handle, чтобы файл можно было
//открыть для редактирования другими программами)
if(Handle>0) FileClose(Handle);
return(0);// работа скрипта завершена
}
Прошу помочь найти причину того, что при записи данных в exceL-файл не происходит разбитие столбцов, заголовки просто записаны в одну ячейку.
Кроме того, скрипт создает только шапку таблицы, сами значения по ордерам отсутствуют.
Я сам не пробовал, думаю нужны разделители. Пробел, табуляция, косой слеш, или т.п. Если делаешь через текстовый файл, то разделители обязательны.
ребята !
как ограничить к-во одновременно заключаемых сделок советником ??
срочно!
спасибо !
NumberOrd - ф-ция, которая считает к-во открытых ордеров.
if (NumberOrd()>3) return(0); - эта запись будет правильной для ограничения заключаемых сделок одновременно?
::: что бы не получилось как на рисунке !
Заранее благодарен!
Удачной торговли!
NumberOrd - ф-ция, которая считает к-во открытых ордеров.
if (NumberOrd()>3) return(0); - эта запись будет правильной для ограничения заключаемых сделок одновременно?
::: что бы не получилось как на рисунке !
Заранее благодарен!
Удачной торговли!