VIREDS #: Доброго времени знающим mql4. Имеется функция закрывающая часть в процентах самого дальнего убыточного ордера в серии за счет прибыльных позиций любого направления. Очень нужна помощь в доработке этой функции! А именно сделать частичное закрытие всех оставшихся ордеров в серии (за счет прибыльных позиций любого направления) вместо одного дальнего. Заранее Спасибо!
Я с такой функцией месяца 2 мучался. Там столько нюансов. Особенно вот эта строчка
ProfitPer=OrderProfit()+OrderCommission()+OrderSwap();//ПРОФИТ ОДНОГО ОРДЕРА
Когда в сетке висит много ордеров, при закрытии она даёт общий убыток, хотя должна все в ноль закрыть. Я в итоге комиссии и свопы вообще убрал
Всем добрый день. У меня есть индикатор, который при появлении сигнала рисует на графике стрелку. Получается что все эти стрелки по истории на графике расставлены и можно оценить потенциал сигналов.
Попробовал прикрутить алерт чтобы он сигнализировал о появлении сигнала. Нашёл в индикаторе функцию, которая рисует стрелки при появлении сигнала.
void SetDivergenceUP(string sy, int work_period, int wnd, string name_ind, string pattern, constdatetime &time[], int index,
datetime left_time, double left_point, datetime time_b, double ind_b,
datetime last_prc_tm, double last_prc_val, datetime time_extr, datetime &last_time_gv, double price_extr, double &Buffer[]) {
double atr=iATR(sy,PERIOD_CURRENT,14,index);
color line_color=clrNONE;
string nm="", gv_name="";
if(name_ind=="AO") {line_color=ColorUpperAO; gv_name=GV_nameCTS;}
elseif(name_ind=="MACD") {line_color=ColorUpperMACD; gv_name=GV_nameCTS;}
elseif(name_ind=="RSI") {line_color=ColorUpperRSI; gv_name=GV_nameCTS;}
else {line_color=ColorUpperSTO; gv_name=GV_nameCTS;}
//--- поставим сигнальную стрелку на график цены и запишем сигнал для CTS и его время//int bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),time_extr);int bar_extr=GetBarShift(sy,PERIOD_CURRENT,time_extr);
//Buffer[bar_extr]=GetPriceHigh(sy,Period(),bar_extr);
Buffer[index]=GetPriceHigh(sy,Period(),index)+atr*shiftArrow;
if(ModeSignalsCTS==enBoth || ModeSignalsCTS==enSell) {
GlobalVariableSet(gv_name,-1.0);
last_time_gv=time[index];
}
//--- соединим линией ближайшие точки экстремумов ценыint last_bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),last_prc_tm);
nm=Prefix+"P"+name_ind+"divUpper"+TimeToString(time_b);
SetTLine(0,nm,line_color,0,last_prc_tm,last_prc_val,time_extr,price_extr,widthChartLine,pattern+" "+name_ind+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period)));
//--- если есть окно индикатора, соединим линией ближайшие точки экстремумов индикатораif(wnd>0) {
nm=Prefix+name_ind+"divUpper"+TimeToString(time_b);
SetTLine(0,nm,line_color,wnd,left_time,left_point,time_b,ind_b,widthIndicatorstLine,pattern+" "+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period)));
}
}
В конец этой функции я добавил строку для выдачи Алерта. Выделил добавленную строку цветом;-)
void SetDivergenceUP(string sy, int work_period, int wnd, string name_ind, string pattern, constdatetime &time[], int index,
datetime left_time, double left_point, datetime time_b, double ind_b,
datetime last_prc_tm, double last_prc_val, datetime time_extr, datetime &last_time_gv, double price_extr, double &Buffer[]) {
double atr=iATR(sy,PERIOD_CURRENT,14,index);
color line_color=clrNONE;
string nm="", gv_name="";
if(name_ind=="AO") {line_color=ColorUpperAO; gv_name=GV_nameCTS;}
elseif(name_ind=="MACD") {line_color=ColorUpperMACD; gv_name=GV_nameCTS;}
elseif(name_ind=="RSI") {line_color=ColorUpperRSI; gv_name=GV_nameCTS;}
else {line_color=ColorUpperSTO; gv_name=GV_nameCTS;}
//--- поставим сигнальную стрелку на график цены и запишем сигнал для CTS и его время//int bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),time_extr);int bar_extr=GetBarShift(sy,PERIOD_CURRENT,time_extr);
//Buffer[bar_extr]=GetPriceHigh(sy,Period(),bar_extr);
Buffer[index]=GetPriceHigh(sy,Period(),index)+atr*shiftArrow;
if(ModeSignalsCTS==enBoth || ModeSignalsCTS==enSell) {
GlobalVariableSet(gv_name,-1.0);
last_time_gv=time[index];
}
//--- соединим линией ближайшие точки экстремумов ценыint last_bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),last_prc_tm);
nm=Prefix+"P"+name_ind+"divUpper"+TimeToString(time_b);
SetTLine(0,nm,line_color,0,last_prc_tm,last_prc_val,time_extr,price_extr,widthChartLine,pattern+" "+name_ind+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period)));
//--- если есть окно индикатора, соединим линией ближайшие точки экстремумов индикатораif(wnd>0) {
nm=Prefix+name_ind+"divUpper"+TimeToString(time_b);
SetTLine(0,nm,line_color,wnd,left_time,left_point,time_b,ind_b,widthIndicatorstLine,pattern+" "+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period)));
}
Alert("ДИВЕРГЕНЦИЯ НА "+Symbol());
}
лерт-то заработал и в тестере всё норм. А вот при запуске терминала и если на графике был накинут индикатор то он выдаёт столько звуковых сигналов и сообщений сколько стрелок было на историиJ что нужно сделать и как чтобы Алерт выдавался только при поступлении последнего сигнала когда терминал включен, ана стрелки по истории молчал?
Всем добрый день. У меня есть индикатор, который при появлении сигнала рисует на графике стрелку. Получается что все эти стрелки по истории на графике расставлены и можно оценить потенциал сигналов.
Попробовал прикрутить алерт чтобы он сигнализировал о появлении сигнала. Нашёл в индикаторе функцию, которая рисует стрелки при появлении сигнала.
В конец этой функции я добавил строку для выдачи Алерта. Выделил добавленную строку цветом;-)
лерт-то заработал и в тестере всё норм. А вот при запуске терминала и если на графике был накинут индикатор то он выдаёт столько звуковых сигналов и сообщений сколько стрелок было на историиJ что нужно сделать и как чтобы Алерт выдавался только при поступлении последнего сигнала когда терминал включен, ана стрелки по истории молчал?
свободного места на диске С на моем компе, где тестирую и оптимизирую экспов на Мт4 и МТ 5 стало мало... типа из 220 осталось 30 Гб по моему...
Подозреваю, что место занято логами ранее работавших роботов или тестируемых, также историей по разным символам разных терминалов и на МТ 4 и на МТ 5 - интересует:
как можно очистить историю символов (тиков по символам) и логи в разных папках терминалы находятся (их всего не много около 5).
Типа как раньше на МТ 4 был волшебный файл clear.bat.
В общем нужны вариант (-ы) чистки места из под истории символов (их тиков) и логов по разным папкам. Все ярлыки на рабочем столе есть к МТ 4 и МТ5. Вроде как...
в общем очистить место на диске из под прошлых тестов (истории тиков символов) и торгов (логов их).
Хотя бы где почитать, как чистить и какие папки удалять и на МТ 4 и на МТ5 - где они находятся...
Советник через iCustom использует индикатор, при этом на каждом тике в журнале вот такие ошибки.
Можно ли это исправить без редактирования индикатора? И если да, то как?
Если индикатор, запущенный отдельно от советника, таких записей не выдаёт, то проверьте правильность указания в советнике параметров индикатора при вызове его через iCustom()
свободного места на диске С на моем компе, где тестирую и оптимизирую экспов на Мт4 и МТ 5 стало мало... типа из 220 осталось 30 Гб по моему...
Подозреваю, что место занято логами ранее работавших роботов или тестируемых, также историей по разным символам разных терминалов и на МТ 4 и на МТ 5 - интересует:
как можно очистить историю символов (тиков по символам) и логи в разных папках терминалы находятся (их всего не много около 5).
Типа как раньше на МТ 4 был волшебный файл clear.bat.
В общем нужны вариант (-ы) чистки места из под истории символов (их тиков) и логов по разным папкам. Все ярлыки на рабочем столе есть к МТ 4 и МТ5. Вроде как...
в общем очистить место на диске из под прошлых тестов (истории тиков символов) и торгов (логов их).
Хотя бы где почитать, как чистить и какие папки удалять и на МТ 4 и на МТ5 - где они находятся...
Спс.
Сколько лет компу и когда системные логи чистили в локальных папках, папках темп и служебных интеловских или других производителей папках. На 10 летнем компе где тока браузер и офис снес почти 100 гигов сиклинером из под админа. У себя в интеловской папке нашел 25 гб.
Тики в папке хистори. Там тоже например с бинанса по всем символам было 25 гб. И логи в общей и мкл папке проверять. Если снести логи, то ни на что не влияет. А вот тики если снести, то возможно придется подождать пока подгрузятся нужные.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Доброго времени знающим mql4. Имеется функция закрывающая часть в процентах самого дальнего убыточного ордера в серии за счет прибыльных позиций любого направления. Очень нужна помощь в доработке этой функции! А именно сделать частичное закрытие всех оставшихся ордеров в серии (за счет прибыльных позиций любого направления) вместо одного дальнего. Заранее Спасибо!
ProfitPer=OrderProfit()+OrderCommission()+OrderSwap();//ПРОФИТ ОДНОГО ОРДЕРАКогда в сетке висит много ордеров, при закрытии она даёт общий убыток, хотя должна все в ноль закрыть. Я в итоге комиссии и свопы вообще убрал
Всем добрый день. У меня есть индикатор, который при появлении сигнала рисует на графике стрелку. Получается что все эти стрелки по истории на графике расставлены и можно оценить потенциал сигналов.
Попробовал прикрутить алерт чтобы он сигнализировал о появлении сигнала. Нашёл в индикаторе функцию, которая рисует стрелки при появлении сигнала.
В конец этой функции я добавил строку для выдачи Алерта. Выделил добавленную строку цветом;-)
лерт-то заработал и в тестере всё норм. А вот при запуске терминала и если на графике был накинут индикатор то он выдаёт столько звуковых сигналов и сообщений сколько стрелок было на историиJ что нужно сделать и как чтобы Алерт выдавался только при поступлении последнего сигнала когда терминал включен, а на стрелки по истории молчал?Всем добрый день. У меня есть индикатор, который при появлении сигнала рисует на графике стрелку. Получается что все эти стрелки по истории на графике расставлены и можно оценить потенциал сигналов.
Попробовал прикрутить алерт чтобы он сигнализировал о появлении сигнала. Нашёл в индикаторе функцию, которая рисует стрелки при появлении сигнала.
В конец этой функции я добавил строку для выдачи Алерта. Выделил добавленную строку цветом;-)
лерт-то заработал и в тестере всё норм. А вот при запуске терминала и если на графике был накинут индикатор то он выдаёт столько звуковых сигналов и сообщений сколько стрелок было на историиJ что нужно сделать и как чтобы Алерт выдавался только при поступлении последнего сигнала когда терминал включен, а на стрелки по истории молчал?Коллеги - организационный вопрос:
свободного места на диске С на моем компе, где тестирую и оптимизирую экспов на Мт4 и МТ 5 стало мало... типа из 220 осталось 30 Гб по моему...
Подозреваю, что место занято логами ранее работавших роботов или тестируемых, также историей по разным символам разных терминалов и на МТ 4 и на МТ 5 - интересует:
как можно очистить историю символов (тиков по символам) и логи в разных папках терминалы находятся (их всего не много около 5).
Типа как раньше на МТ 4 был волшебный файл clear.bat.
В общем нужны вариант (-ы) чистки места из под истории символов (их тиков) и логов по разным папкам. Все ярлыки на рабочем столе есть к МТ 4 и МТ5. Вроде как...
в общем очистить место на диске из под прошлых тестов (истории тиков символов) и торгов (логов их).
Хотя бы где почитать, как чистить и какие папки удалять и на МТ 4 и на МТ5 - где они находятся...
Спс.
Подскажите, пожалста.
Советник через iCustom использует индикатор, при этом на каждом тике в журнале вот такие ошибки.

Можно ли это исправить без редактирования индикатора? И если да, то как?
Подскажите, пожалста.
Советник через iCustom использует индикатор, при этом на каждом тике в журнале вот такие ошибки.
Можно ли это исправить без редактирования индикатора? И если да, то как?
Если индикатор, запущенный отдельно от советника, таких записей не выдаёт, то проверьте правильность указания в советнике параметров индикатора при вызове его через iCustom()
Коллеги - организационный вопрос:
свободного места на диске С на моем компе, где тестирую и оптимизирую экспов на Мт4 и МТ 5 стало мало... типа из 220 осталось 30 Гб по моему...
Подозреваю, что место занято логами ранее работавших роботов или тестируемых, также историей по разным символам разных терминалов и на МТ 4 и на МТ 5 - интересует:
как можно очистить историю символов (тиков по символам) и логи в разных папках терминалы находятся (их всего не много около 5).
Типа как раньше на МТ 4 был волшебный файл clear.bat.
В общем нужны вариант (-ы) чистки места из под истории символов (их тиков) и логов по разным папкам. Все ярлыки на рабочем столе есть к МТ 4 и МТ5. Вроде как...
в общем очистить место на диске из под прошлых тестов (истории тиков символов) и торгов (логов их).
Хотя бы где почитать, как чистить и какие папки удалять и на МТ 4 и на МТ5 - где они находятся...
Спс.
Сколько лет компу и когда системные логи чистили в локальных папках, папках темп и служебных интеловских или других производителей папках. На 10 летнем компе где тока браузер и офис снес почти 100 гигов сиклинером из под админа. У себя в интеловской папке нашел 25 гб.
Тики в папке хистори. Там тоже например с бинанса по всем символам было 25 гб. И логи в общей и мкл папке проверять. Если снести логи, то ни на что не влияет. А вот тики если снести, то возможно придется подождать пока подгрузятся нужные.