Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1832 1...182518261827182818291830183118321833183418351836183718381839...1954 Nuevo comentario Tretyakov Rostyslav 2021.12.24 20:36 #18311 законопослушный гражданин #:despegar al espacio la parada primero se para y luego vuela instantáneamente al espacio después de la toma (cerrando la orden en el camino) Esta no es la cuestión, tal y como yo la entiendo. corrígeme si me equivoco: void OnTick() si no hay órdenes abiertas y hay una señal, entonces vOrderOpenBuy() / vOrderOpenSell() Luego viene el void vOrderModify(int iOTi) - es decir, se establecen los topes y takei y luego se comprueba si hay errores. Es decir, hasta que la orden no se cierra en el stop o en la toma, no es posible corregirla en términos de trailing. Necesita un (máximo dos) múltiplo de parada y toma. Si quieres cambiar el trailing stop y tomar un beneficio, entonces debes hacerlo manualmente. Todavía estoy pensando en cómo implementarlo. Corregido 2021.12.24 21:31:12.245 2021.11.01 00:00:00 111 inputs: Lot=0.01; StopLoss=200; TakeProfit=400; Slippage=3; Magic=1; K_Martin1=2; K_Martin2=2; K_Martin3=2; OrdersClose=5; OrdersClose2=5; DigitsLot=2; PeriodMA=14; MovingShift=1; 2021.12.24 21:31:12.292 2021.11.01 00:05:00 111 EURUSD,M5: open #1 buy 0.01 EURUSD at 1.15583 ok 2021.12.24 21:31:12.292 2021.11.01 00:05:00 111 EURUSD,M5: modify #1 buy 0.01 EURUSD at 1.15583 sl: 1.15383 tp: 1.15983 ok 2021.12.24 21:32:52.782 2021.11.01 17:37:18 111 EURUSD,M5: modify #1 buy 0.01 EURUSD at 1.15583 sl: 1.15403 tp: 1.16003 ok 2021.12.24 21:32:52.782 2021.11.01 17:37:18 111 EURUSD,M5: Модификации ордера на покупку успешна! 2021.12.24 21:33:39.178 2021.11.01 19:06:30 111 EURUSD,M5: modify #1 buy 0.01 EURUSD at 1.15583 sl: 1.15433 tp: 1.16013 ok 2021.12.24 21:33:39.178 2021.11.01 19:06:30 111 EURUSD,M5: Модификации ордера на покупку успешна! 2021.12.24 21:34:08.768 2021.11.01 20:12:05 Tester: take profit #1 at 1.16013 (1.16014 / 1.16019) 2021.12.24 21:34:14.632 2021.11.01 20:17:55 Tester: stop button pressed Archivos adjuntos: 111.mq4 25 kb Mihail Matkovskij 2021.12.24 22:18 #18312 законопослушный гражданин #:despegar al espacio la parada primero se pone de pie, luego vuela instantáneamente al espacio seguido de la toma (cerrando la orden en el camino) Eso es porque sus reglas no están funcionando: Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading. Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión de algoritmos y códigos Mihail Matkovskij, 2021.12.23 22:01 En general, las normas son las siguientes. El SL calculado es menor que el SL de la orden (menos rentable) - no haga nada. El SL de liquidación es igual a la orden - no hacer nada El SL calculado supera el SL de la orden (más rentable) - modifíquelo con el valor calculado Estas reglas de creación de redes de arrastre serían adecuadas para crear casi cualquier red de arrastre con cualquier algoritmo de cálculo de SL. Habrían terminado hace mucho tiempo y lo habrían clavado. Pero no... No he podido evitar encontrar un ejemplo preparado:https://www.mql5.com/ru/code/30808 Y un artículo:https://www.mql5.com/ru/articles/134 Aunque es complicado para los principiantes pero creo que lo conseguirás si realmente te interesa el tema. Простой трейлинг-стоп www.mql5.com Очень простой советник для сопровождения сделок трейлинг-стопом. Voy a escribir el Preguntas de los principiantes Errores, fallos, preguntas законопослушный гражданин 2021.12.25 10:44 #18313 Tretyakov Rostyslav #:Corregido Gracias. No sabía que se podía poner un doble dentro de una función void законопослушный гражданин 2021.12.25 10:50 #18314 Mihail Matkovskij #:Eso es porque sus reglas no funcionan: Deberías haberlo hecho hace mucho tiempo y haber marcado. Pero no... No pude soportarlo y te encontré un ejemplo preparado:https://www.mql5.com/ru/code/30808 Y un artículo:https://www.mql5.com/ru/articles/134 Puede ser complicado para los principiantes, pero creo que lo entenderás si estás realmente interesado en el tema. Gracias EVGENII SHELIPOV 2021.12.25 17:12 #18315 ¡¡¡Buenas tardes!!! ¿Puede decirme si la función Hour() devuelve la hora actual del último servidor conocida en Greenwich o la hora actual llamada en el ordenador? Tretyakov Rostyslav 2021.12.25 17:34 #18316 EVGENII SHELIPOV la hora actual llamada en el ordenador? EVGENII SHELIPOV 2021.12.25 18:40 #18317 Tretyakov Rostyslav #: ¿Cuál es la respuesta a la pregunta? Tretyakov Rostyslav 2021.12.25 19:13 #18318 EVGENII SHELIPOV #:¿Cuál es la respuesta a la pregunta? Lo siento. Pensé que sabías leer. Mihail Matkovskij 2021.12.25 19:57 #18319 EVGENII SHELIPOV la hora actual llamada en el ordenador? ¿Y quién te ha dicho que la hora del servidor debe ser GMT? [Eliminado] 2021.12.26 06:06 #18320 Función para mt4 y mt5 - inicio, parada y ..... //+------------------------------------------------------------------+ //| time Start.mq4 | //| Copyright 2021, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict //--- input parameters input datetime InpHoursFrom = D'1970.01.01 02:00'; // Start (Only time) input datetime InpHoursTo = D'1970.01.01 23:00'; // Stop (Only time) input bool InpClose = true; // Close Time input datetime InpHoursTo1 = D'1970.01.01 23:00'; // Close (Only time) //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(TimeStartStop(InpHoursFrom,InpHoursTo)) { Print("Start time :",InpHoursFrom," || ","Stop time :",InpHoursTo); } if(TimeClose(InpHoursTo1)) { if(InpClose) Print("close_time :",InpHoursTo1); } } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ bool TimeStartStop(datetime HoursFrom,datetime HoursTo) { //--- MqlDateTime currTime; TimeToStruct(TimeLocal(),currTime); long hour0=currTime.hour*60*60+currTime.min*60+currTime.sec; if((HoursFrom<HoursTo && hour0>=HoursFrom && hour0<HoursTo) || (HoursFrom>HoursTo && (hour0<HoursTo || hour0>=HoursFrom))) return(true); return(false); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ bool TimeClose(datetime HoursTo) { //--- MqlDateTime currTime; TimeToStruct(TimeLocal(),currTime); long hour0=currTime.hour*60*60+currTime.min*60+currTime.sec; if(hour0<HoursTo) return(false); if(hour0>HoursTo+1*10) return(false); return(true); } //+------------------------------------------------------------------+ 1...182518261827182818291830183118321833183418351836183718381839...1954 Nuevo comentario
despegar al espacio
la parada primero se para y luego vuela instantáneamente al espacio después de la toma (cerrando la orden en el camino)
Esta no es la cuestión, tal y como yo la entiendo.
corrígeme si me equivoco: void OnTick()
si no hay órdenes abiertas y hay una señal, entonces vOrderOpenBuy() / vOrderOpenSell()
Luego viene el void vOrderModify(int iOTi) - es decir, se establecen los topes y takei y luego se comprueba si hay errores.
Es decir, hasta que la orden no se cierra en el stop o en la toma, no es posible corregirla en términos de trailing.
Necesita un (máximo dos) múltiplo de parada y toma.
Si quieres cambiar el trailing stop y tomar un beneficio, entonces debes hacerlo manualmente.
Todavía estoy pensando en cómo implementarlo.
Corregido
despegar al espacio
la parada primero se pone de pie, luego vuela instantáneamente al espacio seguido de la toma (cerrando la orden en el camino)
Eso es porque sus reglas no están funcionando:
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading.
Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión de algoritmos y códigos
Mihail Matkovskij, 2021.12.23 22:01
En general, las normas son las siguientes.
Habrían terminado hace mucho tiempo y lo habrían clavado. Pero no...
No he podido evitar encontrar un ejemplo preparado:https://www.mql5.com/ru/code/30808
Y un artículo:https://www.mql5.com/ru/articles/134
Aunque es complicado para los principiantes pero creo que lo conseguirás si realmente te interesa el tema.
Corregido
Gracias.
No sabía que se podía poner un doble dentro de una función void
Eso es porque sus reglas no funcionan:
Deberías haberlo hecho hace mucho tiempo y haber marcado. Pero no...
No pude soportarlo y te encontré un ejemplo preparado:https://www.mql5.com/ru/code/30808
Y un artículo:https://www.mql5.com/ru/articles/134
Puede ser complicado para los principiantes, pero creo que lo entenderás si estás realmente interesado en el tema.
Gracias
¡¡¡Buenas tardes!!!
¿Puede decirme si la función Hour() devuelve la hora actual del último servidor conocida en Greenwich o la hora actual llamada en el ordenador?
¿Cuál es la respuesta a la pregunta?
¿Cuál es la respuesta a la pregunta?
Lo siento. Pensé que sabías leer.
¿Y quién te ha dicho que la hora del servidor debe ser GMT?
Función para mt4 y mt5 - inicio, parada y .....