[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 402

 

всем привет!

Вот попытался состряпать одну функцию, кто сможет сказать, какие тут ошибки допущены?

//попытка сделать функцию: отключение всех  индикаторов и разрешение только Бай или Селл в зависимости от того, 
//что закуплено, когда баланс снижается на заданный процент
bool fOffInd(){
int i,b,s;
   if(UT_AutoOf==1){
   //если баланс снизился на LossIndikator процентов
       if(gProfit<=((-1.0)*LossIndikator*AccountBalance())/100.0){
          Print ("Индикаторы выключен автоматически!");
          UT_ON=0; //выключатель индикатора, 0-контроль отключен
          VRF_ON=0;//выключатель индикатора, 0-контроль отключен
   //выбираем открытые ордера Бай       
   for( i=1; i<=OrdersTotal(); i++){        
      if(OrderSelect(i-1,SELECT_BY_POS)==true){   
           if(OrderType()==OP_BUY && OrderSymbol()==Symbol()){b=b+1;}
        }   
        return(b);
        }
   //выбираем открытые ордера Селл     
   for( i=1; i<=OrdersTotal(); i++){        
      if(OrderSelect(i-1,SELECT_BY_POS)==true){   
           if(OrderType()==OP_SELL && OrderSymbol()==Symbol()){s=s+1;}
        }   
        return(s);
        }
   //если открытых Бай больше чем Селл, то включаем запрет торговли Бай     
       if(s<=b){CloseAllBuyNow  = true;
         Print ("Работаем только Селл!");
          }
       else{
   //если открытых Селл больше чем Селл, то включаем запрет торговли Селл    
       if(b<=s){CloseAllSellNow = true;
         Print ("Работаем только Бай!");
             }
           }
            return(false);
         }
       }
       else{
       //все индикаторы должны быть включены и запрет на Бай и Селл снят
          UT_ON=1;
          VRF_ON=1;
          CloseAllBuyNow  = false;
          CloseAllSellNow = false;
//          return(false);
    }
   return(0);    
} 

 
 

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

Вот тут описание этой функции https://docs.mql4.com/ru/indicators/iCustom

Спасибо, посмотрю.

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

Про функцию iCustom в этом ключе не наталкивался.

 

Добрый день подскажите пожалуйста как действовать я открыл демо счёт в размере 100 долл и хотел совершить сделку при этом поменял размер лота на 0.10 или 0.05 но программа не даёт этого сделать, не горят кнопки бай и сел.

 
Arius писал(а) >>

Добрый день подскажите пожалуйста как действовать я открыл демо счёт в размере 100 долл и хотел совершить сделку при этом поменял размер лота на 0.10 или 0.05 но программа не даёт этого сделать, не горят кнопки бай и сел.

Дружище это никак не исправить, всё зависит от компании в которой ты открыл счёт, если в ней можно торговать лотами меньше 0,10, то тогда кнопки гореть будут, в противном случае ты повлиять никак не сможешь.

 
Stanislav.exe писал(а) >>

Дружище это никак не исправить, всё зависит от компании в которой ты открыл счёт, если в ней можно торговать лотами меньше 0,10, то тогда кнопки гореть будут, в противном случае ты повлиять никак не сможешь.

Спасибо.

 

Всем привет!!! Помогите пожалуйста новичку.

Мне нужно написать код следующего содержания, увы сам ещё додумать не могу.

" Советник должен открывать только одну сделку за время от пересечения двух МА до их обратного пересечения."

Вопрос: "Разумеется сам код и где необходимо разместить? " Заранее благодарен.

 
Stanislav.exe писал(а) >>

Всем привет!!! Помогите пожалуйста новичку.

Мне нужно написать код следующего содержания, увы сам ещё додумать не могу.

" Советник должен открывать только одну сделку за время от пересечения двух МА до их обратного пересечения."

Вопрос: "Разумеется сам код и где необходимо разместить? " Заранее благодарен.

Посмотри в CodeBase. Там это уже есть.

 
Vinin писал(а) >>

Посмотри в CodeBase. Там это уже есть.

Спасибо, сейчас поищу.
 
Nail_Saby >>:

всем привет!

Вот попытался состряпать одну функцию, кто сможет сказать, какие тут ошибки допущены?

это задание на сообразительность что ли? Ну тогда собразите, зачем вам нужны циклы for, если уже на первой итерации каждого происходит вызод из программы по return()

 
alsu писал(а) >>

это задание на сообразительность что ли? Ну тогда собразите, зачем вам нужны циклы for, если уже на первой итерации каждого происходит вызод из программы по return()

Кусок кода с for я взял с готовой функции http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66...

А return() самый нижний убрать что ли? Чтобы заработало?