Скачать MetaTrader 5

Проблема при компиляции кода скрипта "Генетические алгоритмы - это просто!"

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Зарегистрируйся на MQL5.community и оставляй комментарии!
trix
119
trix 2013.09.30 15:01 
Доброе время суток.

Прочитав статью "Генетические алгоритмы - это просто!" https://www.mql5.com/ru/articles/55

скачал прилагаемые файлы http://p.mql5.com/data/2/55/ugalib_ru__1.zip

переназвал мапку и разместил её в мапке ...MQL5\Scripts\...

Далее создал в этой мапке новый скрипт и назвал его "script_show_inputs" и скопировал с статьи https://www.mql5.com/ru/articles/55

код первого скрипта и вместил его в этот скрипт











#property script_show_inputs                                         
//+——————————————————————————————————————————————————————————————————————+
#include "UGAlib.mqh"
#include "Skin.mqh"//тестовая функция
//+——————————————————————————————————————————————————————————————————————+

//————————————————————————————————————————————————————————————————————————
//----------------------Входные переменные--------------------------------
input string GenofundParam         =        "----Параметры генофонда----";
input int    ChromosomeCount_P     = 50;    //Кол-во хромосом в колонии
input int    GeneCount_P           = 2;     //Кол-во генов
input int    FFNormalizeDigits_P   = 4;     //Кол-во знаков приспособлености
input int    GeneNormalizeDigits_P = 4;     //Кол-во знаков гена
input int    Epoch_P               = 50;    //Кол-во эпох без улучшения
//---
input string GA_OperatorParam      =        "----Параметры операторов----";
input double ReplicationPortion_P  = 100.0; //Доля Репликации.
input double NMutationPortion_P    = 10.0;  //Доля Естественной мутации.
input double ArtificialMutation_P  = 10.0;  //Доля Искусственной мутации.
input double GenoMergingPortion_P  = 20.0;  //Доля Заимствования генов.
input double CrossingOverPortion_P = 20.0;  //Доля Кроссинговера.
//---
input double ReplicationOffset_P   = 0.5;   //Коэффициент смещения границ интервала
input double NMutationProbability_P= 5.0;   //Вероятность мутации каждого гена в %
//---
input string OptimisationParam     =        "----Параметры оптимизации----";
input double RangeMinimum_P        = -5.0;  //Минимум диапазона поиска
input double RangeMaximum_P        = 5.0;   //Максимум диапазона поиска
input double Precision_P           = 0.0001;//Требуемая точность
input int    OptimizeMethod_P      = 1;     //Оптим.:1-Min,другое-Max
//————————————————————————————————————————————————————————————————————————

//————————————————————————————————————————————————————————————————————————
//----------------------Глобальные переменные-----------------------------
double ERROR=0.0;//Средняя ошибка на ген
//————————————————————————————————————————————————————————————————————————

//————————————————————————————————————————————————————————————————————————
//--------------------------Тело программы--------------------------------
int OnStart()
{
  //-----------------------Переменные-------------------------------------
  //Подготовка глобальных переменных для UGA
  ChromosomeCount=ChromosomeCount_P; //Кол-во хромосом в колонии
  GeneCount      =GeneCount_P;       //Кол-во генов
  RangeMinimum   =RangeMinimum_P;    //Минимум диапазона поиска
  RangeMaximum   =RangeMaximum_P;    //Максимум диапазона поиска
  Precision      =Precision_P;       //Шаг поиска
  OptimizeMethod =OptimizeMethod_P;  //1-минимум, любое другое-максимум
  FFNormalizeDigits   = FFNormalizeDigits_P;  //Кол-во знаков приспособлености
  GeneNormalizeDigits = GeneNormalizeDigits_P;//Кол-во знаков гена
  ArrayResize(Chromosome,GeneCount+1);
  ArrayInitialize(Chromosome,0);
  Epoch=Epoch_P;                     //Кол-во эпох без улучшения
  //----------------------------------------------------------------------
  //Локальные переменные
  int time_start=GetTickCount(),time_end=0;
  //----------------------------------------------------------------------

  //Запуск главной ф-ии UGA
  UGA
   (
   ReplicationPortion_P, //Доля Репликации.
   NMutationPortion_P,   //Доля Естественной мутации.
   ArtificialMutation_P, //Доля Искусственной мутации.
   GenoMergingPortion_P, //Доля Заимствования генов.
   CrossingOverPortion_P,//Доля Кроссинговера.
   //---
   ReplicationOffset_P,  //Коэффициент смещения границ интервала
   NMutationProbability_P//Вероятность мутации каждого гена в %
   );
  //----------------------------------
  time_end=GetTickCount();
  //----------------------------------
  Print(time_end-time_start," мс - Время исполнения");
  //----------------------------------
  return(0);
}
//————————————————————————————————————————————————————————————————————————



к сожалению у меня код не компилируетса,как и видно на фотке экрана, но автор этого скрипта утверждает что он всё проверил ещё раз и у него всё работает как надо, в чём может бить проблема?
Генетические алгоритмы - это просто!
Генетические алгоритмы - это просто!
  • 2010.05.25
  • Andrey Dik
  • www.mql5.com
В статье автор расскажет об эволюционных вычислениях с использованием генетического алгоритма собственной реализации. Будет показано на примерах функционирование алгоритма, даны практические рекомендации по его использованию.
Nikolay Demko
12465
Nikolay Demko 2013.09.30 15:20  

Так и задавали бы вопрос в профильной ветке, чего ради новую то заводить?

ЗЫ посты перенести, ветку фтопку.

trix
119
trix 2013.09.30 16:11  
Urain:

Так и задавали бы вопрос в профильной ветке, чего ради новую то заводить?

ЗЫ посты перенести, ветку фтопку.

На вкус и цвет товарищей нет, каждый видет по своему. Автору этого скрипта этот вопрос задавал и он не мог мне далее помочь. Если у него в ветке это бы разместил, он также мог бы проявить своё недовольствие, как например:"Вам же пояснили что скрипт работает, проблема не в скрипте а возможно в компиляции, зачем засорять ветку? Откройте новую ветку и задавйте там ваши вопросы"

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

Andrew Petras
4664
Andrew Petras 2013.09.30 16:36  
trix:
А вы что хотите услышать, если не хотите видеть, что вам компилятор пишет?
Google Translate
  • translate.google.com
Google's free online language translation service instantly translates text and web pages. This translator supports: English, Afrikaans, Albanian, Arabic, Armenian, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Catalan, Cebuano, Chinese, Croatian, Czech, Danish, Dutch, Esperanto, Estonian, Filipino, Finnish, French, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hausa, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Javanese, Kannada, Khmer, Korean, Lao, Latin, Latvian, Lithuanian, Macedonian, Malay, Maltese, Maori, Marathi, Mongolian, Nepali, Norwegian, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Serbian, Slovak, Slovenian, Somali, Spanish, Swahili, Swedish, Tamil, Telugu, Thai, Turkish, Ukrainian, Urdu, Vietnamese, Welsh, Yiddish, Yoruba, Zulu
Andrey Dik
11343
Andrey Dik 2013.09.30 17:04  

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

Ща, компильнём, поглядим, что там за фигня.

А может у кого тоже с ошибками компилируется? :O

ps. 6000 человеков (судя по статистике) компилили эти коды, вполне возможно, вероятность не нулевая, что у кого то всё же ошибки будут. чет я в это неверю правда.

pps ребята с дозора, перенесите пжста посты в ветку обсуждения статьи.

trix
119
trix 2013.09.30 17:13  
Silent:
А вы что хотите услышать, если не хотите видеть, что вам компилятор пишет?
Silent:
А вы что хотите услышать, если не хотите видеть, что вам компилятор пишет?

Я выше написал чего я хочу. Понять почему у автора этот скрипт работает а у меня не работает, возможно делаю нечто не так, так как не сильно давно увликаюсь с мкл5, для этого и указал шаги действия и фотки. Возможно ктото сталкивался уже с этой проблемой или заметил ошибки в моих действиях и.т.п.

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

Andrey Dik
11343
Andrey Dik 2013.09.30 17:16  
trix:

...

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

не переживайте, у Вас тоже будет работать. должно.
trix
119
trix 2013.09.30 17:26  
joo:

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

Ща, компильнём, поглядим, что там за фигня.

А может у кого тоже с ошибками компилируется? :O

ps. 6000 человеков (судя по статистике) компилили эти коды, вполне возможно, вероятность не нулевая, что у кого то всё же ошибки будут. чет я в это неверю правда.

pps ребята с дозора, перенесите пжста посты в ветку обсуждения статьи.

Я тут в журнале заметил




Ему что компилятор С++ нужен? Попробую сперва этот вариант и инстальну его.

Файлы:
Andrey Dik
11343
Andrey Dik 2013.09.30 17:58  

ааааа! вон в чем дело! это же не идентичные моим файлы.

а говорите, что мои не компилируются.

:)

Andrey Dik
11343
Andrey Dik 2013.09.30 18:00  
trix:


Ему что компилятор С++ нужен? Попробую сперва этот вариант и инстальну его.

наверное для компиляции ваших исходников нужен - для моих нет.

у меня сейчас, 852 билд, кстати.

Andrey Dik
11343
Andrey Dik 2013.10.01 11:25  

разобрались.

проблема с компиляцией возникает, если использовать исходники из текста статьи (UGA уже несколько раз обновлялся, а текст в статье оставался без изменений).

рабочие исходные коды (последние по времени модификаций) всегда находятся в атаче в самом конце статьи.

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