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

 

Señores programadores ¿cómo hacer para que sólo se muestren los puntos de velas máximas y mínimas del mismo color?

Descompilada eliminada

 

Me pueden decir si el factor de ganancia se cuenta correctamente si la matriz Hist contiene el historial de la cuenta después de cada operación cerrada.

double IndFunc2()
{
int i;
double sl,tp;
double r;
for(i=PeriodPF-1;i>0;i--){
r=Hist2[i]-Hist2[i-1];
if(r>=0){tp+=r;}
if(r<0){sl+=MathAbs(r);}
}
if(sl!=0){PF2=tp/sl;}
else{PF2=tp;}
return(0);
}
 
// < 0 - Dn
// > 0 - Up
int Signal()
{
double RSI = iRSI(NULL,15,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic(NULL,15,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI(NULL,15,CCI_period,CCI_price,SignalBar);

double MA2 = iMA(NULL,15,ma2_period,ma2_shift,ma2_method,ma2_price,SignalBar);
double IchiA = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 3, SignalBar);
double IchiB = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 4, SignalBar); 

    if(GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100) {GO=false; return(+1);}//запретить повторный вход (+1);
    if(GO && SignalType_2 && Bid >= MA2) {GO=false; return(+1);}//запретить повторный вход return(+1);
    if(GO && SignalType_3 && Bid >= IchiA) {GO=false; return(+1);}//запретить повторный вход (+1);
    
   
    
    if(GO && SignalType_1 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_2 && Ask <= MA2) {GO=false; return(-1);}//запретить повторный вход (-1);
    if(GO && SignalType_3 && Ask <= IchiB) {GO=false; return(-1);}//запретить повторный вход (-1);
    
    if(OrdersTotal()==0)GO=true;
    
    return(0);
}

Hola. ¿Puedes aconsejar cómo dividir estas señales en tres diferentes (es decir, el EA utiliza tres señales de compra, quiero que las tres señales sean utilizadas por el EA por separado y no en una pila) Lo intenté yo mismo y obtuve esto

//+------------------------------------------------------------------+
//
// 1 - Dn
// 2 - Up
int Signal()
{
double RSI = iRSI(NULL,15,RSIperiod,RSI_price,SignalBar);
double Stoch = iStochastic(NULL,15,Stoch_K,Stoch_D,Stoch_slowing,Stoch_method,Stoch_price,Stoch_mode,SignalBar);
double CCI = iCCI(NULL,15,CCI_period,CCI_price,SignalBar);

if(GO && SignalType_1 && RSI >= 65 && Stoch >= 80 && CCI >= 100) {GO=false; return(+1);}//запретить повторный вход (+1);
else {
if(GO && SignalType_2 && RSI <= 35 && Stoch <= 20 && CCI <= -100) {GO=false; return(-1);}//запретить повторный вход (-1);
}
}

{
double MA2 = iMA(Symbol(), 0, 200, 0, MODE_EMA, PRICE_CLOSE, 1);


if(GO && SignalType_1 && Bid >= MA2) {GO=false; return(+1);}//запретить повторный вход (+1);

else
{
if(GO && SignalType_2 && Ask <= MA2)  {GO=false; return(-1);}//запретить повторный вход (-1);
}
}
{
double IchiA = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 3, SignalBar);
double IchiB = iIchimoku(NULL, 15, tenkan, kijun, senkou_span_b, 4, SignalBar); 

    
       if(GO && SignalType_1 && Bid >= IchiA ){GO=false; return(+1);}//запретить повторный вход (+1); 
  
  else{  
    
    if(GO && SignalType_2 && Ask <= IchiB ) {GO=false; return(-1);}//запретить повторный вход (-1); 
    }
    
    if(OrdersTotal()==0)GO=true;
    
    return(0);
}

Y resultó que el EA abre operaciones sólo en RSI CCI y Stoh. ¿Qué ocurre?

 
FAQ:

Bienvenida sea, porque la antigua se está ralentizando enormemente.

Enlace a la parte superior anterior : https://www.mql5.com/ru/forum/134688


¡Buenos días, Estimados usuarios del foro!

No hace mucho tiempo, apenas podía imaginar cómo escribir un EA. Y ahora, decidí escribir mi primer EA, mi cabeza tuvo una gran idea. ¡Vamos al grano!

Una de las funciones de mi EA es recorrer el historial en busca de la última orden cerrada, pero el problema es que esta orden debe ser necesariamente BUy o Sell, pero no una orden pendiente eliminada. Estoy perplejo. Originalmente tenía la siguiente construcción

OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);

El código es sencillo, calcula la última orden, pero si la orden está pendiente, entonces stupor(

Necesito un código de la siguiente forma:

bucle tra-la-la (lee desde el final)

si tengo una orden pendiente {entonces 1 hacia arriba},

si recibo una orden como COMPRA o VENTA, voila {alguna función}

Espero su ayuda, el EA está casi completamente escrito, mi primera creación, sólo queda este gran empalme, y los otros pequeños son tonterías.

¡¡¡Gracias de antemano!!!
 
tyler.lexx:

¡¡¡Buenos días, Estimados usuarios del foro!!!

Hace poco, me costaba imaginar cómo escribir un EA en general. Y ahora, he decidido escribir mi primer EA, y se me ha ocurrido una idea brillante. ¡Vamos al grano!

Una de las funciones de mi EA es recorrer el historial en busca de la última orden cerrada, pero el problema es que esta orden debe ser necesariamente BUy o Sell, pero no una orden pendiente eliminada. Estoy perplejo. Originalmente tenía la siguiente construcción

OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);

El código es sencillo, calcula la última orden, pero si la orden está pendiente, entonces stupor(

Necesito un código de la siguiente forma:

bucle tra-la-la (lee desde el final)

si tengo una orden pendiente {entonces 1 hacia arriba},

Si recibo una orden como COMPRA o VENTA, voila {alguna función}

Espero su ayuda, el EA está casi completamente escrito, mi primera creación, sólo queda este gran error, y los otros pequeños no son nada.

¡¡¡Gracias de antemano!!!

¿Spammy? Si lo vuelves a hacer, que te baneen.
 
Vinin:

¿Spamming? Si vuelve a ocurrir, te expulsan.
¡Si eres tan inteligente, será mejor que me ayudes en lugar de asustarme con el fin del mundo! ¡De hecho pedí ayuda!
 
Tengo una lista de números y me gustaría trazar la densidad de la distribución utilizando algún programa sencillo y gratuito, ya que no soy matemático, ¿me pueden decir dónde puedo encontrar un programa de este tipo?
 
¿Ya no funcionala importación del historial o qué? Construye 434.
 

Buenas tardes. ¿Por qué hay un parámetro MODE_MARGINREQUIRED entre los identificadores de solicitud de MarketInfo para determinar la cantidad de fondos libres necesarios para abrir 1 lote para comprar, pero no hay ningún parámetro para determinar la cantidad de fondos libres necesarios para abrir 1 lote para vender? ¿Y cómo determinar cuántos fondos libres se necesitan para abrir 1 lote para vender en una u otra empresa de corretaje?

P.D. Para no saturar el foro, gracias de antemano por la respuesta.

 
7777877:

Buenas tardes. ¿Por qué hay un parámetro MODE_MARGINREQUIRED entre los identificadores de solicitud de MarketInfo para determinar la cantidad de fondos libres necesarios para abrir 1 lote para comprar, pero no hay ningún parámetro para determinar la cantidad de fondos libres necesarios para abrir 1 lote para vender? ¿Y cómo determinar cuántos fondos libres se necesitan para abrir 1 lote para vender en una u otra empresa de corretaje?

P.D. Para no saturar el foro, gracias de antemano por la respuesta.

Necesitas un poco menos de dinero para vender, así que en la práctica puedes usar este parámetro.
Razón de la queja: