Обсуждение статьи "Генетические алгоритмы - это просто!" - страница 19

 
Andrey Dik:
Вы планируете что-то оптимизировать, не так ли? Значит, вам нужно представить это "что-то" в виде FF, это может быть, например, количество пунктов прибыли по сигналам индикатора. Это и есть FF.
У меня есть что спросить, про FF, например, если это как в совете, где оптимизация имеет значение, может ли этот UGA сохранить возможность прибыли, что было сказано или что-то другое, и должен ли я при установке оптимального параметра индикатора делать виртуальное тестирование, как в примере советника, который я вижу, и извините, если это обидно, генетические алгоритмы случайны, как мы можем быть уверены, что это оптимально, и если возможно, мы вводим хорошее условие, чтобы генетические алгоритмы оптимизировали параметры индикаторов, Например, мы можем взять его из исторических условий покупки и прибыли с сколько пунктов и генетические алгоритмы используют аналогичные данные в будущем и запустить оптимизацию, это хороший способ использовать его, я не могу придумать ничего другого, если это неправильно, пожалуйста, скажите мне хороший пример использования, если без потому, что и когда он выполняется то оптимальные результаты выходят, например, ввод случайных чисел, u Удача сейчас, введите случайное число снова, а затем потерять, и так далее, разве это не больше угадайку.
 
SALEH:
У меня есть что спросить, про FF, например, если все так, как советуют, где оптимизация имеет значение, может ли этот UGA сохранить возможность прибыли, что было сказано или что-то еще, и должен ли я при установке оптимального параметра индикатора делать виртуальное тестирование, как в примере советника, который я вижу, и извините, если это обидно, генетические алгоритмы случайны, как мы можем быть уверены, что это оптимально, и если возможно, мы вводим хорошее условие, чтобы генетические алгоритмы оптимизировали параметры индикаторов, Например, мы можем взять его из исторических условий покупки и прибыли с сколько пунктов и генетические алгоритмы используют аналогичные данные в будущем и запустить оптимизацию, это хороший способ использовать его, я не могу придумать ничего другого, если это неправильно, пожалуйста, скажите мне хороший пример использования, если без потому, что и когда он выполняется то оптимальные результаты выходят, например, ввод случайных чисел, u Удача сейчас, введите случайное число снова, а затем потерять, и так далее, разве это не больше угадайку.

Генетические алгоритмы используют случайные числа не сами по себе, а с помощью распределения вероятностей. Поскольку никто не знает будущего, люди всегда используют распределение вероятностей для принятия ЛЮБЫХ решений. Вы можете использовать все параметры итерации, но вы не будете использовать их все. Вам нужно будет решить, какой вариант использовать, не так ли? - Результат применения такого ручного отбора в будущем заранее неопределен, то есть он не детерминирован.

 
Andrey Dik:

Генетические алгоритмы используют случайные числа не сами по себе, а с помощью распределения вероятностей. Поскольку никто не знает будущего, люди всегда используют распределение вероятностей для принятия ЛЮБЫХ решений. Вы можете использовать все параметры итерации, но не будете использовать их все. Вам нужно будет решить, какой вариант использовать, не так ли? - Результат применения такого ручного отбора в будущем заранее неопределен, то есть он не детерминирован.

Если да, то посоветуйте, какой из них лучше оптимизировать, если дело в параметрах индикаторов, то я немного не согласен, так как параметры часто меняются. лучше ли применять в тейкпрофите и стоплоссе или есть другой лучший способ. Спасибо за ответ, и если у вас есть какие-либо предложения, спасибо. Хотелось бы поделиться результатами эксперимента и, возможно, получить небольшую помощь в дальнейших попытках использования этого UGA.
 
SALEH:
Если да, то посоветуйте какой лучше оптимизировать, если дело в параметрах индикаторов, то я немного не согласен, так как параметры часто меняются. лучше ли применять в тейкпрофите и стоплоссе или есть другой лучший способ. Спасибо за ответ, и если у вас есть какие-либо предложения, спасибо. Хотелось бы поделиться результатами эксперимента и, возможно, получить небольшую помощь в дальнейших испытаниях этого UGA.

Трудно давать советы, не зная ничего о торговой системе

 
Поздравляю с содержанием! Однако мне не удалось скомпилировать коды или упомянутый пример. Ошибка возникает в строке "ServiceFunction ();".
 
Rafael Ladeia:
Поздравляю с содержанием! Однако мне не удалось скомпилировать коды или упомянутый пример. Ошибка возникает в строке "ServiceFunction ();".

Большое спасибо за обратную связь за 11 лет!))) к сожалению, ошибки могут возникать. Похоже, пришло время обновить коды, когда у меня только есть на это время...

 

В настоящее время у меня есть проблема оптимизации, и я экспериментирую с этой библиотекой, чтобы увидеть, сможет ли она мне помочь. К сожалению, мне не совсем понятно, как правильно настроить библиотеку.

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

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

Если риск меньше моего порога, я сохраняю ожидаемый ROI для максимизации в Colony[0][chromos]…..

Вот мой код:

void CPortfolioRiskMan::GetOptimalWeights()
  {

   double ReplicationPortion_P  = 100.0;
   double NMutationPortion_P    = 10.0;
   double ArtificialMutation_P  = 10.0;
   double GenoMergingPortion_P  = 20.0;
   double CrossingOverPortion_P = 20.0;
   double ReplicationOffset_P   = 0.5;
   double NMutationProbability_P= 5.0;
//-----------------------Variables-------------------------------------
//Preparation of global variables for UGA
   ChromosomeCount=6; //Number of chromosomes in colony
   GeneCount      =6;       //Number of genes
   RangeMinimum   =0.01;    //Minimum of the search range
   RangeMaximum   =1;    //Maximum of the search range
   Precision      =0.01;       //Search step
   OptimizeMethod =2;  //1-minimum, any other-maximum

   ArrayResize(Chromosome,GeneCount+1);
   ArrayInitialize(Chromosome,0);
   Epoch=50;                     //Number of epochs without improvement




//Start of main function of UGA
   UGA
   (
      ReplicationPortion_P, //Portion of replication.
      NMutationPortion_P,   //Portion of natural mutation.
      ArtificialMutation_P, //Portion of artificial mutation.
      GenoMergingPortion_P, //Portion of adoption of genes.
      CrossingOverPortion_P,//Portion of crossing over.
      ReplicationOffset_P,  //Rate of shifting the interval borders
      NMutationProbability_P//Probability of mutation of each gene in %
   );



  }



void FitnessFunction(int chromos)
  {
//-----------------------Variables-------------------------------------

   double weight=0.0;
   double ClosePrices[]= {1.21,0.98,1.31,1.22,0.99,0.86};
   string symbols[]= {"EURUSD","GBPUSD","AUDNZD","EURAUD","NZDJPY","GBPJPY"};
   double tickvalues[]= {0.94,0.78,0.56,0.76,0.45,0.94};
   double tickstep=0.00001;
   double Lotsizes[6];
   double av_return=0;

//----------------------------------------------------------------------


   for(int u=1; u<=GeneCount; u++)
     {
      Lotsizes[u-1]=Colony[u][chromos];
      av_return+=Lotsizes[u-1]*tickvalues[u-1]*tickstep*ClosePrices[u-1];
     }

   double risk=CalculateVaR(symbols, Lotsizes);

   if(risk>50)
      Colony[0][chromos]=-10000000.0;
   else
      Colony[0][chromos]=NormalizeDouble(av_return,2);


   AmountStartsFF++;
  }
 
Filip #:

В настоящее время у меня есть проблема оптимизации, и я экспериментирую с этой библиотекой, чтобы увидеть, сможет ли она мне помочь. К сожалению, мне не совсем понятно, как правильно настроить библиотеку.

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

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

Если риск меньше моего порога, я сохраняю ожидаемый ROI для максимизации в Colony[0][chromos]…..

Вот мой код:

Я не понял суть вопроса, поясните подробнее.

Вообще, это очень старая версия алгоритма, она (версия) не придерживается более удобной для применения схемы работы алгоритмов в текущих статьях "Популяционные алгоритмы оптимизации".

Могу порекомендовать использовать алгоритм SDS или другой из таблицы, либо дождаться обновлённой версии UGA (не знаю, целесообразно ли опубликовать новый взгляд в статье на этот старый но очень мощный алгоритм).

Я бы вообще переписал эту статью по новой, с включением UGA в рейтинговую таблицу, не знаю - можно ли и нужно ли это делать.

ЗЫ. Думаю, переписать существующую статью не получиться, она уже переведена на множество языков.

 
не компилируется. много ошибок.
 
gardee005 #:
не компилируется. много ошибок.
Пожалуйста, покажите мне списокошибок.Кодочень старый, но нет ничего, чтобысломать даже после 14 лет.