[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 106

 
vovan-gogan:
Amigos, ayuda: Tengo una condición en mi EA que consiste en abrir una posición de compra sólo si el mínimo de la vela anterior está por debajo de todos los mínimos de las 40 velas anteriores. La pregunta: ¿cómo implementar esta enumeración de los mínimos de las velas anteriores y averiguar si el mínimo de la vela anterior estaba por debajo del mínimo de la vela anterior? Se lo agradezco de antemano.
int TotalBars = 40; // Общее количество свечей по которым нужно осуществлять перебор
double max=0.0;
double min=100.0;
for(int n=0; n<TotalBars; n++)
  {
  if(High[n]>max) max=High[n];
  if(Low[n]<min) min=Low[n];
  }
MessageBox("Maximum="+max+" Minimum="+min);
 
langolier:

Ai gracias)
 
langolier:

Mmm... Este es el problema... Los datos deben actualizarse con cada nuevo tick y sólo para las últimas 30 barras... Por alguna razón guardo los datos
 
sergeev:

¡Ayúdame a encontrar un error!


10
mamba5 18.08.2011 14:23

Estoy escribiendo un EA basado en la estrategia "Black MACD":


Par de divisas: cualquiera

Plazo: 15 y más.

Indicadores: EMA(3) EMA(18), RSI(14), MACD(12,26,9)

Eliminar la línea de señal del indicador MACD, todos los indicadores se aplican al indicador de precio de cierre.

Señal de entrada de compra: EMA(3) cruza EMA(18) de abajo hacia arriba, esperar que el MACD muestre el lado positivo. Si el RSI(14) está por encima del nivel 50, entonces compra. El stop-loss se fija en el último mínimo local. Salga de la operación invirtiendo el cruce de la EMA, o utilice su propio enfoque.

Señal de venta: Situación inversa: Cruce de EMA(3) EMA(18) a la baja, esperar que el MACD sea negativo. Si el RSI(14) está por debajo de 50, entonces compra. El stop-loss se fija en el último máximo.


Al compilar el código dice que falta un paréntesis. Después de una larga búsqueda parecía haber encontrado donde debía estar, pero después de arreglar el error me salieron otros 20-30 nuevos fallos. Por favor, aconséjeme dónde me lo he perdido. ))) El código está en el archivo adjunto.

Archivos adjuntos:
BlackvMACD.mq4 (5.21 KB) borrar
Se han corregido los errores de compilación. No he investigado la corrección del algoritmo de aplicación de la estrategia.
Archivos adjuntos:
 
first_may:


Leer: https://book.mql4.com/ru/variables/arrays . Resulta que puedo organizar una matriz bidimensional para tres pares: double Mas_d[3][2] = {1, 0, 2, 0, 3,0};

teniendo en cuenta que:

el valor de Mas_d[1][1] corresponde, por ejemplo, al par AUDCAD, y Mas_d[1][2] es el valor de este par;

el valor de Mas_d[2][1] corresponde por ejemplo al par AUDCHF y Mas_d[2][2] es el valor de este par;

El valor de Mas_d[3][1] corresponde, por ejemplo, a AUDJPY, y Mas_d[3][2] es el valor de este par,

los elementos del array conservan sus valores entre ticks. Y entonces podré cambiar los valores de los elementos del array según el criterio que necesite. ¿He entendido bien lo que quiere decir? :)

Sí. El enfoque puede no ser el mejor, pero cada uno lo elige por sí mismo. Y luego, si es necesario, modernizarlo y optimizarlo. :))

Estoy en proceso de modernizar mi enfoque. En algunos casos no es conveniente. :D

 
MaxZ:

Sí. El enfoque puede no ser el mejor, pero cada uno lo elige por sí mismo. Y luego, si es necesario, modernizarlo y optimizarlo. :))

Estoy en proceso de modernizar mi enfoque. En algunos casos no es conveniente. :D

Soy un principiante y traté de escribir un Asesor Experto de prueba, pero tengo un error al compilarlo " \end_of_program' - ending bracket '}' expected C:\gram Files\ForexClub MT4\experts\trsi01.mq4 (30, 3)" Sé que lo escribí mal, ¿podría decirme dónde me equivoqué?

//+------------------------------------------------------------------+
//|| trsi01.mq4 ||
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net"

doble StopLoss=30;

doble TakeProfit=100;

doble Lotes=0,1;

return(0);


int inicio()
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)<30)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point)
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)>70)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point);
{
return(0);
{

 
acoman:

Soy un principiante y traté de escribir un Asesor Experto de prueba, pero cuando lo compilo me da el error "\end_of_program' - ending bracket '}' expected C:\gram Files\ForexClub MT4\experts\trsi01.mq4 (30, 3)" Sé que lo escribí mal, ¿podría decirme dónde está el error?

//+------------------------------------------------------------------+
//|| trsi01.mq4 ||
//| Copyright © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net"

doble StopLoss=30;

doble TakeProfit=100;

doble Lotes=0,1;

return(0);


int inicio()
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)<30)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point)
{
if(iRSI(NULL,0,8,PRICE_CLOSE,0)>70)
{
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point);
{
return(0);
{


El error es que no has leído el manual de principio a fin. Si es que lo has abierto.

Pero es evidente que te has saltado esta sección: Operador condicional if - else.

Sería mejor que leyeras el libro de principio a fin.

 
Gracias, lo tendré en cuenta :). ¿Pueden indicar cuál es el stop loss mínimo para un par de divisas específico? Por ejemplo, en el caso del EURAUD, no se puede colocar un stop loss inferior a 100 pips, ¿y en los demás?
 
first_may:
Gracias, lo tendré en cuenta :). ¿Puede decirme, por favor, qué stop-loss mínimo tiene un par de divisas específico? Por ejemplo EURAUD - no se puede establecer un stop loss inferior a 100 pips para EURAUD, ¿y para los demás?

https://book.mql4.com/ru/appendix/marketinfo

MODE_STOPLEVEL 14 Nivel mínimo permitido de stop loss/take profit en pips
 

¿Cómo se forma un número binario, por ejemplo, de 7 dígitos? ¿Y cómo se puede convertir (por comodidad) en un número decimal?

Razón de la queja: