[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 9

 
¿Qué en mql4 es una buena manera de limitar las pérdidas (detener el EA) si todo salió mal? He inventado sólo para restablecer el valor máximo de AccountEquity() en el archivo ini de vez en cuando y dejar de operar si el valor actual de AccountEquity() es menor por algún porcentaje definido que el guardado. Por favor, avisa.
 
igrok2008 писал(а) >>
Los ejemplos anteriores describen el código de compra y venta para CCI, RSI y WPR. ¿Por qué se utilizan exactamente estos indicadores? En mi opinión son los más fáciles de aprender a construir un Asesor Experto. El principio de compra y venta es el mismo para ellos. menos de -100 (para CCI), -70 (para RSI) y 20 (para WPR), respectivamente la venta será: +100, -30 y 80. Me parece (cruzado más de una vez) que los errores están en las condiciones comerciales, pero donde no entiendo..... Se trata del principio de ESCRIBIR correctamente las condiciones de negociación (eso creo).............. Eso es lo que quería preguntarte........
double CCI = NormalizeDouble(iCCI(NULL, 0,Period,PRICE_CLOSE,1), Digits);

if(CCI[1] > -100)
Un momento, ¿de dónde viene este SSI[1]?
resulta que el código no se compila, por lo que no hay compilación está mal?
 
MuruFigi писал(а) >>
¿Qué en mql4 es una buena manera de limitar las pérdidas (detener el EA) si todo salió mal? He inventado sólo para restablecer el valor máximo de AccountEquity() en el archivo ini de vez en cuando y si el valor actual de AccountEquity() es menor en algún porcentaje definido que el guardado, entonces deja de operar. Por favor, avisa.

Busque el indicador de equidad y equilibrio por parte de Surgeon. Está en CodeBase.

 
Korey >> :
Un momento, ¿dónde está CCI[1]?
resulta que el código no pasa la compilación, es decir, la ausencia de compilación está mal?

CCI[1]es el CCI de la primera barra.

¿Qué es la compilación? Compilar un EA (indicador, script) es lo que se hace en el metaeditor pulsando F5 (compilar) ??????????

Creo que, porque la primera barra aún no se ha formado, por lo que el cálculo debe hacerse en la primera barra. De ahí la CCI[1]. En qué me equivoco??????

 
igrok2008 >> :

>> en qué me equivoco??????

En todo. Los consejeros ya se han dispersado y se han dado cuenta de que todavía hay que leer un libro de texto para captar los conceptos básicos. De lo contrario, no habrá conversación.

Por ejemplo, CCI[1] hasta un "programador" como yo lo lee como una llamada a una celda de un array llamado CCI e indexado [1]. ¿Qué quieres decir con eso?

 
granit77 >> :

En todo. Los consejeros ya se han dispersado y se han dado cuenta de que todavía hay que leer un libro de texto para captar los conceptos básicos. De lo contrario, la conversación no funcionará.

Por ejemplo, incluso un "programador" como yo lee CCI[1] como una llamada de una celda del array con nombre CCI e índice [1]. ¿Qué quieres decir con eso?

Más o menos lo mismo. ¿Qué tal el enlace al tutorial? O es el tutorial MQL4 "MQL4Bookrussian"??????????????

 
igrok2008 >> :

Más o menos lo mismo.

¿Qué tal un enlace a un libro de texto? O quizás sea el tutorial de MQL4 "MQL4Bookrussian"???????????????

1. Si es el mismo, ¿dónde y por qué declaraste (creaste) este array? Puedes llamar a algo que existe.

2. Enlace al Tutorial en la parte superior de la página. Personalmente, los artículos de Rosh me parecen más adecuados.

 
granit77 >> :

1. Si es lo mismo, ¿dónde y por qué declaró (creó) esta matriz? Puedes llamar a lo que exista.

2. Enlace del libro de texto en la parte superior de la página. Personalmente, los artículos de Rosh me parecen más adecuados.

1 entrada CCI[1]>-100 es una condición para comprar

2 leer (superficialmente sin embargo) el tutorial, leer hasta 30 páginas de funciones útiles KimIV, leer artículos "para tontos" y en ninguna parte para encontrar la respuesta a la pregunta POR QUÉ la condición de token DEBE ser escrito de esta manera si(mierda saber qué<*****&& mierda saber cómo>******). Por qué debería serlo.

tratat AND trat, no sólo if(trat<******). Eso es lo que no me queda claro. Por supuesto vinin me explicó antes (para MA) claramente lo que es, PERO POR QUÉ DEBE USAR lógico Y ..... inexplicado.................

Todavía no he llegado a los artículos de Rosha, gracias por el consejo.............

 
igrok2008 >> :

1 entrada CCI[1]>100 es una condición de compra

Por qué debe ser tratata Y trututu y no sólo si(tratata<******). Eso es lo que no me queda claro. Por supuesto vinin me explicó antes (para MA) inteligentemente lo que es, PERO POR QUÉ TIENE QUE USAR la lógica Y ..... inexplicado........

1. No se trata de qué tipo de condición es, sino de qué estás comparando y con qué. Usted cree que está comparando el valor del indicador CCI con el nivel, mientras que en lugar del indicador está escribiendo el valor de una celda de un array personalizado inexistente e innecesario CCI[] que simplemente tiene el mismo nombre, es decir, espacio vacío. Este es un error grave que el compilador no podrá compilar.

2. Si está tomando una señal de un indicador de flecha en el que aparece un valor sólo cuando se produce una condición, está escribiendo:

if(trata>0) enter; Esto es porque la señal es discreta, si no hay flecha el buffer está vacío y no hay nada más que comprobar

Si se hace un seguimiento de la línea indicadora que cruza un determinado nivel (el buffer está lleno de línea, la señal es analógica), entonces esta escritura if(trata>nivel) provocará la entrada de señal continua mientras la línea indicadora esté por encima del nivel. Pero eso no es lo que quieres, quieres recibir una señal en el momento de cruzar. Y el momento del cruce se capta precisamente a través de la tratata y la trutata.

Es decir, leemos y escribimos en las variables los valores del CCI en la barra cero y en la primera barra. Comprobamos si el CCI era más alto en la primera barra (anterior). Si el CCI en la barra cero ya ha caído por debajo de este nivel, entonces hemos tenido un cruce. Si se combinan estas dos condiciones con un AND lógico, se obtiene una única señal cruzada.

//объявляем переменную cci_0 и присваиваем ей значение индикатора CCI на нулевом (текущем) баре
double cci_0=iCCI(NULL,0, CCIperiod, CCIprice,0);
//объявляем переменную cci_1 и присваиваем ей значение индикатора CCI на первом (предыдущем) баре
double cci_1=iCCI(NULL,0, CCIperiod, CCIprice,1);
//если значение индикатора CCI на нулевом (текущем) баре уже меньше уровня 100
//а предыдущее его значение (на первом баре) было больше уровня 100
//значит произошло пересечение, и мы даем сигнал на продажу
if( cci_0<100 && cci_1>100) SignalSell=true;
 
granit77 >> :

1. No se trata de qué condición es, sino de qué estás comparando y con qué. Crees que estás comparando con el nivel del indicador CCI pero en lugar del indicador estás escribiendo el valor de una celda de un array personalizado inexistente e innecesario CCI[] que simplemente tiene el mismo nombre, es decir, espacio vacío. Esto es un error grave que el compilador no podrá compilar.

2. Si está tomando una señal de un indicador de flecha en el que aparece un valor sólo cuando se produce una condición, está escribiendo:

if(tratata>0) enter; Esto es porque la señal es discreta, si no hay flecha, el buffer está vacío y no hay nada más que comprobar

Si se hace un seguimiento de la línea indicadora que cruza un determinado nivel (el buffer está lleno de línea, la señal es analógica), entonces esta escritura if(trata>nivel) provocará la entrada de señal continua mientras la línea indicadora esté por encima del nivel. Pero eso no es lo que quieres, quieres recibir una señal en el momento de cruzar. Y el momento del cruce se capta precisamente a través de la tratata y la trutata.

Es decir, leemos y escribimos en las variables los valores del CCI en la barra cero y en la barra uno. Comprobamos si el CCI era más alto en la primera barra (anterior). Si el CCI en la barra cero ya ha caído por debajo de este nivel, entonces hemos tenido un cruce. Si se combinan estas dos condiciones mediante el AND lógico, se obtiene una única señal cruzada.

wo......Wo.......Wo.............. entender.... entienden.....shaz esta tarde voy a responder GRACIAS a granit77. Incluso a primera vista, puedes ver que tienes una paciencia angelical,

no como los profesores de la escuela de hoy.....