Доработка ботов (советников, индикаторов) vol. 2

MakarFX

Элитный участник
Может набросаете примерчик как правильно это делать ?
Зарание спасибо.
Код:
ObjectSetText(statname,"The maximum lot that was used in trading: "+DoubleToStr(MaxLot(),2),TextSyze,"Courier New",Orange);

//+----------------------------------------------------------------------------+
double MaxLot()
  {
   double result=0;
   int i=OrdersHistoryTotal();
   for(int pos=0;pos<=i;pos++)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
        {
         if(OrderSymbol()==_Symbol)
           {
            if(OrderType()==OP_BUY||OrderType()==OP_SELL)
              {
               if(result<OrderLots()) result=OrderLots();
              }
           }
        }
     }
   return(result);
  }
//+----------------------------------------------------------------------------+
 

Gliukin

Интересующийся
Код:
ObjectSetText(statname,"The maximum lot that was used in trading: "+DoubleToStr(MaxLot(),2),TextSyze,"Courier New",Orange);

//+----------------------------------------------------------------------------+
double MaxLot()
  {
   double result=0;
   int i=OrdersHistoryTotal();
   for(int pos=0;pos<=i;pos++)
     {
      if(OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY))
        {
         if(OrderSymbol()==_Symbol)
           {
            if(OrderType()==OP_BUY||OrderType()==OP_SELL)
              {
               if(result<OrderLots()) result=OrderLots();
              }
           }
        }
     }
   return(result);
  }
//+----------------------------------------------------------------------------+
Спасибо вам большое !!!
Буду сейчас разбираться.
 

P_M_Y

Интересующийся
Здравствуйте. Помогите вставить в советник функцию увеличения лота
 

Вложения

  • MA_EA.ex4
    10,9 КБ · Просмотры: 16

djin1115

Почетный гражданин
Всем привет можно ли сделат что бы при касании канала отображалась стрелка на самом графике без отображения канала Пример на скрине!
Screenshot_1.png
 

Вложения

  • TMA_Fair .ex4
    10,1 КБ · Просмотры: 36
  • TMA_Fair .mq4
    8,1 КБ · Просмотры: 49

1_Lexa

Активный участник
Здравствуйте. Помогите вставить в советник функцию увеличения лота
Я тут скидывал свой советник, просил вставить или исправить множитель, я уже сам нашел решение, нужно заменить один блок кода
double GetLots()
{
double lot=LOTS;

if(lot==0)
lot = AccountBalance()*risk/100/10000/MarketInfo(Symbol(),MODE_MARGINREQUIRED);

if(CountTrades()>0)
lot=NormalizeDouble(LOTS*MathPow(LotMultiply,CountTrades()),2);

if(lot>MaxLot)
{
lot=LOTS;
if(lot==0)
lot = AccountBalance()*risk/100/10000/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
}

return(lot);

}
Чтобы была дистанция добавил к Point, Point>=Step, и объявил в переменной
 

AlexeNP

Гуру форума
Я тут скидывал свой советник, просил вставить или исправить множитель, я уже сам нашел решение, нужно заменить один блок кода
double GetLots()
{
double lot=LOTS;

if(lot==0)
lot = AccountBalance()*risk/100/10000/MarketInfo(Symbol(),MODE_MARGINREQUIRED);

if(CountTrades()>0)
lot=NormalizeDouble(LOTS*MathPow(LotMultiply,CountTrades()),2);

if(lot>MaxLot)
{
lot=LOTS;
if(lot==0)
lot = AccountBalance()*risk/100/10000/MarketInfo(Symbol(),MODE_MARGINREQUIRED);
}

return(lot);

}
Чтобы была дистанция добавил к Point, Point>=Step, и объявил в переменной
в таком виде твоя функция может работать неправильно... лот нужно нормализовывать через шаг изменения лота
 

1_Lexa

Активный участник
в таком виде твоя функция может работать неправильно... лот нужно нормализовывать через шаг изменения лота
Поэтому я и написал сюда, в надежде что помогут
step=NormalizeDouble(LOTS *Point,Digits);
Примерно так?
 

AlexeNP

Гуру форума
Поэтому я и написал сюда, в надежде что помогут
step=NormalizeDouble(LOTS *Point,Digits);
Примерно так?
ну, немного длинный код (можно сократить, но так яснее будет)
//lot - какое-то значение лота которое нужно привести в нормальный вид
double lot_min=SymbolInfoDouble(NULL,SYMBOL_VOLUME_MIN),
lot_max=SymbolInfoDouble(NULL,SYMBOL_VOLUME_MAX),
lot_step=SymbolInfoDouble(NULL,SYMBOL_VOLUME_STEP);
int step=(int)MathRound((lot-lot_min)/lot_step);
lot=lot_min+MathMax(0,step)*lot_step;
if(lot>lot_max)
lot=lot_max;
 

1_Lexa

Активный участник
ну, немного длинный код (можно сократить, но так яснее будет)
//lot - какое-то значение лота которое нужно привести в нормальный вид
double lot_min=SymbolInfoDouble(NULL,SYMBOL_VOLUME_MIN),
lot_max=SymbolInfoDouble(NULL,SYMBOL_VOLUME_MAX),
lot_step=SymbolInfoDouble(NULL,SYMBOL_VOLUME_STEP);
int step=(int)MathRound((lot-lot_min)/lot_step);
lot=lot_min+MathMax(0,step)*lot_step;
if(lot>lot_max)
lot=lot_max;
EA 818, это советник который я скидывал, там немного другие законы работают, но все равно большое спасибо, что объяснили
 

aladdin1982

Новичок форума
can you please fix the MTF on this indicator
thank you
 

Вложения

  • 00-VolumeRatio_v100.mq4
    8,3 КБ · Просмотры: 53

prelest

Новичок форума
Дорогие программисты, пожалуйста перекиньте на график индикатор целиком с уровнями. У индикатора отображаются только стрелки. И если можно, в настройки ещё добавить. :rolleyes:
 

Вложения

  • 4 KillBinarySignals 2~.mq4
    2,1 КБ · Просмотры: 99

P_M_Y

Интересующийся
Здравствуйте. Помогите вставить в советник функцию увеличения лота
 

Вложения

  • MA_EA.mq4
    5,2 КБ · Просмотры: 23

Абдулхаким

Почетный гражданин
перекиньте на график индикатор целиком с уровнями
в индикаторе нет уровней :)
есть 6 МА, при определённом их расположении появляются стрелки
И если можно, в настройки ещё добавить
первые два параметра это период для МАшек,
а третий в коде не участвует
 

prelest

Новичок форума
в индикаторе нет уровней :)
есть 6 АМ, при определённом их расположении появляются стрелки

первые два параметра это период для МАшек,
а третий в коде не участвует
спасибо вам. А эти 6 АМ, вы можете вывести на экран?
 

Laser300

Активный участник
Всем привет. Прошу посмотреть на несоответствия (неисправность) индикатор. После смены формата мт4 под мт5 у него странное поведение на фондовом рынке.
На рынке форекс мт4 индикатор подстраивается под амплитуду цены каждой пары индивидуально и это хорошо.
На фондовом рынке мт5 индикатор сжимается в кучу не смотря на волатильность инструмента. Настройки везде выставлены по умолчанию, одинаковы.
Подправьте пожалуйста до полного соответствия оценки волатильности как в исходнике мт4.
Скрины и исходник прилагаю.
 

Вложения

  • Kanal_Ant for MaX TS5V4.mq5
    21,2 КБ · Просмотры: 24
  • Kanal_Ant for MaX TS5V4.ex5
    32,9 КБ · Просмотры: 18
  • Kanal_Ant for MaX TS.mq4
    6,2 КБ · Просмотры: 44
  • Kanal_Ant for MaX TS.ex4
    15,6 КБ · Просмотры: 25
  • Screenshot_3.png
    Screenshot_3.png
    40,9 КБ · Просмотры: 344
  • Screenshot_2.png
    Screenshot_2.png
    75,7 КБ · Просмотры: 349
Последнее редактирование:

Абдулхаким

Почетный гражданин
А эти 6 АМ, вы можете вывести на экран?
мне не сложно,
посмотрел внимательней на код (вчера видимо только уровни там искал :)),
в коде всего лишь два мувинга и для каждого из них ещё "вытаскивают" прошлое и будущее значение :)
если вам нужно визуально видеть мувинги, то их можно накинуть на график из стандартных индикаторов терминала (их периоды - первые два параметра в настройках, один по ценам close, другой по open, метод расчёта у них одинаковый).
что можно "выжать" из двух МАшек, кроме стрелок которые уже есть (например) ?
 

gek4555

Прохожий
Будьте добры, прикрутите алерт, пожалуйста :
 

Вложения

  • MZZ9_trendLine_z1.ex4
    155,9 КБ · Просмотры: 59
Верх