¡Los autores son buenos! Buen trabajo, logró el objetivo - Asesor Experto plana rentable. Ahora lo probé en nuestro mercado, en particular en Si-12.18, ¡da un buen beneficio! He estado buscando un Asesor Experto durante mucho tiempo.
Hay un par de comentarios: 1. Se tarda demasiado tiempo para dibujar, toda la lógica está en OnTick, no es un tick, puede utilizar CBarDetector con período M1 o M5. Yo lo hice con M5 - es mucho más divertido de trabajar. 2. Me gustaría tener min.-max. ancho de canal en la dinámica en función de la volatilidad actual del mercado.
¡Los autores son buenos! Buen trabajo, logró el objetivo - Asesor Experto plana rentable. Ahora lo probé en nuestro mercado, en particular en Si-12.18, ¡da un buen beneficio! He estado buscando un Asesor Experto durante mucho tiempo.
Hay un par de comentarios: 1. Se tarda demasiado tiempo para dibujar, toda la lógica está en OnTick, no es basada en ticks, puede utilizar CBarDetector con período M1 o M5. Yo lo hice con M5 - es mucho más divertido de trabajar. 2. Me gustaría tener un ancho de canal mín.-máx. en dinámica dependiendo de la volatilidad actual del mercado.
Para probar rápidamente en el modo visual, es necesario desactivar la salida de comentarios en el código:
/* Comment("\nСоветник "+__FILE__+" весь в работе: ",TimeControl(), "\nДень: ",Dayof(STimeCurrent), "\nТорговый счёт: ",m_account.Login(), "\nCompany: ",m_account.Company(), "\nEquity: ",m_account.Equity(), "\nВремя по GMT: "+TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS), "\nSpread: ",m_symbol.Spread(), "\nStopLevel: ",m_symbol.StopsLevel(), "\nПлечо: ",m_account.Leverage() );*/ //--- trabajamos sólo en el momento del nacimiento de nuevo bar
¡Gracias a los que implementaron este EA!
Estoy desmontando este EA línea por línea para adaptarlo a moex (está diseñado para forex después de todo), así que tengo una pregunta sobre el código.
//--- FreezeLevel -> para orden pendiente y modificación double freeze_level=m_symbol.FreezeLevel()*m_symbol.Point(); if(freeze_level==0.0) freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0; freeze_level*=1.1; //--- StopsLevel -> para TakeProfit y StopLoss double stop_level=m_symbol.StopsLevel()*m_symbol.Point(); if(stop_level==0.0) stop_level=(m_symbol.Ask()-m_symbol.Bid())*3.0; stop_level*=1.1;
¿por qué hay multiplicación, exactamente por 3 y luego por 1,1?
¡Gracias a los que implementaron este EA!
Estoy tomando esta EA aparte línea por línea con el fin de adaptarlo a moex (que está diseñado para la divisa después de todo), así que tengo una pregunta sobre el código.
¿por qué hay multiplicación, exactamente por 3 y luego por 1,1?
Se forex, se bolsa. Pero no sé qué demonios es moex.
Sólo quiero entender la lógica del código y adaptarlo a la bolsa de valores
1.Atención: si respondo a alguien, utilizo el botón "Responder".
2.Para escribir el código con precisión, primero averigua todo sobre los niveles SYMBOL_TRADE_STOPS_LEVEL y SYMBOL_TRADE_FREEZE_LEVEL con el soporte técnico del broker: ¿son estos niveles cero en todos los símbolos? ¿Qué significa "cero" - es un nivel flotante o realmente no hay nivel.
1- Atención: si estoy respondiendo a alguien, utilizo el botón "Responder".
2.Para escribir el código con precisión, primero averigua todo sobre los niveles SYMBOL_TRADE_STOPS_LEVEL y SYMBOL_TRADE_FREEZE_LEVEL con el soporte técnico del broker: ¿son estos niveles cero en todos los símbolos? ¿Qué significa "cero" - es un nivel flotante o realmente no hay nivel?
Escribí al soporte técnico del broker que estos niveles no se emiten.
Escribí al soporte técnico del broker que estos niveles no se emiten.
Entonces simplemente ignorarlos (temporalmente comentar las líneas donde se aprenden estos niveles).
Entonces simplemente ignórelos (comente temporalmente las líneas donde se aprenden esos niveles).
¿Puede decirme si el control de tiempo no funciona en este EA? Hay líneas en el procedimiento TimeControl.
if(!InpTimeControl) return(true);
Es decir, ¿si el valor de InpTimeControl es falso, sigue devolviendo true al procedimiento TimeControl?
bool TimeControl(void) { if(!InpTimeControl) return(true); MqlDateTime STimeCurrent; datetime time_current=TimeCurrent(); if(time_current==D'1970.01.01 00:00') return(false); TimeToStruct(time_current,STimeCurrent); if(InpStartHour<InpEndHour) // intervalo intradiario { if(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour) return(true); } else if(InpStartHour>InpEndHour) // intervalo de tiempo con la transición en un día { if(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour) return(true); } else return(false); //--- return(false); }
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Flat Channel:
Descripción breve
Autor: Vladimir Karputov