Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 514

 
Mr.Profit:

Добрый день!

Как бороться с "MetaEditor not found" при попытке редактирования советника? MetaTrader build 600.

Что-то не припомню подобных граблей в старых билдах...

Может ли это быть связано с тем, что комп, на котором это наблюдается, достаточно маломощный и загружен на 50-75% постоянно. Там крутятся 7 инстансов MT4, но при нормальных условиях (т.е. без дополнительной внешней нагрузки типа доступа через TeamViewer и попыток запуска MetaEditor) его performance хватает, и Task Manager, запущенный в фоне, на промежутке в минут 15-20 показывает avg CPU usage <=45-50%.

Эта грабля случается не в 100% случаев, и проявив незаурядное терпение и настойчивость, с 5го-10го-25го раза MetaEditor все-таки запускается. Но реально замумукивает по полчаса пытаться запустить MetaEditor.

С такими вопросами вам нужно идти в ветку с обсуждением 610-го билда - там разработчики рядом
 
r772ra:



Спс.

Подскажите пожалуйста, пока заборов не нагородил.

Что можно было бы сделать попроще?

input int    Slippage   = 10;   // установим значение проскальзывания 
extern string ___START_SETUP_ = "---ОСНОВА---";  
input double StartLot   = 0.02; 
extern double LotMultiplicator = 1.3;
extern int N_LotMult = 2;
extern string ___STEP_SETUP_BLOK_ = "--- БЛОК УСЛОВИЙ СЕТКИ ---";
extern int Mode_Step = 1;
extern int Step = 5;
extern int StepUv_Step = 5;
extern string ___CLOSE_SETUP_BLOK_ = "--- БЛОК УСТАНОВОК ЗАКРЫТИЯ ---";
extern int TakeProfit = 40;


double z,y, lot=StartLot, count, step=Step;

  
void OnTick()
  {  
   
     int i_buy=0; int i_sell=0;
     for(int i=0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true && OrderSymbol()==Symbol()){
              switch(OrderType()){// Есть ли открыте ордера
                 case OP_BUY:
                    i_buy++;
                 break;
                 case OP_SELL:
                    i_sell++;
                 break;
               }
               
              y = int((OrderOpenPrice()-Ask)/Point); 
              z = OrderLots();
              
              count++;            
          }   
     }
    
     if(LotMultiplicator > 1 && count > N_LotMult) lot = z + z/LotMultiplicator;    
     if(Mode_Step==1) step = Step + count*StepUv_Step;

     if((i_buy==0 && i_sell==0) || y >= step) //--- нет открытых ордеров, открываем
         OrderSend(Symbol(), OP_BUY,lot,Ask,Slippage,0,Ask+TakeProfit*Point(),WindowExpertName()+" "+(string)0,0,0,clrBlue);
     
       count=0;
   
 
Zolotai:


Спс.

Подскажите пожалуйста, пока заборов не нагородил.

Что можно было бы сделать попроще?


ПОЖАЛУЙСТА, научитесь уже наконец вставлять правильно код! CTRL+ALT+M или SRC.
 
evillive:
ПОЖАЛУЙСТА, научитесь уже наконец вставлять правильно код! CTRL+ALT+M или SRC.

Готово.
 
Zolotai:


Спс.

Подскажите пожалуйста, пока заборов не нагородил.

Что можно было бы сделать попроще?


И что, нет никаких ошибок компиляции? И ошибок исполнения тоже нет?

Сначала опишите что хотите получить в итоге.А то вопросы по некоторым местам в коде есть:

 y = int((OrderOpenPrice()-Ask)/Point); //подставьте в уравнение реальные цены
if((i_buy==0 && i_sell==0) || y >= step) //--- нет открытых ордеров, открываем открывает позицию всегда когда y >= step, а это будет практически всегда по формуле выше, за исключением коридора шириной в "step"
 
evillive:

И что, нет никаких ошибок компиляции? И ошибок исполнения тоже нет?

Сначала опишите что хотите получить в итоге.А то вопросы по некоторым местам в коде есть:




Можно ли,что нибудь упростить. Быть может какие нибудь лишние переменные... У меня сейчас только открытие через шаг, увеличение лота и все. Тп пока не нужен. я хочу узнать. Можно ли сделать чуточку проще, меньше кода...
 
А его что, много? Нечего упрощать там, наоборот, усугублять надо )))
 
evillive:
А его что, много? Нечего упрощать там, наоборот, усугублять надо )))

Спс. Не подскажите функцию. Которая будет первый ордер с последним усреднять(выставлять стоп и тейк). После чего предпоследний с предпервым и тд. Как бы идем в середку...
 
Уверен, в кодобазе сеточников хватает - усреднителей, мартинов, антимартинов, на все вкусы.
 
evillive:
Уверен, в кодобазе сеточников хватает - усреднителей, мартинов, антимартинов, на все вкусы.

Да, но ведь. Нужно ковыряться в чужих кодах. Которые мне не понятны и уйдет куча времени. На то,чтобы разобраться в нем=(