Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 59
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Son las citas, son de mala calidad.
El Asesor Experto estándar va bien con ellos. Y en una cuenta demo, el comercio tampoco funciona. Mis operaciones no se abren. Aunque deberían.
El examinador estándar está bien con ellos
Compare el Asesor Experto Estándar y su Asesor Experto, encuentre las diferencias y saque conclusiones. Pero el enunciado del error indica una mala calidad de las cotizaciones, cuando los valores de una TF no coinciden con los de la otra TF.
Si este código se escribe para operar en el modo " sólo precios abiertos", entonces se puede evitar este problema.
Añadido. Exactamente estás tratando de hacer un código por precios abiertos, no está claro por qué debe ser probado por todos los ticks...Compara la norma y la tuya, encuentra las diferencias y saca conclusiones. Puede librarse de este infortunio si el código está escrito para operar en modo " sólo precios abiertos".
El código estándar también utiliza los precios de cierre, como el mío
¿A qué EA llamas estándar? No he visto un EA "aprecios cercanos" en la entrega del terminal.
Y por los precios abiertos, debe tener todo el código de comercio trabajando en este modo, o no hacerlo en absoluto. Sólo una parte del código se utiliza en una nueva barra, el resto funcionará en cada tick.
¿A qué EA llamas estándar? No he visto un EA "aprecios cercanos" en la entrega del terminal.
Y por los precios abiertos, debe tener todo el código de comercio trabajando en este modo, o no hacerlo en absoluto. Sólo tiene una parte del código utilizado en una nueva barra, el resto funcionará en cada tick.
Yo lo llamaría como una muestra estándar de MACD. ¿Es mejor mover la búsqueda de un nuevo bar al principio?
¿Dónde en MACD Sample está el modo "sólo precios abiertos", no lo veo? Es mejor mover la búsqueda de una nueva barra al principio de OnTick().
Y es
static datetime New_Time=TimeCurrent();// Время текущего бара
mejor que se declare fuera de la función, a nivel global.
O mejor aún, dedica algo de tiempo y busca mejores formas de buscar un nuevo bar en el foro.¿Dónde en MACD Sample está el modo "sólo precios abiertos", no lo veo? Sería mejor mover la búsqueda de una nueva barra al principio de OnTick().
И
static datetime New_Time=TimeCurrent();// Время текущего бара
es mejor declararlo fuera de la función, a nivel global.
Amigos, una pista. Tester da error: 2017.02.08 18:24:43.751 TestGenerator: error de datos no coincidentes (el valor bajo 1.09860 en 2016.07.27 19:30 no se alcanza desde el marco temporal más bajo, el precio bajo 1.09880 no coincide)
double Lots=Margin_Percent/MarketInfo(Symbol(),MODE_MARGINREQUIRED);//Определение общего количества лотов
double Lots_Volume=(MathFloor(Lots)+MarketInfo(Symbol(),MODE_LOTSTEP));
double MacdCurrent=iMACD(NULL,0,Fast_EMA_Period,Slow_EMA_Period,Signal_Period,PRICE_CLOSE,MODE_MAIN,1); //Параметры MACD основной линии текущего бара
double MacdPrevious1=iMACD(NULL,0,Fast_EMA_Period,Slow_EMA_Period,Signal_Period,PRICE_CLOSE,MODE_MAIN,2);//Параметры MACD основной линии предыдущего бара
double MacdPrevious2=iMACD(NULL,0,Fast_EMA_Period,Slow_EMA_Period,Signal_Period,PRICE_CLOSE,MODE_MAIN,3);//Параметры MACD основной линии со смещением на 2 бара
double StopLoss=iSAR(NULL,0,Step_PSAR,Maximum_PSAR,0);//Параметры Трейлинг стоп по параметрам ParabolicSAR текущего бара
double Previous_StopLoss=iSAR(NULL,0,Step_PSAR,Maximum_PSAR,1);//Параметры СтопЛосс по параметрам ParabolicSAR предыдущего бара
double CurrentPSAR=iSAR(NULL,0,Step_PSAR,Maximum_PSAR,1);//Параметры СтопЛосс по параметрам ParabolicSAR предыдущего бара
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//------
}
//-------------------------------------------------------------------------------------------------------
Es la primera vez que veo que los cálculos de las variables se hacen globalmente fuera de las funciones que generan eventos, y el compilador ni siquiera se queja?
No. Acepta todo como está.