[ADVERTENCIA CERRADA] UmnickTrader Adaptive EA - página 26

 
VictorArt:

2. Estoy aquí principalmente por aburrimiento e interés deportivo.

¿Es por la misma razón por la que crees que alguien necesita tu personalidad brillante o tu algoritmo de ajuste primitivo?

3. si quieres entender, tienes que usar tu cerebro, no remitirte a la "alfabetización universal".

¿quieres jugar a la demagogia otra vez?

Mathemat, por favor, pide que se borre el hilo por otra afirmación tan ofensiva.

 
paukas:
Creo que el compañero inventor está siendo grosero.


Estoy de acuerdo en un 158%. El camarada "no tiene la respuesta"... :-)))

Una rama coja.
 
Bien, hago una moción para eliminar la rama.
 

ha comentado el código base. Como se puede ver, utiliza sólo un giro después de una pérdida como una función de "mercado".

El punto está en el bloque resaltado.

   double resultTransaction=AccountEquity()-equityPrev; equityPrev=AccountEquity(); 
   if(isOpenPosition) // если позиция была, то добавляем её результат в массив
   {
      isOpenPosition=false;
      if(resultTransaction>0 )  // если последняя сделка прибыльная
      {
         arrayProfit[currentIndex]=maxProfit-spred*3; //  задали значение будущего тейкпрофита
                                                      // в зависимости от ВОЗМОЖНОГО  достигнутого профита 
         arrayLoss[currentIndex]=StopBase+spred*7; // задали начальное значение размера стопа
      }
      else  // последняя сделка убыточная
      {
         arrayProfit[currentIndex]=StopBase-spred*3; //  задали значение требуемого тейкпрофита
         arrayLoss[currentIndex]=drawDown+spred*7; // задали значение будущего стопа
                                                   // в зависимости от ВОЗМОЖНОГО  убытка по истории
         currentBuySell=-currentBuySell; // изменяем направление сделок
      }
      if(currentIndex+1<8) currentIndex=currentIndex+1; else currentIndex=0; // увеличили счетчик сделок
   }
   // вычисляем лимиты и стопы
   sumProfit=0.; sumLoss=0.;
   for(i=0; i<8; i++)
   {
      sumProfit=sumProfit+arrayProfit[i]; // суммируем профиты
      sumLoss=sumLoss+arrayLoss[i]; // суммируем убытки
   }
   if(sumProfit>StopBase/2) limit=sumProfit/8; // ограничиваем размер профита, если суммарный больше 
   if(sumLoss>StopBase/2) stop=sumLoss/8; // ограничиваем размер стопа, если суммарный больше

   // открываем новую позицию
   if(currentBuySell == 1 ) action = "Buy"; else action = "Sell";
   ActionPosition(action, currentIdOrder, absAmount, limit, stop );

En otras palabras, en este caso, abriremos órdenes lo más lejos posible en una dirección, cambiando constantemente el tamaño de TP/SL (siempre aumentamos TP), dependiendo de los parámetros MaxProfit / DrawDown, hasta que cojamos una pérdida (en una pérdida, aumentamos SL).

Los dos parámetros MaxProfit / DrawDown se calculan(se adaptan) al mercado desde el momento en que se abre la última orden hasta que se cierra, de manera que los stops de la orden se fijan en el máximo de las posibles pérdidas y ganancias anteriores.
En la función:

void CalcDrawDown( cadena idSignal )

Al mismo tiempo, mueva el SL en 7 spreads y fije el TP en 3 spreads (como seguro)


Caramba. ¿Qué hay que discutir aquí?

Según tengo entendido, todos los trabajos del colector (multiplicaciones) son diferentes variaciones de la cadena. Cuándo dar la vuelta, etc.

Así se puede adaptar cualquier cosa al mercado.

 
sergeev:

ha comentado el código base. Como se puede ver, utiliza sólo un giro después de una pérdida como una función de "mercado".

El punto está en el bloque resaltado.

En otras palabras, en este caso abriremos órdenes hasta el final en una dirección, reduciendo constantemente el tamaño del TP y aumentando el tamaño del SL, hasta que atrapemos una pérdida.


Víctor, ¿cuál es la adaptabilidad aquí?
 
LeoV:

Víctor, ¿qué sentido tiene la adaptabilidad?
He actualizado mi post, he explicado más
 
sergeev: He actualizado mi post para incluir más detalles

Vale, ¿entonces encajar SL y TA cuenta como adaptabilidad?
 
LeoV:

Vale, ¿entonces encajar SL y TA cuenta como adaptabilidad?
Resulta que sí. La nueva orden se abrirá con más paradas "correctas".
 
Mathemat:

Víctor, tú mismo escribiste que la esencia de la OTT es sincronizar la "función propia" con la "función de mercado".

¿Qué es una función de mercado?

Una función de mercado es una secuencia de precios, es decir, un gráfico de precios.

Leonid preguntó por algún tipo de "fórmula de mercado", es decir, parece referirse a algún tipo de fórmula matemática que se utiliza para calcular algo por alguna razón. De todos modos, no hay una "fórmula de mercado", yo no uso ese término.

 
Mathemat:

Víctor, tú mismo escribiste que la esencia de la OTT es sincronizar la "función propia" con la "función de mercado".

¿Cuál es la función del mercado?

Y, por cierto, ¿en qué variable o función está escrita tu "función propia"?


Ya he respondido más arriba. La función propietaria utilizada en el EA adaptativo es la más primitiva - está escrita como un algoritmo (había dos variantes de código), no en una variable o matriz o lo que sea.