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

 
Dimka-novitsek:

До чего интересно,я,почитав пост ivandurak:а,сразу смекнул,что после каждого тика-то срабатывает только старт,стало быть,если переменную открыть глобально,она вроде сохранит значение.

Стало быть,где-то так

Так вот,компилятор категорически не принимает строку int KolBars=Bars;ругается так 'Bars' - initialization expected C:\Program Files (x86)\Alpari ÌÒ4\experts\Áðåä åùå.mq4 (8, 13)

Удивительно!!!!! Нормальное обьявление переменной.Ну да ладно.

Спрошу главное-как в выходные отлаживать советника,если тики не идут?????


//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars=Bars;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
KolBars=Bars;

return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{int r;
r=Bars- KolBars
//----
for( r>0 )
int k;

KolBars=Bars;

//----
return(0);
}
//+------------------------------------------------------------------+ 
А тестер зачем нужен?
 

НА СЧЕТ ГЕНЕТИЧЕСКОГО АЛГОРИТМА!!!

В моем случае используется подбор весов для нейросети. Если запускать оптимизацию без ГЕН АЛГОРИТМА то времени понадобится НУ УЖ ОЧЕНЬ МНОГО.

Псевдо случайности в коде отсутствуют.

Ген алгоритм ведь по идее тоже хоть и перебирает кучу вариантов, но тоже действует по определенной программе (на одном и том же интервале и при одних и тех же условиях). Почему тогда получаются разные результаты НЕ ПОНЯТНО.

Кстати никто не задавался вопросом ПРОВЕРИТЬ работу ГЕН АЛГОРИТМА. Именно: прогнать дава раза оптимизацию и сравнить результаты....А попробуйте. 

 
Stepan241:

НА СЧЕТ ГЕНЕТИЧЕСКОГО АЛГОРИТМА!!!

В моем случае используется подбор весов для нейросети. Если запускать оптимизацию без ГЕН АЛГОРИТМА то времени понадобится НУ УЖ ОЧЕНЬ МНОГО.

Псевдо случайности в коде отсутствуют.

Ген алгоритм ведь по идее тоже хоть и перебирает кучу вариантов, но тоже действует по определенной программе (на одном и том же интервале и при одних и тех же условиях). Почему тогда получаются разные результаты НЕ ПОНЯТНО.

Кстати никто не задавался вопросом ПРОВЕРИТЬ работу ГЕН АЛГОРИТМА. Именно: прогнать дава раза оптимизацию и сравнить результаты....А попробуйте. 


Вам в помощ.

https://www.mql5.com/ru/articles/1409      https://www.mql5.com/ru/articles/1408       https://www.mql5.com/ru/articles/1511 

 

Уважаемые Эксперты! Подскажите пожалуйста функцию, которая изменяет лот и количество ордеров в зависимости от величины баланса.

 
Stepan241:

НА СЧЕТ ГЕНЕТИЧЕСКОГО АЛГОРИТМА!!!

Кстати никто не задавался вопросом ПРОВЕРИТЬ работу ГЕН АЛГОРИТМА. Именно: прогнать дава раза оптимизацию и сравнить результаты....А попробуйте.

Вы же уже давно, как я понял, с mql работаете, ген. алг. использует псевдо случайные числа для обора начальных пакетов настроек, а только потом начинает рассматривать по заданным определениям где и что поискать.

https://www.mql5.com/ru/articles/1408

Схема функционирования генетического алгоритма

1.Инициировать начальный момент времени t=0. Случайным образом сформировать начальную популяцию, состоящую из k особей. B0 = {A1,A2,…,Ak)

2. ...

 
fanat:

Уважаемые Эксперты! Подскажите пожалуйста функцию, которая изменяет лот и количество ордеров в зависимости от величины баланса.


https://www.mql5.com/ru/code/8192

Автор использует динамический лот и максимальное кол-во опен ордерс.

MaxOrders_Desc = "если 0 количество одновременно открытых позиций не ограничивается 1-3";
MaxOrders = 1;

Lots_Desc = "Если 0 применяется динамический лот";

Lots = 1;

 

подскажите плиз, можно ли делать после проверки условия на вход в одном цикле while открывать ордера разных валютных пар, постоянно выдает ошибку 4051

while(true)

{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // Открытых орд. нет по первой паре и по второй+ есть критерии открытия
{

RefreshRates(); // Обновление данных
double bid = MarketInfo(Symb2,MODE_BID);
Alert("Попытка открыть Buy and Sell. Ожидание ответа..");
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//Открытие Buy
Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if (Ticket > 0 && Ticket1 > 0) // Получилось :)
{
Alert ("Открыт ордер Buy and Sell ",Ticket,Ticket1);
return; // Выход из start()
}
if (Fun_Error(GetLastError())==1) // Обработка ошибок
continue; // Повторная попытка
return; // Выход из start()
}

 
Dimka-novitsek:

Так вот,компилятор категорически не принимает строку int KolBars=Bars;ругается так 'Bars' - initialization expected C:\Program Files (x86)\Alpari ÌÒ4\experts\Áðåä åùå.mq4 (8, 13)

Спрошу главное-как в выходные отлаживать советника,если тики не идут?????

1.
//| Бред.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars;//=барс нельзя переменную присвоить вне функций




//| expert initialization function 
|

int init()
{
KolBars=Bars; //один раз при инициализ.

return(0);
}
...
2. На тестете стратегий ;).
 

Добрый день!! Ржу-нимагу!!!!!!                        'for' - too complex expression    C:\Program Files (x86)\Alpari МТ4\experts\бредред.mq4 (34, 1)

                                                                             ''for'' - слишком сложное выражение    C:\Program Файлы (x86) \Alpari ??4\experts\???????.mq4 (34, 1)

 

Можно ли советника в выходные в режиме тестирования отлаживать так же,как при получении тиков на платформу,получая ответы от функций Comment,Alert,?

 
xxxslavaxxx:

подскажите плиз, можно ли делать после проверки условия на вход в одном цикле while открывать ордера разных валютных пар, постоянно выдает ошибку 4051

while(true)

{
if (Total==0 && Opn_B==true && Total1==0 && Opn_S1==true) // Открытых орд. нет по первой паре и по второй+ есть критерии открытия
{

RefreshRates(); // Обновление данных
double bid = MarketInfo(Symb2,MODE_BID);
Alert("Попытка открыть Buy and Sell. Ожидание ответа..");
Ticket=OrderSend(Symb1,OP_BUY,Lts,Ask,2,0,0);//Открытие Buy
if(GetLastError()==4051)Alert("Symb1 "+Symb1+" Lts "+Lts+" Ask "+Ask);
//if(Ticket>0)Sleep(50);else continue;

Ticket1=OrderSend(Symb2,OP_SELL,Lts,bid,2,0,0);
if(GetLastError()==4051)Alert("Symb2 "+Symb2+" Lts "+Lts+" bid "+bid);


if (Ticket > 0 && Ticket1 > 0) // Получилось :)
{
Alert ("Открыт ордер Buy and Sell ",Ticket,Ticket1);
return; // Выход из start()
}
if (Fun_Error(GetLastError())==1) // Обработка ошибок
continue; // Повторная попытка
return; // Выход из start()
}

Причина обращения: