[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 36

 

Как закрыть сделку в конце дня?

if (Hour()==23&&Minute()==59) - такая конструкция не работает в тестере. В реале ещё не понял. Как правильно протестировать и организовать условие для закрытия??? Спасибо.
 
alexey999 >>:

Всем привет

ПОМОГИТЕ. Кто знает где ичем покопаться, чтоб изменить свет полосы символа в "Обзор рынка". Например EUR/USD красного цвета, а нужно серого или белого. Я так понимаю что это возможно только редактируя файлы в папке терминала config. Пытался посмотреть ini-файлы, но не понял где цвет менять

Нажимаете PrintScreen и через буфер обмена вставляете изображение в любой графический редактор. А там разукрашиваете, как удумается, хоть бабу голую на любимом символе.

 

Hello!

скачал индикатор на основе RSI и МА, прикреплен ниже. Почему то мне не записать его показания ниже 47 в csv, пишет 2147483647, но все показания выше этого значения записывает и в терминале тоже отображается корректно. Помогите разобраться в чем подвох...

Еще один маленький вопрос, может кто-нибудь знает как в MetaEditor разделительным знаком сделать запятую, а не точку. Устал каждый раз формат менять...

Файлы:
rsidk.mq4  2 kb
 
demsan писал(а) >>

Hello!

скачал индикатор на основе RSI и МА, прикреплен ниже. Почему то мне не записать его показания ниже 47 в csv, пишет 2147483647, но все показания выше этого значения записывает и в терминале тоже отображается корректно. Помогите разобраться в чем подвох...

Еще один маленький вопрос, может кто-нибудь знает как в MetaEditor разделительным знаком сделать запятую, а не точку. Устал каждый раз формат менять...

Видимо берешь значения только одного буфера. А их три используется

0. MA>47

1. MA<53

А 2147483647 вроде бы значит EMPTY_VALUE

А про запятую не совсем ясно. Если проблемы с Экселем, то можно изменить региональные настройки и поставить разделитель не запятую, а точку. Тогда будет одинаково и в Экселе, и МетаЕдиторе

 

Всем привет!!!

Помогите позжалуйсто-не хочит выстовлять Stop Loss

Файлы:
 
gobl1n писал(а) >>

Всем привет!!!

Помогите позжалуйсто-не хочит выстовлять Stop Loss

А почитать слабо хелп. Для начала надо хотя бы функции использовать правильно.

bool OrderSelect( int index, int select, int pool=MODE_TRADES)

index - Позиция ордера или номер ордера в зависимости от второго параметра.
select - Флаг способа выбора. Mожет быть одним из следующих величин:
SELECT_BY_POS - в параметре index передается порядковый номер позиции в списке,
SELECT_BY_TICKET - в параметре index передается номер тикета.
pool - Источник данных для выбора. Используется, когда параметр select равен SELECT_BY_POS. Mожет быть одной из следующих величин:
MODE_TRADES (по умолчанию) - ордер выбирается среди открытых и отложенных ордеров,
MODE_HISTORY - ордер выбирается среди закрытых и удаленных ордеров.
bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE)
ticket - Уникальный порядковый номер ордера.
price - Новая цена открытия отложенного ордера.
stoploss - Новое значение StopLoss.
takeprofit - Новое значение TakeProfit.
expiration - Время истечения отложенного ордера.
arrow_color - Цвет стрелок модификации StopLoss и/или TakeProfit на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелки на графике не отображаются.

Все таки magic это не номер тикета

 
Спасибо,что указали на неточность!!!
 

Добрый день.

Как правильно написать в код эксперта так, чтобы он работал только через определенное время. На пример, он должен закрываться через 1 час и 20 минут от открытие ордера и открыть новый через 20 минут после закрытия последнего ордера. Спасибо.

 

Здравствуйте! Вот в этом куске из кода - у меня проблема.

double  Set_SL[];
int init()
  {
  Set_SL[History*Depth]=1.0*Level*Point;                                     //Задал первоначальное значение определенному элементу массива
  Alert("Init:"," Set_SL[",History*Depth,"]=",Set_SL[History*Depth]);//Специально вывел его, чтоб посмотреть: показывает (допустим) 0,0001

  return(0);
  }
int start()
  {
  Alert("Start:"," Set_SL[",History*Depth,"]=",Set_SL[History*Depth]);//А здесь уже показывает 2147483647
  return(0);
  }

  Указанное в коментариях происходит при смене таймфрейма. В то же время после изменения параметров индикатора - показывает действительно ранее установленное значение (т.е. то, что установлено при инициализации). Повторил многократно - одно и то же: при смене ТФ - из специальной функции init()  неправильно переносится величина установленного элемента массива в специальную функцию start() . Что за дела? Где я тут чего-то недопонимаю? Подскажите.

P.s.: " Set_SL[",History*Depth,"]=" этот кусочек специально вставил, чтоб убедиться, что порядковый номер элемента массива остается прежним!






 
ikatsko писал(а) >>

Здравствуйте! Вот в этом куске из кода - у меня проблема.

double Set_SL[];
int init()
{
Set_SL[History*Depth]=1.0*Level*Point; //Задал первоначальное значение определенному элементу массива
Alert("Init:"," Set_SL[",History*Depth,"]=",Set_SL[History*Depth]);//Специально вывел его, чтоб посмотреть: показывает (допустим) 0,0001

return(0);
}
int start()
{
Alert("Start:"," Set_SL[",History*Depth,"]=",Set_SL[History*Depth]);//А здесь уже показывает 2147483647
return(0);
}

Указанное в коментариях происходит при смене таймфрейма. В то же время после изменения параметров индикатора - показывает действительно ранее установленное значение (т.е. то, что установлено при инициализации). Повторил многократно - одно и то же: при смене ТФ - из специальной функции init() неправильно переносится величина установленного элемента массива в специальную функцию start() . Что за дела? Где я тут чего-то недопонимаю? Подскажите.

P.s.: " Set_SL[",History*Depth,"]=" этот кусочек специально вставил, чтоб убедиться, что порядковый номер элемента массива остается прежним!

А размер массива неплохо было бы определить для начала.

Причина обращения: