[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 306

 
Roman.:


Это если вы сдаёте свои мощности в аренду (выставляете в облако).

Если вы при оптимизации на 1-о, 2-х ядерке подключаетесь к облачным удалённым агентам, то эти центы - тратятся...

Заливайте чуть баблеца к себе на счёт и вперёд - ОПТИТЬ!

и результаты оптимизации можно ставить на МТ4?
 
GarKain:
и результаты оптимизации можно ставить на МТ4?


Нет. Услуги только для совов на MQL5. Я же вначале написал - переводите сова на Пятёрку... потом уже оптите в облаке и всё...

См. мои посты выше - оптимизируйте код сова, + грамотно подойдите к оптимизации, всё это можно решать и на четвёрке, если сов не из "области фантастики"! :-)

 
у меня комп из области фантастики. если я не хочу работать на МТ5 оптимальные результаты параметров сова (полученные на мт5) можно будет вбить в мт4?
 
GarKain:
у меня комп из области фантастики. если я не хочу работать на МТ5 оптимальные результаты параметров сова (полученные на мт5) можно будет вбить в мт4?

Конечно. НО, для этого нужно код сова с MQL4 перенести на MQL5. Читай статью в помощь.
 
Roman.:

Конечно. НО, для этого нужно код сова с MQL4 перенести на MQL5. Читай статью в помощь.
то что нужно перевести я давно понял спасибо.
 
GarKain:
у меня комп из области фантастики. если я не хочу работать на МТ5 оптимальные результаты параметров сова (полученные на мт5) можно будет вбить в мт4?

Оптимальность не зависит от инструмента. Вбивайте!
 

Подскажите пожалуйста почему такая связка создает лишние пустые элементы в массиве V_Sym, хотя по замыслу должа просто вписать значение в ячейку если она пуста, или если все заняты добавить еще 1 и вписать в нее. 

string V_Sym[3]={""};
int init(){
test(Symbol());
test(Symbol());
return(0);
}
int deinit(){
int a_size=ArraySize(V_Sym);
int i=0;
for(i=0;i<a_size;i++){Print(V_Sym[i]);}
return(0);
}
int start(){return(0);}
//+------------------------------------------------------------------+
int test(string Sy=""){
int i,a_size;
a_size=ArraySize(V_Sym);
i=0;
for(i=0;i<a_size;i++)
{
if(V_Sym[i]!=""&&i==a_size-1)
{
ArrayResize(V_Sym,a_size+1);
V_Sym[i+1]=Sy;
}
if(V_Sym[i]==""){
V_Sym[i]=Sy;
break;
}
}
return(0);
}

Проблема оказалась в том, что при инициализации масиива значение пустого элемента не равно "". Вот только интересно чему оно тогда равно? Принт выводит ""
 
Skydiver:

Подскажите пожалуйста почему такая связка создает лишние пустые элементы в массиве V_Sym, хотя по замыслу должа просто вписать значение в ячейку если она пуста, или если все заняты добавить еще 1 и вписать в нее.

Проблема оказалась в том, что при инициализации масиива значение пустого элемента не равно "". Вот только интересно чему оно тогда равно? Принт выводит ""

А скажите пожалуйста, зачем при бъявлении функции Вы обнуляете переменную? Это вот тут:

int test(string Sy=""){
 
всем привет, подскажите пожалуйста как сделать, чтоб советник выдавал только одно действие (покупка/продажа/сигнал/сообщение и тп) за 1 свечу, т.е. если сигнал на покупку, то закрывать покупку на этой свече он уже не станет, должны тут быть какие то функции, чтоб не выдумывать велосипед самому
 
nelisgar:
всем привет, подскажите пожалуйста как сделать, чтоб советник выдавал только одно действие (покупка/продажа/сигнал/сообщение и тп) за 1 свечу, т.е. если сигнал на покупку, то закрывать покупку на этой свече он уже не станет, должны тут быть какие то функции, чтоб не выдумывать велосипед самому


Перед функцией инициаизации советника объявляем переменную:

int  myBars; 

После функции start(){} советника пишем подпрограмму:

//+------------------------------------------------------------------+
//| функция isNewBar() - возвращает признак нового бара                                              |
//+------------------------------------------------------------------+
bool isNewBar(){
  bool res=false;
  if(myBars!=Bars){
    res=true;
    myBars=Bars;
  }   
        return(res);
}
//--------------------------------------------------------------- 

В функции start() советника используем эти подпрограмму и переменную следующим образом:

if(isNewBar()==true){
  // это первый тик новой свечи - выпоняем необходимые действия
}