Программисты помогите пожалуйста

 
Программисты помогите пожалуйста вставить ММ в советник Fractals. Чтобы лот выставлялся процентуально от размера депозита.
Файлы:
Fractals.mq4  8 kb
 

Вот пример

// это в переменные 
extern double MaxLot   = 100;    // максимальный лот
extern double    percLots = 1;


// это в функции
double MM()
{
  double lts;
      double Lots=NormalizeDouble((AccountFreeMargin()*percLots/100)/(MarketInfo(Symbol(), MODE_MARGINREQUIRED)),2);
      lts = Lots;
      if(lts>MaxLot) lts=MaxLot;
      if(lts<0.01) lts=0.01;
      
   return(lts);
}

// где надо вызываешь к примеру
double lot = MM();
 
Юрий здравствуйте, совсем не разбираюсь в коде. Немогли бы вписать код в советник?
 

Пробуйте

если lots ставите  = 0 тогда будет считаться по  проценту от депозита percLots (=1    это 1% от депо)

если lots больше ноля, то берется значения лота из него - фиксированное 

Файлы:
 
Yurij Izyumov:

Пробуйте

если lots ставите  = 0 тогда будет считаться по  проценту от депозита percLots (=1    это 1% от депо)

если lots больше ноля, то берется значения лота из него - фиксированное 

Огромное Вам спасибо. 
 
Здравствуйте! подскажите пожалуйста есть ли скрипт в котором я бы мог устанавливать время открытия отложенных ордеров истопы с профитами?
 

HELP,HELP,HELP

УЧУСЬ ПИСАТЬ ПРОГИ.ЕСТЬ ПРОБЛЕММА .НЕ ПОНИМАЮ ЛОГИКИ ИНИЦИАЛИЗАЦИИ ПЕРЕМЕННЫХ SL И TP

В МОЕМ ПОНИМАНИИ ЭТО ЕСЛИ ОРДЕР ВЫБРАН И ЕСТЬ ТИКЕТ.ТОГДА ORDERSTOPLOSS+SL*POINT,DIGETS

ОБЬЯСНИТЕ ПЛИЗ ЛОГИКУ АРИФМЕТИКИ.ЗНАЮ ЧТО ТАКОЕ ASK И BID

ИЗ ЭТОГО ВЫТЕКАЕТ ПРОБЛЕМА

   if(Digits == 3||Digits == 5)
    {
       Slippage    *= 10;
       TakeProfit  *= 10;
       StopLoss    *= 10;
    }

ЕСТЬ ПРОВЕРКА НА КОЛИЧЕСТВО ЦИФР ПОСЛЕ ЗАПЯТОЙ.

ЕСТЬ ФУНКЦИЯ ДЛЯ ИЗМЕНЕНИЯ МИНИМАЛЬНОГО SL ЕСЛИ ОН НЕ СООТВЕТСТВУЕТ

 void CheckValidStop(string symbol,double price,double& sl)
{
  if(sl==0)
  return;
  
  double min_stop_server = MarketInfo(symbol,MODE_STOPLEVEL)*MarketInfo(symbol,MODE_POINT);

  if(MathAbs(price-sl) <= min_stop_server)
  {
     if(price>sl)
      sl = price - min_stop_server;
   else sl = sl + min_stop_server;   
  }///  if(MathAbs(price-sl) <= min_stop_server)     

  sl = NormalizeDouble(sl,MarketInfo(symbol,MODE_DIGITS));   
}//функция     

КОМПЛИМАТОР ВЫДАЕТ 0 ОШИБОК А ТЕСТЕР ПИШЕТ ERROR 130,НЕ ВЕРНЫЙ СТОП ЛОС 

 
2016.06.28 21:42:23.439 2016.06.23 02:55  торговля RSI EURUSD,M5: OrderModify error 130

И ВОТ ЭТО

 2016.06.28 21:42:23.402 2016.06.23 00:00  торговля RSI inputs: Lots=0.1; Slippage=5; StopLoss=10; TakeProfit=30; RSIPeriod=7; Magic=1087; 

КАК ОНИ ГЛОБАЛЬНО ИНИЦИИРОВАНЫ

ХОТЯ В КОДЕ Я НАПИСАЛ ТАК,ПОМИМО ФУНКЦИИ МОДИФИ

          SL = NormalizeDouble( Ask - StopLoss*Point,Digits);



 

КУ......НАПИШИТЕ В ЛИЧКУ ПЛИЗ КТО МОЖЕТ

 
FxTraider:
Здравствуйте! подскажите пожалуйста есть ли скрипт в котором я бы мог устанавливать время открытия отложенных ордеров истопы с профитами?
Это не скрипт, а советник нужен. Ну или зацикленный скрипт, в чем нет смысла.
 
segano:

КУ......НАПИШИТЕ В ЛИЧКУ ПЛИЗ КТО МОЖЕТ

Caps Lock заело? ) 

1. Надо распечатать полученный СЛ и посмотреть, что там реально рассчиталось. И проверить, что он больше уровня STOPLEVEL. Стоплевел можно посмотреть индикатором https://www.mql5.com/ru/code/15808

2. На некоторых счетах ECN нельзя в OrderSend  задавать Сл и ТП, их надо задавать через OrderModify

ShowImportantParams
ShowImportantParams
  • голосов: 8
  • 2016.06.24
  • Alexey Volchanskiy
  • www.mql5.com
Показывает важные параметры, которые могут меняться на новостях или в пятницу перед закрытием.
Причина обращения: