[¡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 273

 

Amigos, ¡¡¡ayuda por favor!!! No puedo escribir un código que abra una compra si el precio va de abajo a arriba de un determinado nivel, vender lo contrario. exactamente de dónde viene el precio. ¿es difícil?

 
petrostlt:

Amigos, ¡¡¡por favor, ayuda!!! No puedo escribir un código que abra una compra si el precio va desde la parte inferior hasta un determinado nivel, y para la venta - lo contrario. No puedo encontrar una manera de determinar si el precio viene de la parte inferior o superior.

Son posibles muchas variaciones.

Por ejemplo:

 double price1 = iClose(NULL,0,1);           // Цена закрытия последнего сформированного бара
 double price2 = iClose(NULL,0,2);           // Цена закрытия второго (предпоследнего) бара 
 double Level = 1.7658;                      // Какой-то уровень
 
 if(price1>Level && price2<Level)OrderSend(Symbol(),OP_BUY,......); // Если цена на предпоследнем баре была ниже уровня, 
                                                                    // а на последнем выше, то покупаем...
 if(price1<Level && price2>Level)OrderSend(Symbol(),OP_SELL,......);
 
DhP:

Son posibles muchas variaciones.

Por ejemplo:

double price1 = iClose(NULL,0,1);           // Цена закрытия последнего сформированного бара
 double price2 = iClose(NULL,0,2);           // Цена закрытия второго (предпоследнего) бара 
 double Level = 1.7658;                      // Какой-то уровень
 
 if(price1>Level && price2<Level)OrderSend(Symbol(),OP_BUY,......); // Если цена на предпоследнем баре была ниже уровня, 
                                                                    // а на последнем выше, то покупаем...
 if(price1<Level && price2>Level)OrderSend(Symbol(),OP_SELL,......);

¿Y si uno de los precios es igual al nivel?

¿Qué pasa con la barra de cero? Es el primero. Pero aún no se ha formado. Confundes a la persona. Entonces es así:

//----------------------------------------------------------------------------------------
int    dg=MarketInfo(Symbol(),MODE_DIGITS);
double price1 = iClose(NULL,0,1);           // Цена закрытия первого бара
double price2 = iClose(NULL,0,2);           // Цена закрытия второго бара 
double Level = 1.7658;                      // Какой-то уровень
 
   if (NormalizeDouble(price1-Level,dg)>0 && NormalizeDouble(Level-price2,dg)>=0) {
      // ... код открытия позиции Бай ...
      }
   if (NormalizeDouble(Level-price1,dg)>0 && NormalizeDouble(price2-Level,dg)>=0) {
      // ... код открытия позиции Селл ...
      }
//----------------------------------------------------------------------------------------
 
artmedia70:

¿Y si uno de los precios es igual al nivel?

¿Qué pasa con la barra de cero? Es el primero. Sólo que aún no está formado. Confundes el tema. Entonces se ve así:



Otra vez.

Hay muchas (!) variaciones.

Por cierto, la barra de cero no es la primera. Es cero, es decir, todavía no ha llegado.

 
¡Buenas noches! De repente encontré un montón de carpetas en mi disco C y una especie de C++, decidí instalar y ¡¡¡me pregunta algo!!! No soy bueno en inglés, no, entendí vagamente que, o bien el original en el sentido de alguna versión original, o algo allí mi equipo y no instalar por alguna razón ... En resumen, no entiendo.
 
Dimka-novitsek:
¡Buenas noches! De repente encontré un montón de carpetas y algo de C++ en mi disco C, decidí instalarlo y ¡¡¡me pide algo!!! No soy bueno en inglés, no, entendí vagamente que, o bien el original en el sentido de alguna versión original, o algo allí mi equipo y no instalar por alguna razón ... En resumen, no entiendo.

Seleccione una de las opciones:

Reparar - "reparar"/restaurar Visual C++ 2008

Desinstalar - eliminar Visual C++ 2008 de su ordenador

 
artmedia70:

¿Y si uno de los precios es igual al nivel?

¿Qué pasa con la barra de cero? Es el primero. Sólo que aún no está formado. Confundes el tema. Entonces ponlo de esta manera:

No tiene sentido normalizar los valores dobles para compararlos ya que los dos valores 1,778946 y 1,778949 serán iguales después de la normalización y esto es incorrecto ya que el primer valor es menor que el segundo.

Normalizar el doble sólo para enviar un comando al Distribuidor, pero no para el "consumo interno" - comparación de los dos valores.

 
Lo tengo!!! Muchas gracias!!!!¡¡Qué bueno que preguntaste!!!
 
Dimka-novitsek:
Lo tengo!!! Muchas gracias!!!!¡¡Qué bueno que preguntaste!!!
Siempre a su servicio...))
 
¡¡¡¡¡¡¡Muchas gracias por responder!!!!!!! Lo intentaré. GRACIAS )))))