Ответить
03.03.2015, 19:50
Аватар для vladradon
vladradon vladradon на форуме Активный участник
Регистрация: 12.02.2015 / Сообщений: 143
Поблагодарили 58 раз(а) / Репутация: 57
Подскажите пожалуйста, можно ли как-то сову заставить выводить на график цены индюк который подключен через iCustom? Ну как пример канал ТМА. получаю его значения через iCustom, но еще хочу чтобы сова его показывала. (кинуть отдельно индюк на график не подходит)
Это даже теоретически не всегда можно реализовать: по iCustom можно с одного индюка последовательно считывать кучу данных по разным графикам, ТФ, смещению и т.д. Проще создать профиль с основными настройками индикаторов, которые отдельно будут запускаться, а из сова - только для нестандартных индюков с прорисовкой не из внутренних буферов возможно.
04.03.2015, 20:44
Аватар для sstyle
sstyle sstyle вне форума Активный участник
Регистрация: 06.01.2015 / Сообщений: 59
Поблагодарили 35 раз(а) / Репутация: 36
ChartIndicatorAdd - только в MQL5
жаль, спасибо.

---

Еще такой вопрос: когда в стратегии есть локирование, и закрываются сделки, тестер считает это просадкой. ну например сначала закрылся лок в профит, баланс вырос соответственно, потом в ту же секунду закрылся основной ордер и баланс просел. В результате операции баланс вырос, но система отмечает просадку. как этого избежать?
05.03.2015, 05:41
Регистрация: 13.03.2009 / Сообщений: 2,326
Поблагодарили 1,947 раз(а) / Репутация: 2020
жаль, спасибо.

---

Еще такой вопрос: когда в стратегии есть локирование, и закрываются сделки, тестер считает это просадкой. ну например сначала закрылся лок в профит, баланс вырос соответственно, потом в ту же секунду закрылся основной ордер и баланс просел. В результате операции баланс вырос, но система отмечает просадку. как этого избежать?
Тестер считает это просадкой потому что она и есть просадка. Есть способ избежать просадок. Но за всё надо платить. В этом способе, вместо просадки полный слив.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
05.03.2015, 05:45
Аватар для sstyle
sstyle sstyle вне форума Активный участник
Регистрация: 06.01.2015 / Сообщений: 59
Поблагодарили 35 раз(а) / Репутация: 36
Тестер считает это просадкой потому что она и есть просадка. Есть способ избежать просадок. Но за всё надо платить. В этом способе, вместо просадки полный слив.
почему она просадка то? Вот открываем два ордера разнонаправленных одновременно по одной цене (ну понятно что спред еще все дела, пренебрежем этим). цена пошла куда-то. Профит по одному ордеру равен убытку по другому. Закрываем одновременно оба, баланс уменьшится на спред, но тестер покажет просадку на величину убыточного ордера, а по факту то ее нет.

говорят функция OrderCloseBy может помочь
05.03.2015, 06:55
Регистрация: 13.03.2009 / Сообщений: 2,326
Поблагодарили 1,947 раз(а) / Репутация: 2020
почему она просадка то? Вот открываем два ордера разнонаправленных одновременно по одной цене (ну понятно что спред еще все дела, пренебрежем этим). цена пошла куда-то. Профит по одному ордеру равен убытку по другому. Закрываем одновременно оба, баланс уменьшится на спред, но тестер покажет просадку на величину убыточного ордера, а по факту то ее нет.

говорят функция OrderCloseBy может помочь
В это примере есть просадка, хоть и кратковременная. Простоо закрыть одновременно нельзя. Ордера закрываются последовательно.
Теоретически, OrderCloseBy может помочь, так как ордера закрываются одновременно, если ордеров 2 и они разно-направлены. Практически , я не пробовал, попробуй.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
05.03.2015, 09:25
Аватар для vladradon
vladradon vladradon на форуме Активный участник
Регистрация: 12.02.2015 / Сообщений: 143
Поблагодарили 58 раз(а) / Репутация: 57
почему она просадка то? Вот открываем два ордера разнонаправленных одновременно по одной цене (ну понятно что спред еще все дела, пренебрежем этим). цена пошла куда-то. Профит по одному ордеру равен убытку по другому. Закрываем одновременно оба, баланс уменьшится на спред, но тестер покажет просадку на величину убыточного ордера, а по факту то ее нет.

говорят функция OrderCloseBy может помочь
Все правильно - тестер считает просадкой, т.к. ордера закрываются не одновременно, а последовательно и тестер определяет баланс и средства после каждой команды на закрытие.
OrderCloseBy - это одна команда и тестер ее воспримет как одну без пересчета баланса и средств, да еще и спред по ней съэкономишь по второму ордеру, который закрывается первым. Это мной проверено.))

Последний раз редактировалось vladradon; 05.03.2015 в 09:42.
06.03.2015, 09:20
Аватар для gince
gince gince на форуме Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 431
Поблагодарили 784 раз(а) / Репутация: 784
  • Отправить сообщение для gince с помощью Skype™
Надо сделать сигнальную точку (квадрат или любой другой символ) в желтом квадрате рядом с каждым названием параметра. Сигнальная точка (квадрат или любой другой символ) будет менять цвет в зависимости от сигнала.
Вопрос.
С помощью какого OBJ ( ObjectCreate(nm, OBJ_LABEL, 0, 0,0) формируется сигнал?
Или вопрос по другому, как нарисовать квадратик ,кружочек или стрелку с привязкой по пиксельным координатам ?
Гинтарас
06.03.2015, 11:36
Аватар для gince
gince gince на форуме Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 431
Поблагодарили 784 раз(а) / Репутация: 784
  • Отправить сообщение для gince с помощью Skype™
Надо сделать сигнальную точку (квадрат или любой другой символ) в желтом квадрате рядом с каждым названием параметра. Сигнальная точка (квадрат или любой другой символ) будет менять цвет в зависимости от сигнала.
Вопрос.
С помощью какого OBJ ( ObjectCreate(nm, OBJ_LABEL, 0, 0,0) формируется сигнал?
Или вопрос по другому, как нарисовать квадратик ,кружочек или стрелку с привязкой по пиксельным координатам ?
Нашел. Если кому надо , то
ObjectCreate(chart_ID,name,OBJ_RECTANGLE_LABEL,sub _window,0,0);
Гинтарас
09.03.2015, 13:02
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Цитата:
Приветствую.
Может кто здесь показать код рефреша индикатора через заданное кол-во тиков?
Думаю там строчки 4 всего.
Навроде того:

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

Код:
ushort   tick           = 5;
ushort   tick_count     = 0;

void OnTick()
{
   tick_count ++;
   if(tick_count >= tick)
   {
      tick_count = 0;
      // какой-то код
   }
}
[свернуть]
09.03.2015, 16:04
Аватар для GenkaRak
GenkaRak GenkaRak вне форума Местный знаток
Регистрация: 07.10.2014 / Адрес: Russia / Сообщений: 531
Поблагодарили 504 раз(а) / Репутация: 505
Не рефрешит. (((
09.03.2015, 17:33
Аватар для Wic_
Wic_ Wic_ вне форума Прохожий
Регистрация: 09.03.2015 / Сообщений: 2
Поблагодарили 0 раз(а) / Репутация: 1
Здравствуйте! Помогите разобраться. Создаю через мастера свою библиотеку функций - Libraries/Bibl.mq4.
Затем создаю через мастера включаемый файл Include/Bibl.mqh в котором описываю функции из файла Bibl.mq4.
Включаю #include <Bibl.mqh> в скрипте 111.mq4.
Но при его запуске получаю сообщение об ошибке, мол нужен файл 32-bit, хотя у меня 7-ка 64x

Цитата:
2015.03.09 20:13:47.083 Script 111 USDCAD,M1: removed
2015.03.09 20:13:47.083 111 USDCAD,M1: uninit reason 0
2015.03.09 20:13:47.083 unresolved import function call
2015.03.09 20:13:47.083 Cannot call 'Bibl.mq4::OpenOrderWithCheck', 'Bibl.mq4' is not loaded
2015.03.09 20:13:47.083 111 USDCAD,M1: Alert: 0.00001000
2015.03.09 20:13:47.083 111 USDCAD,M1: initialized
2015.03.09 20:13:47.083 Cannot load 'D:\Program Files\ForexClub MT4\MQL4\Libraries\Bibl.mq4' [193]
2015.03.09 20:13:47.080 Script 111 USDCAD,M1: loaded successfully
2015.03.09 20:13:47.080 'D:\Program Files\ForexClub MT4\MQL4\Libraries\Bibl.mq4' is not 32-bit version
Поясните, что я неправильно делаю?
09.03.2015, 17:57
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Я код не проверял в тестере. Но на первый взгляд он рабочий.
Значит проблема в вашем коде.

И да,
Цитата:
OnTick
Событие NewTick генерируется только для экспертов при поступлении нового тика по символу
Что там у нас в индикаторе? start?

Последний раз редактировалось matro3; 09.03.2015 в 18:00.
09.03.2015, 18:03
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
В первых же строчках поиска:
_http://forum.mql4.com/34931
09.03.2015, 18:31
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,712 раз(а) / Репутация: 3708
Я код не проверял в тестере. Но на первый взгляд он рабочий.
Значит проблема в вашем коде.

И да,


Что там у нас в индикаторе? start?
Нет, в индикаторах OnCalculate и выполняется тоже по приходу нового тика.
09.03.2015, 21:05
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Здравствуйте! Помогите разобраться. Создаю через мастера свою библиотеку функций - Libraries/Bibl.mq4.
Затем создаю через мастера включаемый файл Include/Bibl.mqh в котором описываю функции из файла Bibl.mq4.
Включаю #include <Bibl.mqh> в скрипте 111.mq4.
Но при его запуске получаю сообщение об ошибке, мол нужен файл 32-bit, хотя у меня 7-ка 64x

Поясните, что я неправильно делаю?
Не знаю чем Вам помочь...
Но попробуйте:
#import "Bibl.ex4" в Bibl.mqh
Wic_ 
09.03.2015, 22:43
Аватар для GenkaRak
GenkaRak GenkaRak вне форума Местный знаток
Регистрация: 07.10.2014 / Адрес: Russia / Сообщений: 531
Поблагодарили 504 раз(а) / Репутация: 505
Я код не проверял в тестере. Но на первый взгляд он рабочий.
Значит проблема в вашем коде.

И да,


Что там у нас в индикаторе? start?
Да, именно int start()
10.03.2015, 16:55
Аватар для Wic_
Wic_ Wic_ вне форума Прохожий
Регистрация: 09.03.2015 / Сообщений: 2
Поблагодарили 0 раз(а) / Репутация: 1
Не знаю чем Вам помочь...
Но попробуйте:
#import "Bibl.ex4" в Bibl.mqh
Есть эта строка. В общем создать свою библиотеку так и не получилось. Решил вопрос добавлением своих функций в уже существующую stdlib.mq4, ну и объявляя их в stdlib.mqh.
13.03.2015, 08:00
Аватар для gince
gince gince на форуме Местный знаток
Регистрация: 09.09.2008 / Адрес: Литва / Сообщений: 431
Поблагодарили 784 раз(а) / Репутация: 784
  • Отправить сообщение для gince с помощью Skype™
Код:
//+------------------------------------------------------------------+
//| My function                                                      |
//+---------------------------------------------------------------
int f_Signal()  
{
    {
//---
 int      per5=5;
 int      per12=12;
 int      per34=34;
 bool     up5=false;
 bool     dn5=false;
 bool     up12=false;
 bool     dn12=false;
 bool     up34=false;
 bool     dn34=false;
 double semup5,semdn5,semup12,semdn12,semup34,semdn34;
 double valup5=0,valdn5=0,valup12=0,valdn12=0,valup34=0,valdn34=0;
 int sign=0;
   
   semup5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,0,2);
   semdn5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,1,2);
   semup12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,2,2);
   semdn12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,3,2);
   semup34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,4,2);
   semdn34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,5,2);
   
   if(semup34!=EMPTY_VALUE && semup34>0){up34=true; valup34=semup34; dn34=false;}
   if(semdn34!=EMPTY_VALUE && semdn34>0){dn34=true; valdn34=semdn34; up34=false;}
   
   if(semup12!=EMPTY_VALUE && semup12>0){up12=true; valdn12=semdn12; dn12=false;}
   if(semdn12!=EMPTY_VALUE && semdn12>0){dn12=true; valdn12=semdn12; up12=false;}
   
   if(semup5!=EMPTY_VALUE && semup5>0){up5=true; valup5=semup5; dn5=false;}
   if(semdn5!=EMPTY_VALUE && semdn5>0){dn5=true; valdn5=semdn5; up5=false;}
   
   if(up34 && up12 && valup34!=valup12)sign=2;  //perkam su islaikymu 20 min
   if(dn34 && dn12 && valdn34!=valdn12)sign=-2; //parduodam su islaikymu 20 min
   
   if(up34 && up5 && valup34!=valup5)sign=1;  //perkam su islaikymu 1 min
   if(dn34 && dn5 && valdn34!=valdn12)sign=-1; //parduodam su islaikymu 1 min
  }
  return(sign);
 
}
//+------------------------------------------------------------------+
ошибка
'sign' - undeclared identifier strategijos.mqh 53 10
в чем тут дело ?
Гинтарас
13.03.2015, 08:13
Аватар для zpro
zpro zpro вне форума Почётный гражданин
Регистрация: 07.10.2014 / Адрес: ЦО / Сообщений: 445
Поблагодарили 475 раз(а) / Репутация: 480
Код:
//+------------------------------------------------------------------+
//| My function                                                      |
//+---------------------------------------------------------------
int f_Signal()  
{
    {
//---
 int      per5=5;
 int      per12=12;
 int      per34=34;
 bool     up5=false;
 bool     dn5=false;
 bool     up12=false;
 bool     dn12=false;
 bool     up34=false;
 bool     dn34=false;
 double semup5,semdn5,semup12,semdn12,semup34,semdn34;
 double valup5=0,valdn5=0,valup12=0,valdn12=0,valup34=0,valdn34=0;
 int sign=0;
   
   semup5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,0,2);
   semdn5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,1,2);
   semup12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,2,2);
   semdn12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,3,2);
   semup34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,4,2);
   semdn34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,5,2);
   
   if(semup34!=EMPTY_VALUE && semup34>0){up34=true; valup34=semup34; dn34=false;}
   if(semdn34!=EMPTY_VALUE && semdn34>0){dn34=true; valdn34=semdn34; up34=false;}
   
   if(semup12!=EMPTY_VALUE && semup12>0){up12=true; valdn12=semdn12; dn12=false;}
   if(semdn12!=EMPTY_VALUE && semdn12>0){dn12=true; valdn12=semdn12; up12=false;}
   
   if(semup5!=EMPTY_VALUE && semup5>0){up5=true; valup5=semup5; dn5=false;}
   if(semdn5!=EMPTY_VALUE && semdn5>0){dn5=true; valdn5=semdn5; up5=false;}
   
   if(up34 && up12 && valup34!=valup12)sign=2;  //perkam su islaikymu 20 min
   if(dn34 && dn12 && valdn34!=valdn12)sign=-2; //parduodam su islaikymu 20 min
   
   if(up34 && up5 && valup34!=valup5)sign=1;  //perkam su islaikymu 1 min
   if(dn34 && dn5 && valdn34!=valdn12)sign=-1; //parduodam su islaikymu 1 min
  }
  return(sign);
 
}
//+------------------------------------------------------------------+
ошибка
'sign' - undeclared identifier strategijos.mqh 53 10
в чем тут дело ?
Код:
//+------------------------------------------------------------------+
//| My function                                                      |
//+---------------------------------------------------------------
int f_Signal()  
{
  int sign=0;
    {
//---
 int      per5=5;
 int      per12=12;
 int      per34=34;
 bool     up5=false;
 bool     dn5=false;
 bool     up12=false;
 bool     dn12=false;
 bool     up34=false;
 bool     dn34=false;
 double semup5,semdn5,semup12,semdn12,semup34,semdn34;
 double valup5=0,valdn5=0,valup12=0,valdn12=0,valup34=0,valdn34=0;
 
   
   semup5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,0,2);
   semdn5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,1,2);
   semup12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,2,2);
   semdn12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,3,2);
   semup34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,4,2);
   semdn34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,5,2);
   
   if(semup34!=EMPTY_VALUE && semup34>0){up34=true; valup34=semup34; dn34=false;}
   if(semdn34!=EMPTY_VALUE && semdn34>0){dn34=true; valdn34=semdn34; up34=false;}
   
   if(semup12!=EMPTY_VALUE && semup12>0){up12=true; valdn12=semdn12; dn12=false;}
   if(semdn12!=EMPTY_VALUE && semdn12>0){dn12=true; valdn12=semdn12; up12=false;}
   
   if(semup5!=EMPTY_VALUE && semup5>0){up5=true; valup5=semup5; dn5=false;}
   if(semdn5!=EMPTY_VALUE && semdn5>0){dn5=true; valdn5=semdn5; up5=false;}
   
   if(up34 && up12 && valup34!=valup12)sign=2;  //perkam su islaikymu 20 min
   if(dn34 && dn12 && valdn34!=valdn12)sign=-2; //parduodam su islaikymu 20 min
   
   if(up34 && up5 && valup34!=valup5)sign=1;  //perkam su islaikymu 1 min
   if(dn34 && dn5 && valdn34!=valdn12)sign=-1; //parduodam su islaikymu 1 min
  }
  return(sign);
 
}
//+------------------------------------------------------------------+

В mql поправили область видимости переменных
gince 
13.03.2015, 08:21
Регистрация: 13.03.2009 / Сообщений: 2,326
Поблагодарили 1,947 раз(а) / Репутация: 2020
Код:
//+------------------------------------------------------------------+
//| My function                                                      |
//+---------------------------------------------------------------
int f_Signal()  
{
    {
//---
 int      per5=5;
 int      per12=12;
 int      per34=34;
 bool     up5=false;
 bool     dn5=false;
 bool     up12=false;
 bool     dn12=false;
 bool     up34=false;
 bool     dn34=false;
 double semup5,semdn5,semup12,semdn12,semup34,semdn34;
 double valup5=0,valdn5=0,valup12=0,valdn12=0,valup34=0,valdn34=0;
 int sign=0;
   
   semup5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,0,2);
   semdn5 =iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,1,2);
   semup12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,2,2);
   semdn12=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,3,2);
   semup34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,4,2);
   semdn34=iCustom(NULL,PERIOD_M1,"1_2_3 Semafor",per5,per12,per34,5,2);
   
   if(semup34!=EMPTY_VALUE && semup34>0){up34=true; valup34=semup34; dn34=false;}
   if(semdn34!=EMPTY_VALUE && semdn34>0){dn34=true; valdn34=semdn34; up34=false;}
   
   if(semup12!=EMPTY_VALUE && semup12>0){up12=true; valdn12=semdn12; dn12=false;}
   if(semdn12!=EMPTY_VALUE && semdn12>0){dn12=true; valdn12=semdn12; up12=false;}
   
   if(semup5!=EMPTY_VALUE && semup5>0){up5=true; valup5=semup5; dn5=false;}
   if(semdn5!=EMPTY_VALUE && semdn5>0){dn5=true; valdn5=semdn5; up5=false;}
   
   if(up34 && up12 && valup34!=valup12)sign=2;  //perkam su islaikymu 20 min
   if(dn34 && dn12 && valdn34!=valdn12)sign=-2; //parduodam su islaikymu 20 min
   
   if(up34 && up5 && valup34!=valup5)sign=1;  //perkam su islaikymu 1 min
   if(dn34 && dn5 && valdn34!=valdn12)sign=-1; //parduodam su islaikymu 1 min
  }
  return(sign);
 
}
//+------------------------------------------------------------------+
ошибка
'sign' - undeclared identifier strategijos.mqh 53 10
в чем тут дело ?
Убери лишние скобки
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ответить

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


Опции темы

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

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



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


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