[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 953

 
Vinin, me disculpo por los posts redundantes, es la falta de experiencia hasta ahora. He visto que he dado posts innecesarios, pero aún no sé cómo borrarlos.
En mi EA no hay parámetros duros y rápidos, sólo deslizadores, estocástico, volatilidad a corto plazo, tasa de aumento de la tendencia y correlación con otras monedas.
Por supuesto, es posible simplificar un EA, pero será uno diferente. Por ejemplo, podemos tomar un par de curvas móviles para determinar la dirección de la tendencia y utilizar los estocásticos para trabajar en la tendencia.
Es muy sencillo y puedo depurarlo, pero quiero algo mejor.
Vinin, si tengo la capacidad de borrar inmediatamente mis mensajes erróneos del foro,
Te pido que me digas cómo hacerlo.
Si tienes algún consejo sobre dónde preguntar sobre algoritmos genéticos o sabes cómo llegar a un hilo del foro sobre sistemas mecánicos de trading
(Traté de ir allí, pero tiene su propio registro, y cómo hacer esto, no sé),
Estaría muy agradecido por cualquier ayuda.
 
granit77:
No aquí, sino aquí. Usted dio el enlace a través de "su propia", no está disponible para los demás.
Oops... :) Gracias, Victor.
 
Parece que ha funcionado. Una función de cierre de arrastre, independiente de la expansión de las paradas de CC. (Por favor, no juzgue el código con severidad... se puede mejorar
//+------------------------------------------------------------------+
//|  Линия                                                           |
//+------------------------------------------------------------------+
     void CheckForClose()
  {
  
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)        break;
      if( OrderSymbol()!=Symbol()) continue;
      //---- check order type 
      if(OrderType()==OP_BUY)
        {
         if(Bid== ObjectGet("LOSBAY", 1) ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Ask== ObjectGet("LOSSELL", 1) ) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
         break;
        }
     }
//----
if(OrderType()==OP_SELL)
{
 ObjectCreate("LOSSELL", 1, 0, Time[0], Ask+LS*Point);
    if( ObjectGet("LOSSELL", 1)-Ask>LS*Point)    ObjectSet("LOSSELL", 1,  Ask+LS*Point);   
   }
if(OrderType()==OP_BUY)
{
  ObjectCreate("LOSBAY", 1, 0, Time[0], Bid-LB*Point);   
    if(Bid-ObjectGet("LOSBAY", 1)>LB*Point)      ObjectSet("LOSBAY", 1,  Bid-LB*Point);  
    }
    if (OrdersTotal()<1) ObjectDelete("LOSSELL");
    if (OrdersTotal()<1) ObjectDelete("LOSBAY");
  }
)
 
Sigue pidiendo ayuda para terminar. Cambié algunas líneas... La compra se arrastra y se cierra perfectamente, pero la venta, por alguna razón, se cierra sola inmediatamente después de la apertura, independientemente de la línea LOSSELL
     if(Bid<= ObjectGet("LOSBAY", 1) ) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
         break;
        }
      if(OrderType()==OP_SELL)
        {
         if(Ask>= ObjectGet("LOSSELL", 1) ) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);
         break;


 
Colegas, ¿podrían sugerir un artículo o un enlace que hable de cómo interpretar correctamente los resultados de las pruebas de EA? No tengo ni idea de cómo hacerlo.
 

¿Cómo puedo generar datos en tiempo real para un gráfico de velas japonesas?

Para que el gráfico muestre, por ejemplo, no el EURUSD, sino el EURUSD menos la media.

 
double Lot=0.01;
datetime time;


void start() {

int Total;

double
Sar_1,
Sar_0;

bool
Opn_B=false,
Opn_S=false;


//----------------------------------------------------------------------------------
// Торговые критерии


for(int i=OrdersTotal()-1;i>=0;i--)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)&&OrderSymbol()==Symbol()&&OrderType()>1)Total++;

if(Total!=0 || time==Time[1])return;


Sar_1=iSAR(NULL, 0, 0.03, 0.2, 1);
Sar_0=iSAR(NULL, 0, 0.03, 0.2, 0);




if (Sar_0 < Close[0] && Sar_1 > Close[1])
Opn_B=true;

if (Sar_0 > Close[0] && Sar_1 < Close[1])
Opn_S=true;



//-----------------------------------------------------------------------------
if (Opn_B)
{OrderSend(Symbol(),OP_BUY,Lot,Ask,0,0,0);time=Time[1];}

if (Opn_S)
{OrderSend(Symbol(),OP_SELL,Lot,Bid,0,0,0);time=Time[1];}

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



if (OrderType()==OP_BUY) {
if (Sar_0>Close[0])
OrderClose(OrderTicket(), Lot, 0, 0);
}
if (OrderType()==OP_SELL) {
if (Sar_0<Close[0])
OrderClose(OrderTicket(), Lot, 0, 0);
}
}


//-------------------------------------------------------------------------------------------
El EA abre una posición cuando la posición del SAR Parabólico cambia en relación al precio. Debería cerrar la posición por el mismo principio, sólo que no lo hace. ¿Puede decirme cuál es el problema?
 
001:

Colegas, ¿podrían sugerir un artículo o un enlace que hable de cómo interpretar correctamente los resultados de las pruebas de EA? Gracias.

http://wellforex.ru/index/kak_ocenivat_torgovye_sistemy/0-16

¿Qué te parece esto?

 

T.H.C.:

...¿Qué tal esto?

Más como esto.
 

¡Buenos días a todos! ¿Puede alguien decirme cómo hacer que un gráfico muestre el valor del indicador SAR Parabólico? Sólo que no la corriente,

O dame un enlace a algo similar.