[¡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 743

 
Infinity:

Entonces como lo hago, por ejemplo, si cojo un coeficiente de 1 punto, el RSI ha pasado de 50 puntos en mi escala, resulta que ha pasado de 50 puntos y en realidad era un plano. Y la vela tiene 2 puntos. En este caso, ¿cómo determinar

El precio subió un punto. Se han realizado algunos cálculos en RSI. Su valor cambió por X. El precio ha pasado a ser otro punto más. El valor del indicador debe cambiar de nuevo por el mismo valor x. Trate de imprimirlo - debería resultar así.
 
xrust:

Entiendo que una señal de trading debe producirse cuando la línea del indicador cruza la línea de tendencia, y no al revés, pero lo tienes en ambos sentidos. Almacena los valores anteriores de la posición de la línea de tendencia en variables estáticas y si no han cambiado - comprueba el cruce, si la línea de tendencia ha cambiado de posición - reinicia...

Gracias, Rustam. ¡Buena idea! Lo dicen bien: una cabeza es buena, pero el cuerpo es mejor... :)
 
artmedia70:
Gracias, Rustam. ¡Buena idea! Es cierto lo que dicen: una cabeza es buena, pero un cuerpo es mejor... :)

Hola, ¿podríais decirme cómo ver los registros en MT4?
 
LAIT123:

Hola, ¿podríais decirme cómo ver los registros en MT4?

Supongo que realmente lo necesito... :) O tal vez mi ratón está atascado...

Carpeta de ubicación de MT4/logs

Carpeta de ubicación de MT4\tester\logs

Lo tengo aquí:

D:\NArchivos de programa\NMetaTrader - E-Global TFG account-1654729/logs

D:\NArchivos de programa/MetaTrader - E-Global TFG account-1654729\tester/logs

 

¿escribí correctamente la condición if(tic1>0) para comprobar si la orden está abierta y tengo que poner las variables a cero?

int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR=0; //Цена
double LT=0; //Лот
while(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUYLIMIT)
   {PR=Ask-Point*h;
    if(TakeProfit>0) TP=PR+TakeProfit*Point;
    if(StopLoss>0) SL=PR-StopLoss*Point;
    if(Lot>0) LT=3*Lot;}
int tic1=OrderSend(Symbol(),Cmd,LT,PR,3,SL,TP,0,mag,0,CLR_NONE);
//-----------
if(tic1<0) Print(GetLastError());

if(tic1>0){
   bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
}
//-----------
return(tic1);}
 
FoxUA:

¿escribí correctamente la condición if(tic1>0) para comprobar si la orden está abierta y tengo que poner las variables a cero?

Si la memoria no me falla, estas variables ya han sido declaradas a nivel global...

Y los vuelves a declarar dentro de la función.

bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл
Sólo serán visibles dentro de la función. Al salir de la función, sus valores se perderán y los declarados globalmente permanecerán inalterados,
es decir, declaraste nuevas variables dentro de la función, pero las que quieres cambiar quedan fuera de ella.
Elimina bool y double de tu código anterior.
 
artmedia70:
Si la memoria no me falla, estas variables ya han sido declaradas globalmente...

Y los vuelves a declarar dentro de la función.

Sólo serán visibles dentro de la función. Al salir de la función, sus valores se perderán y los declarados globalmente permanecerán inalterados,
es decir, declaraste nuevas variables dentro de la función, pero las que quieres cambiar quedan fuera de ella.
Elimina bool y double de tu código anterior.

Los he quitado y me salen muchos errores al compilar

a estas variables.

',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 4)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (143, 2)
',' - punto y coma esperado C:\NFicheros de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (143, 4)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 4)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 8)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (143, 6)
',' - punto y coma esperado C:\NArchivos de programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 8)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 8)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (144, 5)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (144, 3)
',' - punto y coma esperado C:\NFicheros de Programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (144, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (144, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (145, 5)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (145, 3)
',' - punto y coma esperado C:\NArchivos de programa\NDeltabank Trader 4\Nexperts\test5.mq4 (145, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (145, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (146, 5)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (146, 3)
',' - punto y coma esperado C:\NArchivos de programa\NDeltabank Trader 4\Nexperts\test5.mq4 (146, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (146, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (148, 5)
'=' - asignación esperada C:\NArchivos de Programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (148, 3)
',' - punto y coma esperado C:\NFicheros de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (148, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (148, 5)

 
FoxUA:

eliminado y al compilarlo da un montón de errores

a estas variables

',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 4)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (143, 2)
',' - punto y coma esperado C:\NArchivos de programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 4)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 4)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 8)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (143, 6)
',' - punto y coma esperado C:\NArchivos de programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 8)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (143, 8)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (144, 5)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (144, 3)
',' - punto y coma esperado C:\NFicheros de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (144, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (144, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (145, 5)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (145, 3)
',' - punto y coma esperado C:\NFicheros de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (145, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (145, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (146, 5)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (146, 3)
',' - punto y coma esperado C:\NFicheros de Programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (146, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (146, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (148, 5)
'=' - asignación esperada C:\NArchivos de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (148, 3)
',' - punto y coma esperado C:\NFicheros de programa\NDeltabank Trader 4\Nexpertos\Nprueba5.mq4 (148, 5)
',' - token inesperado C:\NArchivos de Programa\NDeltabank Trader 4\Nexperts\test5.mq4 (148, 5)

¿Los has declarado globalmente fuera de tu función? Sí y poner comas en su lugar ; Seguro que no has cambiado las comas por puntos y comas...
 

¡Ciudadanos!

¿Pueden decirme cómo acceder a los datos fuera de la ventana del gráfico en el Asesor Experto?

El problema es que, por ejemplo, si el número máximo de barras en la ventana se establece en 300, entonces:

1.Function iBarShift("EURUSD",60,TimeBar,false) obstinadamente no quiere dar valores superiores a 300 en ningún valor de "TimeBar".

2. iOpen("EURUSD",60,i) da ceros si i>300.

etc.

¿Hay alguna manera de superar esto?

 

Por favor, dame el código de la función que pondrá una parada una vez en el nivel de equilibrio, cuando el beneficio será por ejemplo 20 pips.

Gracias de antemano por la respuesta:)

Razón de la queja: