Ответить
07.11.2013, 14:31
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
Сделал как сказали но проблема не ушла
...
А первое?
Dobryj 
07.11.2013, 14:32
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
...Может не видел.
Я тоже.
Dobryj 
07.11.2013, 19:03
Аватар для Dobryj
Dobryj Dobryj вне форума Почётный гражданин
Регистрация: 07.06.2012 / Сообщений: 222
Поблагодарили 294 раз(а) / Репутация: 326
Мужики еще одна проблемка !
помогите решить )
линию в будущее рисует а вот объект арров с кодом 89 не хочет , дальше 0 бара ни в какую

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

//+------------------------------------------------------------------+
//| Time_Go! .mq4 |
//| |
//| Dobryjj |
//+------------------------------------------------------------------+
#property copyright ""
#property link ""




/*=====INPUT parameters=====*/
extern int A=50; //откладываемое расстояние
double pr0,prp,Hight,low;
double V,kt,per,price;
int i0,ip;
datetime tp,t0,time;
/*==========================*/

int init()
{
per=Period();
kt=per;
t0=WindowTimeOnDropped();
i0=iBarShift(Symbol(),Period(),t0); // считываем
pr0=Close[i0];
ip=i0+40;
tp=Time[ip];
prp=Close[ip];

if(ObjectFind("LineV")==-1)
{
ObjectCreate("LineV",2,0,tp,prp,t0,pr0); //Рисуем трендовую линию
ObjectSet ("LineV",OBJPROP_COLOR,Blue);
ObjectSet ("LineV", OBJPROP_RAY,False);
}

if(ObjectFind("LineW")==-1)
{
ObjectCreate( "LineW",OBJ_ARROW,0,0,0); //Рисуем Вертикальную линию
ObjectSetText("LineW","text",12,"Arial",Blue);
ObjectSet("LineW",OBJPROP_ARROWCODE,89);
ObjectSet("LineW",OBJPROP_WIDTH,2);
ObjectSet("LineW",OBJPROP_COLOR,Blue);
}
return(0);
}
/*==========================================================*/

int start()
{
while(IsStopped()==false)
{
tp=ObjectGet("LineV",OBJPROP_TIME1);
t0=ObjectGet("LineV",OBJPROP_TIME2);
prp=ObjectGet("LineV",OBJPROP_PRICE1);
pr0=ObjectGet("LineV",OBJPROP_PRICE2);
ip=iBarShift(Symbol(),Period(),tp);
i0=iBarShift(Symbol(),Period(),t0);

if (t0>Time[0]) i0=(Time[0]-t0)/60/per;
/*------------------------------------------*/
prp=ObjectGet("LineV",OBJPROP_PRICE1);
pr0=ObjectGet("LineV",OBJPROP_PRICE2);
pr0=NormalizeDouble(pr0,4);
prp=NormalizeDouble(prp,4);
/*------------------------------------------*/

//перерисовываем
int degre_75=75;
Ris(degre_75,"1234");


}
return(0);
}
/*==========================================================*/

int deinit()
{
ObjectDelete("LineV");
ObjectDelete("LineW");
}
/*==========================================================*/
int Ris(int xxx,string text)
{
time = Time[i0-xxx];
price=iHigh(Symbol(),PERIOD_D1,2);
ObjectSet( "LineW",OBJPROP_TIME1,time);
ObjectSet( "LineW",OBJPROP_PRICE1,price);
ObjectSetText("LineW",text,12,"Arial",Blue);

return(0);
}
[свернуть]
07.11.2013, 19:33
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
Мужики еще одна проблемка !
помогите решить )
линию в будущее рисует а вот объект арров с кодом 89 не хочет , дальше 0 бара ни в какую
...
Ты лучше фото скинь. И код как ты делаешь кусок а не весь.
И ветка есть вопросы по mql4.
Dobryj 
07.11.2013, 19:51
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,625
Поблагодарили 3,758 раз(а) / Репутация: 3750
Мужики еще одна проблемка !
помогите решить )
линию в будущее рисует а вот объект арров с кодом 89 не хочет , дальше 0 бара ни в какую
int Ris(int xxx,string text)
{
time = Time[i0-xxx];
price=iHigh(Symbol(),PERIOD_D1,2);
ObjectSet( "LineW",OBJPROP_TIME1,time);
ObjectSet( "LineW",OBJPROP_PRICE1,price);
ObjectSetText("LineW",text,12,"Arial",Blue);

return(0);
}
Больше я не оставляю твой код под спойлером.
Так не получится. Здесь надо посчитать время открытия будущего бара.
time = Time[0] + Period() * xxx * 60;
Или вместо Period() можно не текущий, а конкретный PERIOD_xx
17.11.2013, 13:21
Аватар для Tsar
Tsar Tsar вне форума Элитный участник
Регистрация: 23.09.2010 / Сообщений: 186
Поблагодарили 1,232 раз(а) / Репутация: 1233
Добрый день. Только недавно создал свой скрипт и появилась мысль стать учителем

Если кому то будет интересно изучать MQL4 с самых азов и делится опытом, то прошу написать что то в теме чтобы я знал кого учу и или оно вообще кому то надо

Dear eevviill & Coders,

I found better editor for MQL4 Program's in

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

_http://code.google.com/p/scite-ru/
[свернуть]



It's FREE !


Hopefully useful...

Последний раз редактировалось NSerega; 17.11.2013 в 16:59.
26.11.2013, 22:35
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Вот проблема:
Индикатор GG-TrendBar (_http://codebase.mql4.com/5599) не использует буфера.
Как вынуть из него значения? iCustom? понятное дело, не работает...

Последний раз редактировалось NSerega; 27.11.2013 в 12:09.
27.11.2013, 12:45
Регистрация: 13.03.2009 / Сообщений: 2,394
Поблагодарили 1,974 раз(а) / Репутация: 2051
Вот проблема:
Индикатор GG-TrendBar (_http://codebase.mql4.com/5599) не использует буфера.
Как вынуть из него значения? iCustom? понятное дело, не работает...
1. повесить индикатор вручную на график. Советником обнаруживать объекты индикатора и определять их свойства. В зависимости от состояния объектов советник выполняет действия. Этот советник не будет работать в тестере.
2. Внести изменения в код индикатора так что бы состояние он писал в глобальные переменные. Советник считывает их значения и выполняет действия. Этот советник не будет работать в тестере.
3. Алгоритм работы индикатора прописать в советнике. Но вместо объектов советник выполняет действия. Этот советник будет работать в тестере.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Dom , matro3 
27.11.2013, 14:17
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,625
Поблагодарили 3,758 раз(а) / Репутация: 3750
И 4-тый вариант: В индикатор, где if(IndVal[y-1]== !!! добавить заполнение массивов и потом их считывать iCustom().
Dom 
27.11.2013, 14:25
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Я так и сделал, только в тестере дежил и он дает сигналы отличные от показаний самого индикатора.
Так что перенес все махинации из индюка в сову.
Почему этот индюк не будет работать адекватно в тестере?
И да, может есть ему хорошая замена? Спасибо.
27.11.2013, 16:38
Регистрация: 13.03.2009 / Сообщений: 2,394
Поблагодарили 1,974 раз(а) / Репутация: 2051
Я так и сделал, только в тестере дежил и он дает сигналы отличные от показаний самого индикатора.
Так что перенес все махинации из индюка в сову.
Почему этот индюк не будет работать адекватно в тестере?
И да, может есть ему хорошая замена? Спасибо.
Он использует стандартные индикаторы на разных тайм фреймах и текущем баре. На текущем баре тестер моделирует движение цены внутри бара только на текущем тайм фрейме. На остальных берёт целые бары из файлов историй.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
01.12.2013, 06:37
Аватар для 77павел
77павел 77павел вне форума Почётный гражданин
Регистрация: 01.01.2013 / Адрес: с Ситниково(Тюмень) / Сообщений: 117
Поблагодарили 387 раз(а) / Репутация: 388
Здравствуйте уважаемые программисты подскажите пожалуйста как мне посчитать скорость изменения цены на да пунктов в секунду что то не доходит до меня спасибо Вам .
01.12.2013, 07:41
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
Сообщение от: 77павел
Здравствуйте уважаемые программисты подскажите пожалуйста как мне посчитать скорость изменения цены на да пунктов в секунду что то не доходит до меня спасибо Вам .
Я не понимаю, почему именно в эту тему заходить и задавать вопросы по MQL4(не только к тебе)? Есть тема
http://forexsystemsru.com/yazyk-programmirovaniya-mql4/65289-voprosy-po-mql4.html

Ответ на вопрос в коде
http://forexsystemsru.com/sovetniki/71098-sovetnik-tica-3.html#post591142
19.12.2013, 00:32
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 603
Поблагодарили 708 раз(а) / Репутация: 711
Сегодня будем учится применять трейлинг стоп. Может кто не знает, то это подтягивание СЛ после определённого количества пунктов в+.

Трейлинг стоп.
PHP код:
int TrailingStop 10;
 
1)OrderSelect(0,SELECT_BY_POS);
2)if(OrderMagicNumber()==Magic
 {
3)if(OrderType()==OP_BUY && Bid-OrderOpenPrice()>TrailingStop*Point && OrderStopLoss()<Bid-TrailingStop*PointOrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Blue);
if(
OrderType()==OP_SELL && OrderOpenPrice()-Ask>TrailingStop*Point && OrderStopLoss()>Ask+TrailingStop*PointOrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0,Blue);
 }
4)OrderModify(); 
Пояснение.
1)Для начала выбираем ордер с которым будем работать.
2)Проверяем ордер на меджик.
3)Здесь указываем условие трейлинга для ордера бай.
3.1)OrderType()==OP_BUY проверяем тип открытого ордера.
3.2)Bid-OrderOpenPrice()>TrailingStop*Point текущая цена-цена открытия ордера>количество пунктов трейлинга.
3.3)OrderStopLoss()<Bid-TrailingStop*Point стоп лос ордера<текущая цена-количество пунктов трейлинга.
4)OrderModify(); функция модификации ордера(СЛ,ТП,цена отложенного ордера).
Уважаемый eevviill, не могли бы вы привести пример кода с пояснениями, но с 3-мя параметрами:
TrailingStart
TrailingStep
TrailingStop

Также хотелось бы увидеть код перевода ордеров в безубыток, тоже с пояснениями?
ЗАРАНЕЕ СПАСИБО!
P.S. не закрывайте эту ветку,она многим начинающим и опытным нужна, другое дело что мало кто про нее знает...
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 19.12.2013 в 00:36.
19.12.2013, 02:02
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 603
Поблагодарили 708 раз(а) / Репутация: 711

По умолчанию Уважаемый eevviill, уточните???

Ошибочка вышла и у меня и у вас.
Думаю так пойдёт. Будет удалять отложеные ордера байлимит открытые вручную.

#property copyright ""
#property show_inputs
extern int Magic = 0;

int start()
{
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if(OrderMagicNumber()== Magic);
if (OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());
return(0);
}
}
еще вопрос по коду, было все ясно пока видел такие строчки:
PHP код:
if (OrderType()==OP_BUY
if (OrderType()==OP_SELL 
но когда увидел в чужом коде вот так, то вапще чуть не выпал в осадок)) что это означает???
PHP код:
if (OrderType() <= OP_SELL 
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось Milord; 19.12.2013 в 02:04.
19.12.2013, 07:24
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
еще вопрос по коду, было все ясно пока видел такие строчки:
PHP код:
if (OrderType()==OP_BUY
if (OrderType()==OP_SELL 
но когда увидел в чужом коде вот так, то вапще чуть не выпал в осадок)) что это означает???
PHP код:
if (OrderType() <= OP_SELL 
Что уточнять?

По второму вопросу. Клацни на OP_SELL и нажми кнопку f1
19.12.2013, 14:16
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 603
Поблагодарили 708 раз(а) / Репутация: 711
Что уточнять?

По второму вопросу. Клацни на OP_SELL и нажми кнопку f1
))при чем тут OP_SELL, я в курсе что он делает, мне непонятно как можно писать знаки<=OP_SELL,разве можно написать вот так:
вода<воздуха

P.S. а первый вопрос на счет трала вы проигнорили, будто его и не читали...
наверно у вас пропало желание учить языку и отвечать на вопросы...жаль!
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
19.12.2013, 14:33
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
))при чем тут OP_SELL, я в курсе что он делает, мне непонятно как можно писать знаки<=OP_SELL,разве можно написать вот так:
вода<воздуха

P.S. а первый вопрос на счет трала вы проигнорили, будто его и не читали...
наверно у вас пропало желание учить языку и отвечать на вопросы...жаль!
А вот ты клацни как я сказал, потом скажешь понятней стало или нет.
Milord 
19.12.2013, 15:05
Аватар для Milord
Milord Milord вне форума Местный знаток
Регистрация: 26.03.2011 / Сообщений: 603
Поблагодарили 708 раз(а) / Репутация: 711
А вот ты клацни как я сказал, потом скажешь понятней стало или нет.
да, кое что прояснилось спасибо))
то есть строка
if(OrderType()<=OP_SELL)
эквивалентна строкe
if(OrderType()==OP_SELL||OrderType()==OP_BUY)
так да?)
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)
19.12.2013, 15:47
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,034 раз(а) / Репутация: 9034
  • Отправить сообщение для eevviill с помощью Skype™
да, кое что прояснилось спасибо))
то есть строка
if(OrderType()<=OP_SELL)
эквивалентна строкe
if(OrderType()==OP_SELL||OrderType()==OP_BUY)
так да?)
Да.
Но я согласен что програмировать и так тяжело, а тут ещё пишут замысловато.
Ответить


Опции темы

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

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



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


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