[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 321

 
Boneshapper:

Cuando escribo esto, no escribo Flag=0 delante de la condición, porque entonces se actualizará cada vez antes de una transacción y será siempre 0. Si no especificamos un valor, por ejemplo sólo int Flag, el programa le asignará 0, ¿no?

Te escribí un código en el que Flag está fuera de la función de inicio, no dentro de ella. Si lo pones dentro, es inútil.
 
Roger:

Qué raro, el código funciona. ¿Tal vez lo pusiste en el lugar equivocado?
Lo he descubierto, el valor de Flag se daba dentro del if, y por qué lo perdía al salir de él.He puesto la variable de tipo estático int Flag.Ahora todo funciona
 
Roger:

Te escribí un código en el que Flag está fuera de la función de inicio, no dentro. Si lo pones dentro, es inútil.

Lo siento, escribí una respuesta, pero no vi tu respuesta.
Sí, sí, tienes razón. Ese es exactamente mi error. Pero la salida era usar Static.

Muchas gracias por todo.

 

¡Buenas noches!

¿Puede decirme, por favor, si existe una función

int start()
{
OrderSend (Symbol(), OP_SELL, Loot,Bid, 50, SL, TP,NULL,1001,0,L);
if (OrderSelect(1001, SELECT_BY_TICKET)== true)
int Ticket = OrderTicket ();
Alert ("Ticket =",Ticket);
OrderClose(Ticket,Loot,Ask,50,R);
}

No entiendo muy bien cómo utilizar el parámetro mágico en la función ordersend para buscar un pedido con este número?

Y cuando se utiliza la función

bool OrderSelect( int índice, int selección)
Opción SELECT_BY_TICKET, ¿qué índice debemos establecer?

 

Para poder utilizar un mago, primero hay que configurarlo, como el tuyo, y luego comprobar su presencia cuando pasas de ronda

int start()
{
OrderSend (Symbol(), OP_SELL, Loot,Bid, 50, SL, TP,NULL,1001,0,L);
//...
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if(OrderMagic()==1001)
{

Alert ("Ticket =",OrderTicket()); 
OrderClose(OrderTicket(),Loot,Ask,50,R); 
}}}
 

¡¡¡Hola a todos!!!

Tengo una pregunta: ¿Es posible acceder al historial de operaciones desde un Asesor Experto (MQL4)?

Es decir, que el acuerdo anterior no era rentable y el anterior era rentable, y así sucesivamente durante 10 acuerdos a lo largo de la historia?

Es necesario para MM, ya que el Asesor Experto tiene una serie de operaciones rentables después de una operación con grandes pérdidas.

Tengo una idea: después de una operación perdedora, empieza a aumentar tu posición, por ejemplo, en tres o cinco operaciones consecutivas y espera a la siguiente

y esperar a la siguiente operación perdedora.

 

No toques a todo el mundo, todavía están durmiendo, después de todo es sábado.

El acceso puede ser organizado, busque en codebase los EAs con la palabra de control "martingale" (martingala).

 
Tatar:

¡¡¡Hola a todos!!!

Tengo una pregunta: ¿Es posible acceder al historial de operaciones desde un Asesor Experto (MQL4)?

Es decir, que el acuerdo anterior no era rentable y el anterior era rentable, y así sucesivamente durante 10 acuerdos a lo largo de la historia?

Es necesario para MM, ya que el Asesor Experto tiene una serie de operaciones rentables después de una operación con grandes pérdidas.

Tengo una idea: después de una operación perdedora, empieza a aumentar tu posición, por ejemplo, en tres o cinco operaciones consecutivas y espera a la siguiente

una operación perdedora.


Por supuesto que es posible. Mire aquí - puede tomar la base para usted y ajustarla a sus condiciones de comercio.

Este es un ejemplo de organización de las posiciones según los resultados de la última orden cerrada (la más reciente en el historial de órdenes - así es como se organiza en mi sistema)

//---Поиск последнего отработавшего ордера для открытия очередной позиции ---
   
   for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
   {   
      if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
      {
         Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
         continue;
      }
   
      if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
      {
         continue;
      }
      
        
   //-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------
if(time<OrderCloseTime())     //(сравниваем его с хранящимся в пероеменной time) 
  {
    time=OrderCloseTime();     //если время закрытия ордера больше - ложим его в переменную
         
         
     
         int lastType = OrderType();
         double lastLots = OrderLots();
         double lastProfit = OrderProfit() + OrderSwap();
         
        // Print ("lastProfit = ", NormalizeDouble(lastProfit, 1));
         
       
         
         // Анализ только что закрывшегося ордера
      
         if (lastProfit >= 0.0)
         {.... Здесь действия, при положительном профите ордера...
 .....
......
......
 
 
artmedia70:

double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

Cálculo de la media móvil.
Parámetros:
símbolo - Nombre del símbolo, sobre cuyos datos se calculará el indicador. NULL significa símbolo actual.
marco temporal - Período. Puede ser uno de los períodos del gráfico. 0 significa el período del gráfico actual.
período - Periodo de promediación para el cálculo de la media móvil.
ma_shift - Desplazamiento del indicador en relación con el gráfico de precios.
ma_method - Método de promediación. Puede ser cualquiera de los valores de los métodos de Media Móvil.
precio_aplicado - Precio utilizado. Puede ser cualquiera de las constantes de precio.
turno - Índice del valor obtenido del búfer del indicador (desplazamiento relativo a la barra actual en el número de períodos especificado hacia atrás).


Como ves ma_shift es un entero (número de barras en las que la línea МАшки se desplaza a la derecha o a la izquierda). Y +/-0,21% es el doble, así que no funcionará.

¿Entiendo lo que quieres?

Lo has entendido todo bien. Es que Rumus (Forex Club) tiene tal posibilidad y este "sobre" es la base de TS "Intraday Conservative Scalping". Quería hacer lo mismo con MT4. Pero tal y como lo has explicado no es así :)

 

Rimlyanin:

Lo has entendido todo correctamente. Es que Rumus (Forex Club) tiene una oportunidad así y este "sobre" es la base de la TS "Conservative Intraday Scalping". Quería hacer lo mismo con MT4. Pero tal y como lo has explicado no es el destino :)

Eres un incomprendido.

Si necesita un sobre, la MA se desplaza hacia arriba y hacia abajo.

El MA es un desplazamiento hacia la izquierda, hacia la derecha (como en Alligator).