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

 
TarasBY:

¡¿Están todos conspirando?! "Todavía no hay T/P" - ¡cuidado con descifrar! Hazlo:

Y mostrar lo que hay en el registro.

Y no olvide que hay reglas que determinan la distancia del TP y del SL con respecto al precio actual - ¡estas reglas deben ser OBEDIENTES!



2012.12.08 20:23:18 2012.12.07 00:00 sasha EURUSD.m,M15: max = 1.3079 | min = 1.295

 
dbs039:

Buenas tardes a todos, estoy interesado en una pregunta de este tipo, como puedo trabajar con ticks, a partir de algún evento, por ejemplo, comparar el valor del primer tick después de algún evento y el n-ésimo, según tengo entendido durante la función de inicio del precio, por ejemplo, Bid todo el tiempo se sobrescribe, además puedo operar con el valor anterior, pero como operar con el pre-prime y así sucesivamente, donde y como se escribe todo? Gracias por su atención)

A una matriz:

double gda_Array[1000000][3];
int    gi_cnt = 0;
void start()
{
    gda_Array[gi_cnt][0] = GetTickCount();
    gda_Array[gi_cnt][1] = TimeCurrent();
    gda_Array[gi_cnt][2] = Bid;
    gi_cnt++;
    if (gi_cnt > ArrayRange (gda_Array, 0)) ArrayResize (gda_Array, gi_cnt);
}

Y jugar con las garrapatas. Puedes escribirlos en un archivo.

 
sasha1995:

2012.12.08 20:23:18 2012.12.07 00:00 sasha EURUSD.m,M15: max = 1.3079 | min = 1.295

Esto sugiere que se ha calculado el máximo y el mínimo.
 
dbs039:

Buenas tardes a todos, estoy interesado en una pregunta de este tipo, como puedo trabajar con ticks, a partir de algún evento, por ejemplo, comparar el valor del primer tick después de algún evento y el n-ésimo, según tengo entendido durante la función de inicio del precio, por ejemplo, Bid todo el tiempo se sobrescribe, además puedo operar con el valor anterior, pero como operar con el preexistente y así sucesivamente, donde y como se escribe todo? Gracias por su atención)


No hay ninguna opción en la entrega estándar de MT4 para trabajar con el historial de ticks. Si lo quieres, leehttp://www.opentraders.ru/downloads/17/http://avtoforex.ru/testirovanie/5-kachestvo-modelirovanija-99-procentov-v-testere-strategij.html
 
if(OrderTakeProfit()!=0&&OrderTakeProfit()!=OrderOpenPrice()+2*kio*Point&&Bid>OrderOpenPrice()+50*kio*Point)
               OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+2*kio*Point,0);
Hola a todos. ¿Podéis decirme qué pasa con el Error #1 cómo solucionarlo? Gracias.
 
laveosa:
¿qué pasa con el error 1? Gracias.


Usted está tratando de poner un takeprofit en una orden de dos pasos cuando el precio es 50 pasos más alto que el mismo nivel en la misma dirección. En este caso ya no será un take profit, sino un stop loss. La ganancia para una orden de compra es todo lo que es más alto que el precio de venta actual, no el precio al que se colocó la orden. Para una orden de venta es al revés.

Y normalizar los precios.

 
r772ra:

Creo que se trata de la función GetPriceToInput().

Sí. Básicamente, el precio límite se calcula allí. Y resultó que necesitábamos una condición para queGetPriceToInput() fuera menor que Ask para bays y mayor que Bid para sels, respectivamente. Esta comprobación faltaba, por eso aparecía a veces el error 130.
 
r772ra:

Intente tomar los valores del indicador de la barra 1 y de la barra 2. Algo así.

Necesito sólo 1 y 0, pero ese no es el problema aquí: las órdenes (marcadas en rojo), ¿por qué se abren? no hay criterios de activación para ellas en el gráfico ((.
 
Equilibrium:

Necesito exactamente 1 y 0, pero ese no es el problema aquí: las órdenes (rodeadas en rojo), ¿por qué se abren? para ellas no hay ningún criterio de activación en el gráfico ((.

Para ser más precisos, hay que mirar el código del EA. Esto suele ocurrir cuando no tenemos en cuenta ciertas características de los asesores con los llamados indicadores. Los Asesores Expertos no calculan los valores de los indicadores por sí mismos, sino que los toman de los búferes de los indicadores ya preparados. Por eso, si necesitas, por ejemplo, recordar los valores anteriores del indicador o alguna otra cosa, que el indicador hace por sí mismo, tienes que incluir todo esto en tu Asesor Experto. Y también hay indicadores "torcidos", aunque creo que tienes un estocástico estándar y no tiene nada que ver.
 
rigonich:

Para responder a esta pregunta con mayor precisión, es necesario ver el código del Asesor Experto. Sin embargo, esto suele ocurrir cuando al escribir un Asesor Experto no se tienen en cuenta ciertas características del trabajo de los Asesores Expertos con los indicadores a llamar. Los Asesores Expertos no calculan los valores de los indicadores por sí mismos, sino que los toman de los búferes de los indicadores ya preparados. Por eso, si necesitas, por ejemplo, recordar los valores anteriores del indicador o alguna otra cosa, que el indicador hace por sí mismo, tienes que incluir todo esto en tu Asesor Experto. Y a veces hay indicadores "torcidos", pero creo que tienes un estocástico estándar y no tiene nada que ver.


Todos los indicadores, incluidos los estándar, se vuelven a dibujar en 0 bar.

Un consejo... Si tienes preguntas como esta, hay una función como esta:

bool VentanaPantalla( string filename, int size_x, int size_y, int start_bar=-1, int chart_scale=-1, int chart_mode=-1)
Guarda la imagen del gráfico actual en un archivo GIF. En caso de fallo devuelve FALSE. Para obtener información sobre el error es necesario llamar a la función GetLastError().

La captura de pantalla se guarda en el directorioterminal_experts\files (directorio terminal\tester\files en caso de probar el Asesor Experto) o en sus subcarpetas.

Razón de la queja: