Hola a todos! Tengo un indicador - escrito en mql5 que me gustaría utilizar para crear un EA. Cuando creo un EA, no encuentro los topes que necesito, parece que no los tengo. Así es como lo hago yo:
{
//--- indicator buffers mapping SetIndexBuffer(2,BuyBuffer,INDICATOR_DATA);
ResetLastError();
double handle3 = 0;
double handle4 = 0;
double UP = 0;
double DW = 0;
for (int i=1; i<11; i++)
{
UP = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,2,i);
DW = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,3,i);
if (handle3==0)
if (UP != EMPTY_VALUE)
handle3=1;
if (handle4==0)
if (UP != EMPTY_VALUE)
handle4=1;
if (handle3>0 && handle4)
break;
}
Comment(DoubleToString(handle3,Digits())+"\n"+DoubleToString(handle3,Digits()));
return(INIT_SUCCEEDED);
}
No importa cómo cambie o añada una línea iCustom - sigo obteniendo lo mismo en el registro:
Hola a todos! Tengo un indicador - escrito en mql5 que me gustaría utilizar para crear un EA. Cuando creo un EA, no encuentro los topes que necesito, parece que no los tengo. Así es como lo hago yo:
No importa cómo cambie o añada una línea iCustom - sigo obteniendo lo mismo en el registro:
Resulta que necesito un stop loss- (no podía entender por qué se cerró inmediatamente) añadió un stop loss
¡¡¡Muchas gracias!!!
Hiciste un buen trabajo, pero estoy interesado en un algoritmo completamente diferente para el EA. Me gustaría utilizar una simple martingala (tamiz) con estos parámetros personalizables :
input group "======== МАРТИН ========";
inputint MMType = 1; // 1 - вкл. , 2 - выкл.
inputdouble Multiplikator = 1.667; // множитель следующего лота
inputdouble Step = 150.0; // Расстояние между ордерами
input group "==== МАНИ МЕНЕДЖМЕНТ ====;
inputbool LotConst = true; // фиксированный - true, или от баланса - falseinput group "-: фиксированный лот :--";
inputdouble Lot = 0.01; // первый фиксированный лот, если МАРТИН включен
input group "---: лот от баланса :---";
inputdouble RiskPercent = 30.0; // первый лот в процентах от баланса, если МАРТИН включен
input group "== ПРИБЫЛЬ В ПУНКТАХ ===";
inputdouble TakeProfit = 56.0; // параметры тейкпрофита в пунктах
input group "========= Шаг ==========";
inputdouble Step = 150.0; // шаг в пунктах между ордерами
input group "===== ОГРАНИЧИТЕЛЬ =====";
inputint MaxTrades = 15; // Максимальное количество ордеров одного направления
input group "=== ПРОСКАЛЬЗОВАНИЕ ====";
inputdouble Slippage = 5.0; // Допустимое проскальзывание на новостях в пунктах
input group "== МАГИЧЕСКИЙ НОМЕР ===";
inputint Magic = 1111111 ; // Идентификатор ордера (Магик №)
pero añádele el indicador que he puesto - arriba. Y utilícelo como disparador (falso - funciona sólo en CORTO y verdadero - funciona sólo en LARGO).
Elegí este indicador - sólo porque funciona como MovingAverages, pero tiene algunos filtros de suavizado y los puntos de cambio de dirección del precio, que puede ser utilizado como un disparador para el Asesor de Expertos para trabajar sólo en la tendencia utilizando la configuración de beneficios desde el menú.
Y tan pronto como se cierre el take profit, abrimos la siguiente orden en la misma dirección (en la tendencia), hasta que se acabe la tendencia y se cambie nuestro disparador. Si una orden aparece fuera de tendencia (en el momento en que la tendencia cambia de un estado a otro), debemos utilizar Martins con los ajustes del menú para ello.
Si quieres ayudar a escribir tal EA, te lo agradecería mucho.
Ahora en el tema:
Entiendo que en mi código del indicador en sí - no son búferes del indicador, pero las matrices de búferes y que - en el Asesor de Expertos los trajo en el indicador.
Entendí que en mis códigos del indicador mismo - no se encuentran los búferes del indicador, sino las matrices de los búferes y usted - en el Asesor Experto los trajo al indicador.
Por favor, indíqueme si lo he entendido bien.
Soy autodidacta y no soy capaz de explicarlo, sólo he seleccionado las funciones que necesito.
Básicamente copio los códigos de Vladimir Karputov, ¡muchas gracias! - Si tiene alguna pregunta, él se la dirá.
Por favor, dígame de qué clase heredar su clase para utilizar todos los métodos de estos
para utilizar todos los métodos de estas clases dentro de su clase, sin la creación de objetos dentro de su clase?
Heredar significa crear una clase.
Hola a todos!
Tengo un indicador - escrito en mql5 que me gustaría utilizar para crear un EA.
Cuando creo un EA, no encuentro los topes que necesito, parece que no los tengo.
Así es como lo hago yo:
{ //--- indicator buffers mapping SetIndexBuffer(2,BuyBuffer,INDICATOR_DATA); ResetLastError(); double handle3 = 0; double handle4 = 0; double UP = 0; double DW = 0; for (int i=1; i<11; i++) { UP = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,2,i); DW = iCustom(NULL,0,"StepMA_NRTR",Length,Kv,StepSize,Percentage,Switch,Shift,3,i); if (handle3==0) if (UP != EMPTY_VALUE) handle3=1; if (handle4==0) if (UP != EMPTY_VALUE) handle4=1; if (handle3>0 && handle4) break; } Comment(DoubleToString(handle3,Digits())+"\n"+DoubleToString(handle3,Digits())); return(INIT_SUCCEEDED); }No importa cómo cambie o añada una línea iCustom - sigo obteniendo lo mismo en el registro:
2021.06.26 17:59:42.251 Proba (EURUSD,M15) 1.00000
Y el comentario: 1,00000 y 1,00000 de nuevo.
Ayúdame a entender: ¿es adecuado para crear un EA, o tengo que refinarlo, o tal vez estoy haciendo algo mal?En MT5 se utiliza de manera diferente. Mira el ejemplo en la ayuda.
iCustom
Devuelve el asa del indicador personalizado especificado.
https://www.mql5.com/ru/docs/indicators/icustom
En MT5 se utiliza de manera diferente. Consulta el ejemplo en la ayuda.
iCustom
Devuelve el asa del indicador personalizado especificado.
https://www.mql5.com/ru/docs/indicators/icustom
Estoy empezando a programar y les pido que sean indulgentes conmigo.
Empiezo a sospechar que esto requiere una función adicional
Por favor, explique.... donde .... ¿y cómo....?
Hola a todos!
Tengo un indicador - escrito en mql5 que me gustaría utilizar para crear un EA.
Cuando creo un EA, no encuentro los topes que necesito, parece que no los tengo.
Así es como lo hago yo:
No importa cómo cambie o añada una línea iCustom - sigo obteniendo lo mismo en el registro:
2021.06.26 17:59:42.251 Proba (EURUSD,M15) 1.00000
Y el comentario: 1,00000 y 1,00000 de nuevo.
Ayúdame a entender: ¿es adecuado para crear un EA, o tengo que refinarlo, o tal vez estoy haciendo algo mal?Código:
Resultado:
Hola a todos!
Tengo un indicador - escrito en mql5 - que me gustaría utilizar para crear un EA.
Aquí lo hice - ¡parece que funciona! (donde el amarillo es para los topes)
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
También necesito un stop loss(no pude averiguar por qué se cerró inmediatamente).
Empiezo a sospechar que esto requiere una función extra
Así es. Conectas el indicador en OnInit, estableces los parámetros allí y obtienes su mango. Y luego usar el CopyBuffer.
https://www.mql5.com/ru/docs/series/copybuffer
He hecho esto - ¡parece que funciona! (donde el color amarillo es el de los topes)
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Resulta que necesito un stop loss- (no podía entender por qué se cerró inmediatamente) añadió un stop loss
¡¡¡Muchas gracias!!!
Hiciste un buen trabajo, pero estoy interesado en un algoritmo completamente diferente para el EA. Me gustaría utilizar una simple martingala (tamiz) con estos parámetros personalizables :
pero añádele el indicador que he puesto - arriba. Y utilícelo como disparador (falso - funciona sólo en CORTO y verdadero - funciona sólo en LARGO).
Elegí este indicador - sólo porque funciona como MovingAverages, pero tiene algunos filtros de suavizado y los puntos de cambio de dirección del precio, que puede ser utilizado como un disparador para el Asesor de Expertos para trabajar sólo en la tendencia utilizando la configuración de beneficios desde el menú.
Y tan pronto como se cierre el take profit, abrimos la siguiente orden en la misma dirección (en la tendencia), hasta que se acabe la tendencia y se cambie nuestro disparador. Si una orden aparece fuera de tendencia (en el momento en que la tendencia cambia de un estado a otro), debemos utilizar Martins con los ajustes del menú para ello.
Si quieres ayudar a escribir tal EA, te lo agradecería mucho.
Ahora el tema:
Soy autodidacta y no soy capaz de explicarlo, sólo he seleccionado las funciones que necesito.
Básicamente copio los códigos de Vladimir Karputov, ¡muchas gracias! - Si tiene alguna pregunta, él se la dirá.
¡Entiendo que se necesita un indicador para filtrar !
Debe pasar su Asesor Experto por este filtro