Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 214

 
solnce600:

Eso es todo .... Ya me he devanado los sesos.

¿Adiviné mal la SEGUNDA CONDICIÓN?


He escrito un ejemplo SIN su código. Este es un ejemplo de dónde hay llaves { } y dónde no... Escribí qué líneas se ejecutarán y cuándo. Sólo quería que entendieras cómo organizar la lógica en tu código. NO TIENES LLAVES RIZADAS... Así que vea en mi ejemplo lo que sucede en este caso.

¡¡¡¡¡¡¡¡¡¡¡¡¡¡No es necesario adivinar!!!!!!!!!!!!!! Sólo trata de entender...

 
artmedia70:

He escrito un ejemplo SIN su código. Este es un ejemplo de dónde hay llaves { } y dónde no... Escribí qué líneas se ejecutarán y cuándo. Sólo quería que entendieras cómo organizar la lógica en tu código. NO TIENES LLAVES RIZADAS... Así que vea en mi ejemplo lo que sucede en este caso.

¡¡¡¡¡¡¡¡¡¡¡¡¡¡No es necesario adivinar!!!!!!!!!!!!!! Sólo trata de entender...


Muchas gracias. Mañana, con la cabeza despejada, intentaré poner las cosas en perspectiva.
 

Buenas noches, ¿podrían decirme cómo implementar la siguiente tarea?

Hay una entrada en una operación en ciertas condiciones. luego viene la acción, pero aquí está el problema, cómo hacer que la acción no se abra si el precio está más cerca de una cierta distancia de la operación anterior. Si el precio está más cerca de la entrada anterior (no importa si fue la primera o 5, 10, etc.) que 30 pips, entonces la orden no debería abrirse.

Gracias por las respuestas.

 
teplovoz:

Buenas noches, ¿podrían decirme cómo implementar la siguiente tarea?

Hay una entrada en una operación en ciertas condiciones. luego viene la acción, pero aquí está el problema, cómo hacer que la acción no se abra si el precio está más cerca de una cierta distancia de la operación anterior. Si el precio está más cerca de la entrada anterior (no importa si fue la primera o 5,10, etc.) que 30 pips, entonces la orden no debería abrirse.

Gracias por sus respuestas.

Entre el mercado y la posición más cercana, supongo que sí.

Función

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает расстояние в пунктах между рынком и ближайшей       |
//|             позицей                                                        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   ("" или NULL - текущий символ)          |
//|    op - торговая операция          (    -1      - любая позиция)           |
//|    mn - MagicNumber                (    -1      - любой магик)             |
//+----------------------------------------------------------------------------+
int DistMarketAndPos(string sy="", int op=-1, int mn=-1) {
  double d, p;
  int i, k=OrdersTotal(), r=1000000;

  if (sy=="" || sy=="0") sy=Symbol();
  p=MarketInfo(sy, MODE_POINT);
  if (p==0) if (StringFind(sy, "JPY")<0) p=0.0001; else p=0.01;
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy) && (op<0 || OrderType()==op)) {
        if (mn<0 || OrderMagicNumber()==mn) {
          if (OrderType()==OP_BUY) {
            d=MathAbs(MarketInfo(sy, MODE_ASK)-OrderOpenPrice())/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
          if (OrderType()==OP_SELL) {
            d=MathAbs(OrderOpenPrice()-MarketInfo(sy, MODE_BID))/p;
            if (r>d) r=NormalizeDouble(d, 0);
          }
        }
      }
    }
  }
  return(r);
}

Llame a

if(DistMarketAndPos()>30)
   {
//открываемся
   }
 
r772ra:
entre el mercado y la posición más cercana, supongo que sí.

Entiendo la lógica, ¿cómo calcular el precio de apertura de la última operación?
 
Adición anterior
 
Entiendo que el precio es devuelto por OrderOpenPrice()
Entiendo que el pedido se puede seleccionar con la función OrderSelect(), pero ¿cómo selecciono esta última?
 
r772ra:
Anexo anterior

no lo conseguí...
 
teplovoz:

No entiendo...


¿Entender qué, exactamente?

 
r772ra:


¿Qué es exactamente?


¿a qué se refiere con la adición anterior?

En general el significado es :

if(Oferta<=(N-30*Punto) && otra condición)

{

Abra una orden de venta;

}

N es el precio abierto de la última orden - ¿cómo lo sé?

Razón de la queja: