[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 457

 

Buenas tardes a todos.

Puedes describir en el código cómo colocar órdenes en una cuenta de trabajo desde el terminal "inversor" en paralelo.

No tendría que transferirlos manualmente.

El código no debería tener que ser transferido manualmente.

 
gvi2504 >>:

Добрый день всем.

Вопрос на засыпку.Можно описать в коде, чтобы параллельно выставлялись ордера на рабочем счете, с терминала "инвестор".

Что-бы не переносить в ручную.

Спасибо.


el copiador de acuerdos se llama. hay uno en el sitio web en el codebase.
 
fragile86 >>:


if (Bid > MA1 || Bid < MA2) // Проверка прохода диапазона
{
Alert("Цена находится за пределами диапазона.");// Сообщение
}

то если цена находится выше советник то и дело сигналит. а если я делаю так:

señalará porque tiene una condición o ( || )

debe poner AND ( && ).

// Проверка прохода диапазона с возможным размещением МА друг относительно друга
if (Bid> MA1 && Bid< MA2) || (Bid< MA1 && Bid> MA2)) 
{

y aquí


if (Bid > MA1 && Fact_Up==true) // Comprobar el pase al alza
{
Fact_Dn=true; // Informar de un precio por encima de la MA1
Fact_Up=false; // No informar del precio por debajo de la MA1
Alert("El precio está por encima del rango");// Mensaje
}
//--------------------------------------------------------------------
if (Bid < MA2 && Fact_Dn==true) // Comprueba si hay un movimiento a la baja
{
Fact_Up=true; // Informar de un precio por debajo de la MA2
Fact_Dn=false; // No informar de un precio por encima de la MA2
Alert("El precio está por debajo del rango");// Mensaje
}

El autor ha querido decir que la señal debe darse una sola vez. Y entonces la bandera se restablece inmediatamente a Falso, y hasta que el precio esté por debajo de la MA2 no aparecerá la señal hacia el lado pasado.

 
sergeev >>:


копировщик сделок назвывается. на сайте в кодебазе есть.

Gracias.

 
sergeev писал(а) >>

señalará porque tiene una condición o ( || )

debe poner AND ( && ).

y aquí

lo que el autor quiso decir es que sólo hay que señalar una vez. Y entonces la bandera se restablece inmediatamente a Falso y hasta que el precio sea menor que MA2 la señal hacia el lado pasado ya no aparecerá.

Gracias por la respuesta. lo único que me confunde es esto: si (Oferta> MA1 && Oferta< MA2) || (Oferta< MA1 && Oferta> MA2))

Tengo dos MAs, una (MA1) se traza a lo largo de High, la otra (MA2) a lo largo de Low. Pero aquí resulta que la condición se cumple cuando el precio es mayor que High y simultáneamente menor que Low si se pone &&.

Tal vez me equivoque, pero mi lectura de esta línea es: Si el precio está por encima de МА1 y por debajo de МА2 o por debajo de МА1 y por encima de МА2, entonces...

ahora lo escribí así:

if (Bid > MA1 && Open < MA1) // Проверка прохода диапазона вверх
{
Alert("Цена находится выше диапазона.");// Сообщение
}
else
{
if (Bid < MA2 && Open > MA2) // Проверка прохода диапазона вниз
{
Alert("Цена находится ниже диапазона.");// Сообщение
}
}

En este caso, tan pronto como la barra abierta dentro del rango cruza la MA, el EA da una señal, pero continúa dándola cada vez que llega un nuevo tick. y trato de hacer que no la dé en los siguientes ticks después de que la señal haya aparecido. (No juzgues, no se me da muy bien)
 
Si quiero conseguir una posición inversa en mi cuenta, en lugar de vender - comprar, en lugar de TP - SL, en lugar de SL - TP, con operaciones pendientes según el mismo esquema, estaré muy agradecido, pero dentro de unos límites razonables.
 

Amigos, ayuda con OrderType(), se niega a funcionar después de ella, está bien sin ella. ¿Cuál puede ser el error?

if(z==1){
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
double pbt=OrderOpenPrice();
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
double pst=OrderOpenPrice();
double veha1=(pbt-pst+kon)*10000;
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && c==0){ <--------------------------------------------------------------------------------------------
Print("Work ", veha1);
b11=OrderSend(Symbol(),OP_BUYSTOP,Lots,pbt+Point*10,3,0,0, "b11",1,0,Blue);
s2=OrderSend(Symbol(),OP_SELLSTOP,Lots,pst-Point*10,3,0,0, "s2",2,0,Red);
OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*40,Ask-Point*veha1,0,Red);
c=1;
}

Gracias de antemano.

 
if( z==1)
{
   OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
   double pbt=OrderOpenPrice();
   OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
   double pst=OrderOpenPrice();
   double veha1=( pbt- pst+ kon)*10000;
   OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
   if(OrderType()==OP_SELL && c==0)
   { <--------------------------------------------------------------------------------------------
      Print("Работоспособность ", veha1);
      b11=OrderSend(Symbol(),OP_BUYSTOP, Lots, pbt+Point*10,3,0,0, "b11",1,0,Blue);
      s2=OrderSend(Symbol(),OP_SELLSTOP, Lots, pst-Point*10,3,0,0, "s2",2,0,Red);
      OrderSelect(1, SELECT_BY_POS, MODE_TRADES);
      OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*40,Ask-Point* veha1,0,Red);
      c=1;
   }
}
¿Qué tipo de órdenes abre, no las pendientes?
 

{ <--------------------------------------------------------------------------------------------

Este, ¿qué demonios es?

 

Sí, abro un colgante. Cuando sale al mercado, se abre 1 más y cambian los existentes en el mercado.

{ <--------------------------------------------------------------------------------------------

Esto, ¿qué demonios es esto?

acaba de mostrarme dónde está el problema=)