Ответить
20.09.2017, 12:17
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
Надо то всего не по пунктам увеличивать размер лота,а на каждом пересечении стохастика уровня 50.Спасибо
20.09.2017, 12:49
Аватар для vladradon
vladradon vladradon на форуме Местный житель
Регистрация: 12.02.2015 / Сообщений: 404
Поблагодарили 200 раз(а) / Репутация: 207
vladradon,
Вот код(походу ваших рук дело)
Я вспомнил этот код с fxgeneral, только там код был рабочий, а этот полный хлам, т.к. в него кто-то влез без понятия, что делает. Я разгребать его не буду! Он только при компиляции выдает 48 ошибок!!! Не предупреждений, а ошибок! Это как надо было рабочий код убить?
Можно вечно смотреть на то, как горит огонь, как течет вода, и как работает трал...

Последний раз редактировалось vladradon; 20.09.2017 в 12:52.
20.09.2017, 13:00
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
eevviill2,Спасибо.за подсказку.
20.09.2017, 13:07
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
vladradon,
Смысл не плохой этой вариации если только во флете.
20.09.2017, 13:16
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
vladradon,
Кстати ну не знаю в моем случае ошибок 0 предупреждения одни.
20.09.2017, 13:36
Аватар для vladradon
vladradon vladradon на форуме Местный житель
Регистрация: 12.02.2015 / Сообщений: 404
Поблагодарили 200 раз(а) / Репутация: 207
vladradon,
Кстати ну не знаю в моем случае ошибок 0 предупреждения одни.
Вот 2 варианта: первый, что я скопировал с этой страницы и перенес в сова и второй - тот, что я сейчас у себя нашел (что странно, т.к. этому хламу сто лет и это не мой хлам - я просто над ним экспериментировал давным давно). Свой я сейчас поправил - убрал все предупреждения и ошибок в нем не было. Но стохастиком не занимался. Может eevviill2 найдет время - теперь это не сложно будет.
Можно вечно смотреть на то, как горит огонь, как течет вода, и как работает трал...
20.09.2017, 14:03
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
vladradon,
так я тоже стохастик как пример лишь привел,и машку так же.ладно доброго всего.
25.09.2017, 12:37
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
Добрый день!
Нашел тут на просторах подсказку,не много хочу под себя её подстроить. но ....
Хотелось бы,чтоб по первой прибыльной сделке, вернулся стартовый лот,ну и явно там что-то да не корректно хоть и ошибок вроде нет.Если не затруднит помогите.Надеюсь это не сложно будет как для меня.Спасибо кто поправит.само собой.
double Lots()
{
double Lot=Lots;
int OO = OrdersTotal();
if(OO > 0)
for (int j = OO-1;j>=0; j--)
{
if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol() == Symbol() && OrderMagicNumber() == 111)
{
if(OrderLots() > Lots)
{
Lots= OrderLots() ;
}

{
Lot=Lots*mult;
}
25.09.2017, 12:44
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
Пропустил маленько.Вот на сякий случай.
extern double mult = 1.5;
extern double Lots = 0.1;
а это в конце функции
}
}

return(Lot);
}
25.09.2017, 13:39
Аватар для AlexeyVik
AlexeyVik AlexeyVik на форуме Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,660
Поблагодарили 3,789 раз(а) / Репутация: 3781
Добрый день!
Нашел тут на просторах подсказку,не много хочу под себя её подстроить. но ....
Хотелось бы,чтоб по первой прибыльной сделке, вернулся стартовый лот,ну и явно там что-то да не корректно хоть и ошибок вроде нет.Если не затруднит помогите.Надеюсь это не сложно будет как для меня.Спасибо кто поправит.само собой.
double Lots()
{
double Lot=Lots;
int OO = OrdersTotal();
if(OO > 0)
for (int j = OO-1;j>=0; j--)
{
if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
if (OrderSymbol() == Symbol() && OrderMagicNumber() == 111)
{
if(OrderLots() > Lots)
{
Lots= OrderLots() ;
}

{
Lot=Lots*mult;
}
Пропустил маленько.Вот на сякий случай.
extern double mult = 1.5;
extern double Lots = 0.1;
а это в конце функции
}
}

return(Lot);
}
Чтобы по первой прибыльной сделке что-либо сделать нужно определить прибыльна-ли сделка. А в этом коде такой проверки нету.
25.09.2017, 15:50
Аватар для vladradon
vladradon vladradon на форуме Местный житель
Регистрация: 12.02.2015 / Сообщений: 404
Поблагодарили 200 раз(а) / Репутация: 207
Если не затруднит помогите.
Привет. Чирканул функцию по-быстрому. Только вопрос: что должна возвращать функция, если нет плюсового закрытого ордера и нет ордеров в рынке на данный момент (последний return). Я поставил возврат начального лота, получается. Но может нужно будет возвращать 0 - нужно по стратегии продумать!
PHP код:
double LotS()
 {
  
double Lot=Lots;
  if(
OrdersHistoryTotal()>0)
     for(
int i=OrdersHistoryTotal()-1i>=0i--)
        if(
OrderSelect(iSELECT_BY_POSMODE_HISTORY))
          if(
OrderSymbol()==_Symbol && OrderMagicNumber()==111)
            if(
OrderProfit()>0) return(Lot);

   for(
int j=OrdersTotal()-1j>=0j--)
       if(
OrderSelect(jSELECT_BY_POSMODE_TRADES))
         if(
OrderSymbol()==_Symbol && OrderMagicNumber()==111)
           if(
OrderLots()>LotsLot=OrderLots()*mult;
     
  return(
Lot);
 } 
Можно вечно смотреть на то, как горит огонь, как течет вода, и как работает трал...
25.09.2017, 17:20
Аватар для vladradon
vladradon vladradon на форуме Местный житель
Регистрация: 12.02.2015 / Сообщений: 404
Поблагодарили 200 раз(а) / Репутация: 207
Чирканул функцию по-быстрому.
Еще у меня сомнение, что нужна последняя проверка в строке
PHP код:
if(OrderLots()>LotsLot=OrderLots()*mult
скорее всего нужно оставить просто
PHP код:
Lot=OrderLots()*mult
иначе при одном ордере в рынке с базовым лотом функция не будет умножать лот для второго ордера. Я просто взял начальный код и не знаю, зачем в нем была эта проверка, поэтому оставил.
И еще было бы логично возвращать базовый лот при последнем плюсовом закрытом, если нет в рынке ордеров, т.е. ввести сначала проверку на наличие ордеров в рынке, потом, если их еще нет, проверить профит последнего закрытого. Я не знаю общего алгоритма, поэтому тупо гадаю сейчас.
Можно вечно смотреть на то, как горит огонь, как течет вода, и как работает трал...

Последний раз редактировалось vladradon; 25.09.2017 в 17:46.
26.09.2017, 07:35
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
vladradon,
Добрый день!
Спасибо,но к сожалению функция не множит. По поводу логики;ну да,закрылся ордер плюсом,то возврат на стартовый лот.При закрытии последнего общий профит в плюсе закроются и предыдущие .Но это уже другая функция.
26.09.2017, 09:48
Аватар для vladradon
vladradon vladradon на форуме Местный житель
Регистрация: 12.02.2015 / Сообщений: 404
Поблагодарили 200 раз(а) / Репутация: 207
Спасибо,но к сожалению функция не множит.
Она не множит из-за проверки, которую я рекомендовал убрать во втором сообщении. Вообще правильнее было бы так:
PHP код:
double LotS()
  {
   
double Lot=Lots;
   
int Or=0;
   for(
int a=0a>OrdersTotal(); a++)
      if(
OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
         if(
OrderSymbol()==_Symbol && OrderMagicNumber()==111)
            Or++;
   if(
OrdersHistoryTotal()>&& Or==0)
      for(
int i=OrdersHistoryTotal()-1i>=0i--)
         if(
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
            if(
OrderSymbol()==_Symbol && OrderMagicNumber()==111)
               if(
OrderProfit()>0) return(Lot);
   if(Or>
0)
      for(
int j=OrdersTotal()-1j>=0j--)
         if(
OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
            if(
OrderSymbol()==_Symbol && OrderMagicNumber()==111)
               {
Lot=OrderLots()*mult; break;}

   return(
Lot);
  } 
И вопрос: что должна возвращать функция, если последний ордер отриательный? Ведь закрытие серии ордеров может быть разного направления. Если закрывать в цикле от 0 до последнего, то последний будет положительным в большинстве случаев, а если от последнего к первому, то отрицательным. Вообще обычно не считают от положительного или нет - просто если нет в рынке ордеров, то стартуем базовым лотом, если есть, то множим последний:
PHP код:
double LotS()
  {
   
double Lot=Lots;
   
int Or=0;
   for(
int a=0a>OrdersTotal(); a++)
      if(
OrderSelect(a,SELECT_BY_POS,MODE_TRADES))
         if(
OrderSymbol()==_Symbol && OrderMagicNumber()==111)
            Or++;
    if(Or>
0)
      for(
int j=OrdersTotal()-1j>=0j--)
         if(
OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
            if(
OrderSymbol()==_Symbol && OrderMagicNumber()==111)
               {
Lot=OrderLots()*mult; break;}
   return(
Lot);
  } 
И нужно еще нормализовать полученный лот перед открытием ордера.
Можно вечно смотреть на то, как горит огонь, как течет вода, и как работает трал...

Последний раз редактировалось vladradon; 26.09.2017 в 09:58.
26.09.2017, 10:29
Аватар для Elvis Burunduk
Elvis Burunduk Elvis Burunduk на форуме Местный знаток
Регистрация: 08.02.2016 / Сообщений: 551
Поблагодарили 727 раз(а) / Репутация: 748
vladradon,
Привет, меня удивляет твоя готовность помогать новичкам...
Мне уже как то лень, честное слово...
Тебе респект и уважуха, главное чтоб не надоело...
26.09.2017, 14:37
Аватар для ivansss
ivansss ivansss на форуме Новичок форума
Регистрация: 11.12.2015 / Сообщений: 55
Поблагодарили 17 раз(а) / Репутация: 18
Добрый день. Вопрос про удаленный контроль. Предположим у меня сова на управленческом счете висит и высылает мне на мыло сообщения в случае нарушения.
1) Как поставить пароль, чтобы он не смог поменять настройки extern?(Чтобы он мог через пользовательское меню их видеть, но изменять их только после пароля)
2) Как заставить сов высылать сообщение об отключении почты в настройках? Ведь собственно можно банально обрубить связь в настройках
27.09.2017, 08:10
Аватар для on220
on220 on220 вне форума Интересующийся
Регистрация: 29.08.2017 / Сообщений: 18
Поблагодарили 3 раз(а) / Репутация: 4
vladradon,
Добрый день!
Благодарствую в очередной раз!!Поддержали помогли.
Каждый вариант для конкретной ведь ситуации и системы.,за оба от души спасибо.
27.09.2017, 11:52
Регистрация: 13.03.2009 / Сообщений: 2,406
Поблагодарили 1,980 раз(а) / Репутация: 2057
Господа,

Очень нужна помощь. Имеется индикатор, очень простой и всем, наверное, известный: Trend Magic. Основан на двух стандартных индикаторах: CCI(50) и ATR(5). Рисует очень красивые линии на графике. У меня, как чайника в программировании, имеется вопрос: как из значений CCI и ATR получается значение, которое отображается на графике цены и по которому рисуется эта самая линия? Можете вывести формулу?
Упрощенно.
Если CCI пересекла 0 вверх, индикатор имеет значение Low бара - ATR.
Если CCI пересекла 0 вниз, индикатор имеет значение High бара + ATR.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
30.09.2017, 11:20
Аватар для eevviill2
eevviill2 eevviill2 на форуме Местный знаток
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 683
Поблагодарили 595 раз(а) / Репутация: 607
Он не будет работать по всем символам одновременно! -Только на том, на котором стоит.
PHP код:
ObjectCreate(0,name,OBJ_HLINE,0,0,price); 
- 0-идентификатор графика в терминале и у тебя только текущий указан (0). Чтобы трал работал по всем открытым графикам, нужно считывать ID графика и по нему уже рисовать линию на нужном графике, а не на текущем. Только я однажды пытался сделать считывание ID открытых графиков и терминал выдавал только 0 первого графика, а все остальные были EMPTY и фиг, что дальше сделаешь. Поэтому я нашел другой способ виртуального трала по всем ордерам всех графиков - думай дальше, студент.
Ачо нельзя на текущем графике нарисовать линии от другого символа?
Что на графике EURUSD нету цены от GBPUSD
30.09.2017, 11:25
Аватар для eevviill2
eevviill2 eevviill2 на форуме Местный знаток
Регистрация: 13.08.2016 / Адрес: Бандерівці / Сообщений: 683
Поблагодарили 595 раз(а) / Репутация: 607
Если условие не имеет эффекта, то какого Алерт показал 7?
PHP код:
expression has no effect 
PHP код:
double numb1=7;double numb2=4;double val=0;numb1>numb2?val=numb1:val=numb2;Alert(val); 

Последний раз редактировалось NSerega; 30.09.2017 в 17:15.
Ответить

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


Опции темы

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

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



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


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