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

 
bool Val_max=true;
bool Cl_dn=true;
bool Val_min=true;
//лучше определиться где правда, а где ложь, ладн, будем считать все семафоры открытыми

void start()
  {
      if(Val_max==true)
         if(условие_1)
         {
           Alert("Значение инд. >= 1.0000 (исп. 1-е усл.)");
           Val_max=false;//считаем что первое условие выполнилось                                       //заглушка
         }
      if(Cl_dn==true && Val_max==false) //тут тоже более менее нормуль, второе условие проверяется если отметилось первое
         if(условие_2)
         {
           Alert("1 бар закрылся падением (исп. 2-е усл.)");
           Cl_dn=false;                                         //заглушка
         }
      if(Val_min==true && Val_max==false && Cl_dn==false)//третье будет проверяться только после наступления первых двух
         if(условие_3)
         {
           Alert("Значение инд. <= 0.9980 (исп. 3-е усл.)");
           Val_min=false;                                       //заглушка
         }
      if(Val_max!=true && Cl_dn!=true && Val_min!=true)
         {
           //здесь будет посылаться жирный ордер
           Val_max=true;
           Cl_dn=true;
           Val_min=true;      
         }   
//----
   return(0);
  }
¿Cuál es exactamente el problema? ¿Demasiado perezoso para ejecutarlo y comprobar cómo funcionará?
 
igid:
¿Quieres decir que tienes que ejecutar varios terminales simultáneamente y conectarte con diferentes nombres de usuario en cada terminal?

Sí, cada terminal tiene su propia cuenta de operaciones.
 
nadya:
¿Pueden decirme cómo dividir todos los pedidos en dos grupos cuando se abre cada uno de ellos para poder ver posteriormente a qué grupo pertenece cada pedido? (MAGIC no funcionará)

Al abrir una orden de este o aquel grupo, debe decidir por sí mismo - poner un comentario a la orden en un grupo, no en el otro. Luego se analizará si la orden tiene un comentario, y si es así, pertenecerá al primer grupo, y si no hay comentario, entonces pertenecerá al segundo.
 

Amigos, he intentado escribir un experto en primitivas, ¡pero tengo un inconveniente!

No hay manera de que mi lógica pueda llegar a ella...

Si alguien puede ayudar, los parámetros son los siguientes:

Secuencia de acciones:

1.Compruebe si hay órdenes abiertas y pendientes.

(si hay al menos una acción pendiente o abierta-no;

si hay 0 pedidos - paso 2).

2) Abra una orden BuyStop a 50 pips del precio actual, SL=50, TP=100 para Time=100 minutos.

3. Comienza.

Parámetros modificables:

Lotes

TakeProfit

StopLoss

TralingStop

Precio (número de puntos de distancia del precio actual al que se abrirá la orden pendiente)

Hora (hora de vencimiento de la orden pendiente)

¡Por favor, ayuda!

Gracias de antemano.

 
OlegArH:

Amigos, he intentado escribir un experto en primitivas, ¡pero tengo un inconveniente!

No hay forma de que mi lógica llegue a ella...

Si alguien puede ayudar, los parámetros son los siguientes:

Secuencia de acciones:

1.Compruebe si hay órdenes abiertas y pendientes.

(si hay al menos una acción pendiente o abierta-no;

si hay 0 pedidos - paso 2).

2) Abra una orden BuyStop a 50 pips del precio actual, SL=50, TP=100 para Time=100 minutos.

3. Comienza.

Parámetros modificables:

Lotes

TakeProfit

StopLoss

TralingStop

Precio (número de puntos de distancia del precio actual al que se abrirá la orden pendiente)

Hora (hora de vencimiento de la orden pendiente)

¡Por favor, ayuda!

Gracias de antemano.

¿Has leídoesta sección del libro de texto?
 
Roman.:
¿Has leído esta sección del libro de texto?

¡Ah!

Pero, al estar lejos de la programación, sólo tenía un sinfín de preguntas y malentendidos.

Mató todo el entusiasmo... (

 
OlegArH:

¡Ah!

Pero, al estar lejos de la programación, sólo tenía un sinfín de preguntas y malentendidos.

Mató todo el entusiasmo... (


En ese caso, remítase a los hilos correspondientes del foro, por ejemplo, aquí...
 

¿Pueden decirme cómo redondear el rsi a un número entero, y cómo puedo cambiar el período del rsi (por defecto es 14)?

Gracias

//+------------------------------------------------------------------+
//|                                                  RSI_to_File.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.ru/"

#property show_inputs
string SymbolsArray[11]={"","USDCHF","GBPUSD","EURUSD","USDJPY","CHFJPY","EURGBP","EURCHF","EURJPY","GBPJPY","GBPCHF"};

//+------------------------------------------------------------------+
//| string SymbolByNumber                                   |
//+------------------------------------------------------------------+
string GetSymbolString(int Number)
  {
//----
   string res="";
   res=SymbolsArray[Number];   
//----
   return(res);
  }

//+------------------------------------------------------------------+
//| возвращает период                                                |
//+------------------------------------------------------------------+
int PeriodNumber(int number)
   {
   int per_min;
   switch (number)
      {
     
      case 5: per_min=PERIOD_H4;break;
      default: per_min=PERIOD_D1;break;
      }
   return(per_min);   
   }

//+------------------------------------------------------------------+
//|   выводит в файл котировки + значения индикатора                 |
//+------------------------------------------------------------------+
void RSI_output(string SymbolName,int PeriodMinutes)
   {
   int size=iBars(SymbolName,PeriodMinutes);
//----
   if (size==0) return;
   int handle=FileOpen(SymbolName+PeriodMinutes+"_RSI.csv",FILE_WRITE|FILE_CSV);
   if (handle<0) return;
   FileWrite(handle,"Time;RSI");
   for (int i=size-1;i>=0;i--)
      {
      FileWrite(handle,TimeToStr(iTime(SymbolName,PeriodMinutes,i))
         ,iCustom(SymbolName,PeriodMinutes,"RSI",0,i));
      }
   FileClose(handle);      
//----
   return;
   }
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
  int SymbolCounter,PeriodCounter; 
//----
   for (SymbolCounter=1;SymbolCounter<13;SymbolCounter++)
      {
      for (PeriodCounter=2;PeriodCounter<=6;PeriodCounter++)
         {
         //Print("NewBar on ",GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter),"M");
         RSI_output(GetSymbolString(SymbolCounter),PeriodNumber(PeriodCounter));
         }
      }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
Buenas tardes, tengo un extraño error 4023 al llamar a una función de una dll autoescrita, y una función de la dll se llama normalmente, la otra no, qué es este error, no he podido encontrar una descripción del mismo, ayuda por favor.
 
splxgf:
buscar #propiedad indicador_color1 Rojo


No está en el código (el mío). o debería estar prescrito? para los 6? Publicaré el código si lo necesitas.

p.d. Debo haberme expresado mal. El Asesor Experto está escrito usando el indicador MA estándar (6 variables, respectivamente 6 líneas), sin usar las personalizadas. Después de probar el Asesor Experto y llamar al gráfico, veo 6 líneas rojas. ¿Tengo que crear uno personalizado? ¿O hay una línea para asignar colores a las líneas del indicador estándar?