Перейти к содержимому

Theme© by Fisana
 

Фотография
* * * * * 68 Голосов

Написание экспертов и индикаторов - бесплатно!


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 18761

#4351 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 25 May 2011 - 18:21

Здравствуйте. Рассмотрите пожалуйста написание эксперта по данному индикатору. Я посторался написать на скрине условия работы. Стратегия вроде как простая, но каждый раз открывать ночью ордера весьма напряжно.

___

Немного напортачил на скрине, исправил...



Советник должен выставлять ордера ровно в 0? Или это тоже должно задаваться?
Т.к. индикатор не имеет выходящих параметров, а только рисует их; то советник будет сканировать график на наличие нужных ценовых уровней, т.е. без установленного индикатора советник работать не будет.
Пишу советники/индикаторы/cкрипты Пишите мне

 
 

#4352 unlimited

unlimited

    Не сидит в окопе

  • Пользователи - Битые mail
  • PipPipPipPipPip
  • 91 сообщений

Отправлено 25 May 2011 - 18:31

Советник должен выставлять ордера ровно в 0? Или это тоже должно задаваться?
Т.к. индикатор не имеет выходящих параметров, а только рисует их; то советник будет сканировать график на наличие нужных ценовых уровней, т.е. без установленного индикатора советник работать не будет.

Пожалуй лучше будет, если время можно задавать, т.к. не известно как он будет рисовать у разных брокеров... а то что кидать индикатор на график - так это не страшно.

#4353 kraken68

kraken68

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 40 сообщений

Отправлено 25 May 2011 - 18:42

Для реала (или тестера) нет необходимости - изображение меняется только при нахождении нового совпадения. Если на новом 1-м баре совпадений нет - рисунок остается.


Я не об этом. Например с нашими первыми 3 барами проход прошёл и нет совпадений,он первые 3 бара передвигает на 1 бар назад. и так до конца. (ну это так, я уже сделал для реализации глобального поиска совпадений)

Что-то не идет...
...
16:43:18 2010.01.08 00:12 Предсказатель1 GBPUSD,M15: Пустое значение начальных баров
16:43:18 2010.01.08 00:12 Предсказатель1 GBPUSD,M15: Пустое значение начальных баров
16:43:18 2010.01.08 00:12 Предсказатель1 GBPUSD,M15: Пустое значение начальных баров
16:43:18 2010.01.08 00:12 Предсказатель1 GBPUSD,M15: Пустое значение начальных баров
...



Разберусь, но пишет так обычно при дырках



А чего разносить-то? В чужом коде, да еще с такой задачкой разобраться тяжело.
Главное - результат.



У тебя просто построение кода хорошее, я всегда старался писать без дополнительных функций, но как написано у тебя мне нравится. Ещё кинь в личку стоимость :)

#4354 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 25 May 2011 - 19:02

Пожалуй лучше будет, если время можно задавать, т.к. не известно как он будет рисовать у разных брокеров... а то что кидать индикатор на график - так это не страшно.


Проверяйте.
Входящие параметры:
lot=0.10;//Volume
key=1984;//MagicKey
slip=3;//Slippage
StartHour=0;//время установки ордеров в часах
lifeHour=19;//время жизни ордеров в часах после чего будут закрыты

Прикрепленные файлы


Пишу советники/индикаторы/cкрипты Пишите мне

#4355 unlimited

unlimited

    Не сидит в окопе

  • Пользователи - Битые mail
  • PipPipPipPipPip
  • 91 сообщений

Отправлено 25 May 2011 - 19:17

Проверяйте.
Входящие параметры:
lot=0.10;//Volume
key=1984;//MagicKey
slip=3;//Slippage
StartHour=0;//время установки ордеров в часах
lifeHour=19;//время жизни ордеров в часах после чего будут закрыты

Ну Вы Мастер-метеор :bow: Дякую. Но тестировать в тестере его не получится, как я понял? И еще... параметр slip для 5-ти знака так и остается 3 или 30?

Сообщение отредактировал unlimited: 25 May 2011 - 19:34


#4356 dimos81

dimos81

    Выпустил первую очередь

  • Пользователи
  • PipPipPip
  • 21 сообщений

Отправлено 25 May 2011 - 19:23

15 - это для примера.
Нарисуй отрезок на графике с углом 45 градусов.
Возьми координаты его концов и вычисли сколько пунктов между двумя барами - это и будет твой коэффициент.
И далее его не меняй, если на этом строится стратегия. или будешь корректировать углы при каждом изменении коэффициента.
Учти что я эти вычисления не проверял, просто когда-то размышлял над этим.
НО должно работать.

Alen_T, спасибо за ответ, НО есть такая проблема. Для вычисления угла я взял количество пунктов, количество баров, разделил одно на второе, НО в зависимости от волатильности и размаха движения цены количество в пунктах, приходящееся на те же бары и с тем же улом в 45 может отличаться.

Для примера смотрел USD/CAD m15, там на 4 бара с углом 45 может приходиться от 5 и 10 пунктов...

Может есть какие мысли?

#4357 kraken68

kraken68

    Расстрелял целый магазин

  • Пользователи
  • PipPipPipPip
  • 40 сообщений

Отправлено 25 May 2011 - 20:09

Продолжение с мультиками.
А где критика, замечания?:scratch_head:



Ален - ты гений :) :thumbsup:

Всё работает и очень классно :) и главное точно :)

Главное всё не зря :)

#4358 Alen_T

Alen_T

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 874 сообщений

Отправлено 25 May 2011 - 20:58

Alen_T, спасибо за ответ, НО есть такая проблема. Для вычисления угла я взял количество пунктов, количество баров, разделил одно на второе, НО в зависимости от волатильности и размаха движения цены количество в пунктах, приходящееся на те же бары и с тем же улом в 45 может отличаться.

Для примера смотрел USD/CAD m15, там на 4 бара с углом 45 может приходиться от 5 и 10 пунктов...

Может есть какие мысли?


Угол рисуется один раз, вычисляется коэффициент и это на всегда!!!! (пока не захочется пересчитать свои предположения).
Те создается своя система координат, и она должна остаться для дальнейших умозаключений, предположений, вычислений неизменной. Естественно эта система координат не переносится на другую пару.
А вот на др.таймфрейм - надо подумать.
Подумал - можно пересчитывать.

Скорее всего происходит масштабирование графика по вертикали. С картинкой было бы лучше.
Попробуй выключить масштабирование и проверить. При этом можно листать график по горизонтали и угол не меняется, а график сдвигается вверх, вниз, те. высота свечей постоянна.
Проверено - угол не меняется, коэффициент тоже.

Сообщение отредактировал Alen_T: 25 May 2011 - 21:15

Ты это, заходи, если что...(С)

#4359 olegaolega

olegaolega

    Выпустил первую очередь

  • Пользователи
  • PipPipPip
  • 15 сообщений

Отправлено 25 May 2011 - 21:15

Ребят,такая просьба - вот эти два скрипта на 4-х знаке работают отлично,а на 5-и знаке - выставляют не так,как хотелось,подправьте плиз...


Вот поправил. Открытие ордера поместил в цикл из 100 попыток. Чтобы скрипт всегда срабатывал и не нужно было бы его запускать понескольку раз
Buy-OrderTPSL.ex4:

#property copyright "© 2010"
#property show_inputs
extern int 	bar = 2;
extern double  lot = 1;
extern int TakeProfit = 10;
extern int StopLoss = 20;	
int start()
  {
   double TradePoint;
   double spread = MarketInfo(Symbol(),MODE_SPREAD);
   if(Digits==3 || Digits==5) {TradePoint = Point*10; spread = spread/10;}
   else TradePoint = Point;
  
  double BuyStop = High[bar] + (1+spread)*TradePoint;
  double TP = NormalizeDouble(BuyStop + TakeProfit * TradePoint, Digits);
  double SL = NormalizeDouble(BuyStop - StopLoss * TradePoint, Digits);  
  
  int tb;
  for(int i=0;i<100;i++){
 	tb = OrderSend(Symbol(),OP_BUYSTOP,lot,BuyStop,3,SL,TP,"BRB-BuyStop-script",0,0,CLR_NONE); 
 	if(tb <=0 ) Print("Ошибка открытия buy-ордера" ,GetLastError());
 	else break;
 	}         	
   return(0);
  }

Sell-OrderTPSL.mq4:

#property show_inputs
extern int 	bar = 2;
extern double  lot = 1;
extern int TakeProfit = 10;
extern int StopLoss = 20;  
int start()
  {
   double TradePoint;
   double spread = MarketInfo(Symbol(),MODE_SPREAD);
   if(Digits==3 || Digits==5) {TradePoint = Point*10; spread = spread/10;}
   else TradePoint = Point;
  
  
  double SellStop = Low[bar] - TradePoint;  
  double TP = NormalizeDouble(SellStop - TakeProfit * TradePoint, Digits);
  double SL = NormalizeDouble(SellStop + StopLoss * TradePoint, Digits);
  int tb;
  for(int i=0;i<100;i++){
  	tb = OrderSend(Symbol(),OP_SELLSTOP,lot,SellStop,3,SL,TP,"MRB-SellStop-script",0,0,CLR_NONE);
  	if(tb<=0) Print("Ошибка открытия sell-ордера" ,GetLastError());
  	else break;
 	}           	
   return(0);
}

Делаем эксперты, индикаторы и прочее для МТ4 ... мыло olegov_oleg@mail.ru

#4360 Alen_T

Alen_T

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 874 сообщений

Отправлено 25 May 2011 - 21:19

Вот поправил. Открытие ордера поместил в цикл из 100 попыток. Чтобы скрипт всегда срабатывал и не нужно было бы его запускать понескольку раз


Я бы еще вставил в цикл задержку (секунду или полсекунды ) в случае неудачи. А то дц (сервер) может взбеситься от такой очереди (и обидеться или испугаться :D).
Ты это, заходи, если что...(С)

#4361 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 25 May 2011 - 22:28

Ну Вы Мастер-метеор :bow: Дякую. Но тестировать в тестере его не получится, как я понял? И еще... параметр slip для 5-ти знака так и остается 3 или 30?

Почему на тестере можно тестировать?! Можно.

Тестируйте только придется в визуальном режиме прицепив к графику индикатор.


На счет slip для 5 знака лучше установить побольше 30.
Пишу советники/индикаторы/cкрипты Пишите мне

#4362 sergeyol

sergeyol

    Первый выстрел

  • Пользователи
  • PipPip
  • 3 сообщений

Отправлено 25 May 2011 - 22:32

Но тестировать в тестере его не получится, как я понял?


Тестировать можно, если в тестере включить визуальный режим и накинуть индикатор. Но сами понимаете, так будет жутко медленно.

П.С. Опоздал с ответом, извиняйте).

#4363 Alen_T

Alen_T

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 874 сообщений

Отправлено 25 May 2011 - 22:35

... Главная засада не в этом - плавающая стоимость пунктов на кроссах и обратных парах.


Чем страшна плавающая стоимость пунктов на кроссах и обратных парах?
Ты это, заходи, если что...(С)

#4364 vasili

vasili

    Есть ещё порох в пороховницах

  • Специалист
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 844 сообщений

Отправлено 25 May 2011 - 22:41

Тестировать можно, если в тестере включить визуальный режим и накинуть индикатор. Но сами понимаете, так будет жутко медленно.

П.С. Опоздал с ответом, извиняйте).


Скорость визуализации поставьте 32 (по умолчанию 22) и проскочит быстро.
Пишу советники/индикаторы/cкрипты Пишите мне

#4365 olegaolega

olegaolega

    Выпустил первую очередь

  • Пользователи
  • PipPipPip
  • 15 сообщений

Отправлено 26 May 2011 - 05:02

Я бы еще вставил в цикл задержку (секунду или полсекунды ) в случае неудачи. А то дц (сервер) может взбеситься от такой очереди (и обидеться или испугаться :D).


В принципе не помешает ... )))
Если уж совсем беречься можно еще и всякие проверочки добавить типа:
if(IsTradeAllowed()) continue;
if(IsTradeContextBusy()) continue;

Делаем эксперты, индикаторы и прочее для МТ4 ... мыло olegov_oleg@mail.ru



Copyright © 2024 Your Company Name