Закрытая тема
12.01.2014, 10:33
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Сейчас советник выставляет отложенные ордера КМ при выполнении условия LotKM = 4 ( после стольки открытых ордеров ) на расстояние DistanceKMsell или DistanceKMbuy, а нужно что бы он выставлялся не зависимо от LotKM. Если цена ушла от предыдущего открытого ордера на расстояние большее DistanceKMsell или DistanceKMbuy пунктов, то все последующие отложки должны выставлятся с параметрами ордера КМ.
Ну и что ты прикалываешся????
Поставь LotKM=0
12.01.2014, 10:56
Аватар для greatiger
greatiger greatiger вне форума Активный участник
Регистрация: 06.02.2010 / Сообщений: 490
Поблагодарили 67 раз(а) / Репутация: 68
Много писать.
А просто как-нибудь через if там никак не вписать обновление пусть не по времени но хотя бы как-нибудь по заданному числу свечей-баров если ее не сбило?
12.01.2014, 11:35
Аватар для ALEX-BAX
ALEX-BAX ALEX-BAX вне форума Активный участник
Регистрация: 17.02.2010 / Адрес: УКРАЇНА / Сообщений: 591
Поблагодарили 106 раз(а) / Репутация: 106
Ну и что ты прикалываешся????
Поставь LotKM=0
Да я не прикалываюсь , а прошу помочь. Дело в том, что если LotKM=0, то всем ордерам начиная с первого присваивается ТР LotKM а должен ТР сессии.
СЛАВА НАЦІЇ!!!
12.01.2014, 12:01
Аватар для Степа
Степа Степа вне форума Активный участник
Регистрация: 25.11.2013 / Адрес: Петербург / Сообщений: 54
Поблагодарили 108 раз(а) / Репутация: 109
если, индюк создает "текстовый документ" и выдает в нем


1;33;D:\terminal\experts\indicators\FuturoFX.mq4;2 01:8;'f0_31' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;6 75:23;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;7 01:14;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 31:11;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 45:17;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 61:17;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 76:17;'f0_32' - comparison expression expected
comparison expression expected (выражение сравнения ожидаемых) чего x_X хз

но сам отображается, что это означает? что он работает некорректно ?!?!?
-скажите а то я не шарю, вознаграждение индюк предсказатель одааааааааа

Последний раз редактировалось Степа; 12.01.2014 в 12:46.
12.01.2014, 12:04
Аватар для olcik
olcik olcik вне форума Активный участник
Регистрация: 27.03.2011 / Адрес: Ternopil / Сообщений: 120
Поблагодарили 68 раз(а) / Репутация: 68
Помогите разобраться .Хочу ,что бы показывал макс мин индикатора гистограммы за азиатскую сессию,крутил вертел ниче не получается.

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

//+------------------------------------------------------------------+
//| i-Sessions.mq4 |
//| Ким Игорь В. aka KimIV |
//| http://www.kimiv.ru |
//| |
//| 16.11.2005 Индикатор торговых сессий |
//+------------------------------------------------------------------+
#property copyright "Ким Игорь В. aka KimIV"
#property link "http://www.kimiv.ru"

#property indicator_chart_window

//------- Внешние параметры индикатора -------------------------------
extern int NumberOfDays = 50; // Количество дней
extern string AsiaBegin = "02:00"; // Открытие азиатской сессии
extern string AsiaEnd = "09:00"; // Закрытие азиатской сессии
extern color AsiaColor = DarkGray; // Цвет азиатской сессии


//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
void init() {
DeleteObjects();
for (int i=0; i<NumberOfDays; i++) {
CreateObjects("AS"+i, AsiaColor);
}
Comment("");
}

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
void deinit() {
DeleteObjects();
Comment("");
}

//+------------------------------------------------------------------+
//| Создание объектов индикатора |
//| Параметры: |
//| no - наименование объекта |
//| cl - цвет объекта |
//+------------------------------------------------------------------+
void CreateObjects(string no, color cl) {
ObjectCreate(no, OBJ_RECTANGLE, 1, 0,0, 0,0);
ObjectSet(no, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(no, OBJPROP_COLOR, cl);
ObjectSet(no, OBJPROP_BACK, True);
}

//+------------------------------------------------------------------+
//| Удаление объектов индикатора |
//+------------------------------------------------------------------+
void DeleteObjects() {
for (int i=0; i<NumberOfDays; i++) {
ObjectDelete("AS"+i);
}
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
void start() {
datetime dt=CurTime();

for (int i=0; i<NumberOfDays; i++) {
DrawObjects(dt, "AS"+i, AsiaBegin, AsiaEnd);
dt=decDateTradeDay(dt);
while (TimeDayOfWeek(dt)>5) dt=decDateTradeDay(dt);
}
}

//+------------------------------------------------------------------+
//| Прорисовка объектов на графике |
//| Параметры: |
//| dt - дата торгового дня |
//| no - наименование объекта |
//| tb - время начала сессии |
//| te - время окончания сессии |
//+------------------------------------------------------------------+
void DrawObjects(datetime dt, string no, string tb, string te) {
datetime t1, t2;
double p1, p2,Maximum,Minimum;
int b1, b2;

t1=StrToTime(TimeToStr(dt, TIME_DATE)+" "+tb);
t2=StrToTime(TimeToStr(dt, TIME_DATE)+" "+te);
b1=iBarShift(NULL, 0, t1);
b2=iBarShift(NULL, 0, t2);
//Maximum=WindowPriceMax(1);
//Minimum=WindowPriceMin(1);

int Ind_max =ArrayMaximum(iCustom(NULL,0,"LDInd",1,0),b1-b2,b2);// Индекс бара макс.значения.гистограммы
int Ind_min =ArrayMinimum(iCustom(NULL,0,"LDInd",2,0),b1-b2,b2);// Индекс бара мин.значения.гистограммы
Maximum=iCustom(NULL,0,"LDInd",1,Ind_max);
Minimum=iCustom(NULL,0,"LDInd",2,Ind_min);



ObjectSet(no, OBJPROP_TIME1 , t1);
ObjectSet(no, OBJPROP_PRICE1, Maximum);
ObjectSet(no, OBJPROP_TIME2 , t2);
ObjectSet(no, OBJPROP_PRICE2, Minimum);
}

//+------------------------------------------------------------------+
//| Уменьшение даты на один торговый день |
//| Параметры: |
//| dt - дата торгового дня |
//+------------------------------------------------------------------+
datetime decDateTradeDay (datetime dt) {
int ty=TimeYear(dt);
int tm=TimeMonth(dt);
int td=TimeDay(dt);
int th=TimeHour(dt);
int ti=TimeMinute(dt);

td--;
if (td==0) {
tm--;
if (tm==0) {
ty--;
tm=12;
}
if (tm==1 || tm==3 || tm==5 || tm==7 || tm==8 || tm==10 || tm==12) td=31;
if (tm==2) if (MathMod(ty, 4)==0) td=29; else td=28;
if (tm==4 || tm==6 || tm==9 || tm==11) td=30;
}
return(StrToTime(ty+"."+tm+"."+td+" "+th+":"+ti));
}
//+------------------------------------------------------------------+
[свернуть]
12.01.2014, 13:30
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
А просто как-нибудь через if там никак не вписать обновление пусть не по времени но хотя бы как-нибудь по заданному числу свечей-баров если ее не сбило?
Какое обновление? Ты свой пост по ссылке читал?
12.01.2014, 13:31
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Да я не прикалываюсь , а прошу помочь. Дело в том, что если LotKM=0, то всем ордерам начиная с первого присваивается ТР LotKM а должен ТР сессии.
Тогда не могу помочь.
12.01.2014, 13:36
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
если, индюк создает "текстовый документ" и выдает в нем


1;33;D:\terminal\experts\indicators\FuturoFX.mq4;2 01:8;'f0_31' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;6 75:23;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;7 01:14;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 31:11;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 45:17;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 61:17;'f0_32' - comparison expression expected
1;33;D:\terminal\experts\indicators\FuturoFX.mq4;8 76:17;'f0_32' - comparison expression expected
comparison expression expected (выражение сравнения ожидаемых) чего x_X хз

но сам отображается, что это означает? что он работает некорректно ?!?!?
-скажите а то я не шарю, вознаграждение индюк предсказатель одааааааааа
1) Это значит что ты пользуешся дэкомпилированым файлом.
2) На работу не влияет.
3) Это функции которые возвращают 1 и 0. А должны true и false. Это по сути одно и тоже, но компилятору просто не нравится.
4) Если хочешь чтобы не было такого найди int f0_31 поменяй на bool f0_31 ,найди int f0_32 поменяй на bool f0_32
12.01.2014, 13:51
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Помогите разобраться .Хочу ,что бы показывал макс мин индикатора гистограммы за азиатскую сессию,крутил вертел ниче не получается.
...
Глянул. Вникать не буду так как это надо тратить время.
Но скорее всего надо приравнивать время расчётного бара. Тоесть в диапазоне ли он.
Типа


PHP код:
extern start_time_chek 0;
extern end_time_chek 4;
...
int last_bar=iBarShift(Symbol(),0,iTime(Symbol(),PERIOD_D1,0));
for(
int i=0;i<=last_bar;i++)
{
if(
TimeHour(Time[i])>=start_time_chek || TimeHour(Time[i])<end_time_chek)
{
...
}
//end if
//end for 

Последний раз редактировалось eevviill; 12.01.2014 в 13:53. Причина: Time[]
12.01.2014, 13:57
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Сообщение от: Sergey55555555
Вот и прошу помощи - так как трейдер а не программист
Попробуй так.
PHP код:
bool Timing() 

for(
last_order=OrdersTotal()-1;last_order>=0;last_order--)
{
      if(
OrderSelect(last_orderSELECT_BY_TICKET) && OrderProfit()<0
         if(
TimeCurrent() - OrderCloseTime()<LossDealDelay*60
            return(
false); 
break;
}
      } 
А ввобще чем не нравится Sleep() ?

Последний раз редактировалось eevviill; 12.01.2014 в 14:07.
12.01.2014, 14:06
Аватар для Степа
Степа Степа вне форума Активный участник
Регистрация: 25.11.2013 / Адрес: Петербург / Сообщений: 54
Поблагодарили 108 раз(а) / Репутация: 109
1) Это значит что ты пользуешся дэкомпилированым файлом.
2) На работу не влияет.
3) Это функции которые возвращают 1 и 0. А должны true и false. Это по сути одно и тоже, но компилятору просто не нравится.
4) Если хочешь чтобы не было такого найди int f0_31 поменяй на bool f0_31 ,найди int f0_32 поменяй на bool f0_32
лови

Последний раз редактировалось NSerega; 12.01.2014 в 20:39.
12.01.2014, 14:06
Аватар для Sergey55555555
Sergey55555555 Sergey55555555 на форуме Почётный гражданин
Регистрация: 26.07.2013 / Сообщений: 365
Поблагодарили 341 раз(а) / Репутация: 336
Попробуй так.
Попробовал, не торгует....

"А ввобще чем не нравится Sleep() ?"

А что это?

Последний раз редактировалось Sergey55555555; 12.01.2014 в 14:11.
12.01.2014, 14:12
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Сообщение от: Sergey55555555
Попробовал, не торгует....
А ты всю функцию вставлял?
По моему там перед последним } не хватает return(true);


Слип. После старта, перед открытием ордера пиши
PHP код:
if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS))
{
if(
OrderProfit()+OrderCommision()+OrderSwap()<0)
{
Sleep(...);
RefreshRates();
}

В слипе количество секунд задержки. Хочешь минуты, умнжай на 60

Последний раз редактировалось eevviill; 12.01.2014 в 14:20. Причина: тут
12.01.2014, 14:18
Аватар для Sergey55555555
Sergey55555555 Sergey55555555 на форуме Почётный гражданин
Регистрация: 26.07.2013 / Сообщений: 365
Поблагодарили 341 раз(а) / Репутация: 336
Вот полная функция, с которой брал

PHP код:
bool Timing()
{
   if(
last_order>0)
      if(
OrderSelect(last_orderSELECT_BY_TICKET) && OrderProfit()<0)
         if(
TimeCurrent() - OrderCloseTime()<LossDealDelay*60)
            return(
false);
   if(
EnableNoTrade)
      if(
EndNoTrade>StartNoTrade){  if(Hour()>=StartNoTrade && Hour()<EndNoTrade)   return(false); }
      else                       {  if(
Hour()>=StartNoTrade || Hour()<EndNoTrade)   return(false); }  
   if(
EnableTiming)
      if(
EndHour>StartHour)   return(Hour()>=StartHour && Hour()<EndHour);
      else                    return(
Hour()>=StartHour || Hour()<EndHour);

12.01.2014, 14:23
Аватар для greatiger
greatiger greatiger вне форума Активный участник
Регистрация: 06.02.2010 / Сообщений: 490
Поблагодарили 67 раз(а) / Репутация: 68
Какое обновление? Ты свой пост по ссылке читал?
Ну в смысле чтобы сетка удалялась и заново запускалась от текущей цены если за указанное число свечей (в первоначальном варианте минут) с ее открытия ни один отложенный ордер в ней не сработал...ну как фильтр флета
12.01.2014, 14:23
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Сообщение от: Sergey55555555
Вот полная функция, с которой брал
...
Пробуй 2 варианта которых я писал.
12.01.2014, 14:26
Аватар для Sergey55555555
Sergey55555555 Sergey55555555 на форуме Почётный гражданин
Регистрация: 26.07.2013 / Сообщений: 365
Поблагодарили 341 раз(а) / Репутация: 336
Пробуй 2 варианта которых я писал.
Первый попробовал - торгует, но паузу не делает.
12.01.2014, 14:32
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Ну в смысле чтобы сетка удалялась и заново запускалась от текущей цены если за указанное число свечей (в первоначальном варианте минут) с ее открытия ни один отложенный ордер в ней не сработал...ну как фильтр флета
А. Ну коротко не выйдет.
12.01.2014, 14:33
Аватар для Sergey55555555
Sergey55555555 Sergey55555555 на форуме Почётный гражданин
Регистрация: 26.07.2013 / Сообщений: 365
Поблагодарили 341 раз(а) / Репутация: 336
К первому варианту добавил второй,
со слипом 600, в настройках первого
ставил 0 мин и 10 мин,
торгует без паузы.
12.01.2014, 14:38
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Сообщение от: Sergey55555555
К первому варианту добавил второй,
со слипом 600, в настройках первого
ставил 0 мин и 10 мин,
торгует без паузы.
Мммм. А где ты проверяешь? Рынок закрыт. Такие функции в тестере не работают.
Закрытая тема

Метки
mql программирование, дописать индикатор, дописать эксперт, доработать советник, форекс программирование


Опции темы

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь профессионального программиста в написании МТС индикаторов советников. cmillion Поиск программиста, поиск заказов 96 05.09.2017 08:20
Написание экспертов, индикаторов. Улсуги VPS для ваших советников. RL.Maxim Temp, корзина, реклама 5 31.10.2009 21:55
Написание советников, индикаторов, скриптов для MT4 по Вашему ТЗ Impish Поиск программиста, поиск заказов 0 04.04.2009 21:30


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


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