void OpenOrder(int db = -1){
if(db == -1){
Print("'db' должен иметь корректное значение");
return;
}
Order order;
//Если бид в границах ДБ (его хай/лоу) то инициализируем ордер для селстопа или байстопаif(Bid > db_last.low && Bid < db_last.hight){
if(db == BEAR) order.InitForSell(SELLSTOP);
if(db == BULL) order.InitForBuy(BUYSTOP);
}
...
if(order.is_init == true)
{
int order_send = OrderSend(Symbol(), order.cmd, 0.01, order.open_price, 10,
order.sl_price, order.tp_price, "", GetMagic(order), 0, order.arrow_color);
if(order_send == -1){
Print(order.error_text," | ",GetLastError()," db_last.third ",db_last.third,
" | db_last.size_open_to_low ",db_last.size_open_to_low," | order.sl_price: ",
order.sl_price," | order.cmd ",order.cmd);
ResetLastError();
return;
}
}
}
...
int GetMagic(Order &order)
{
int magic = 0;
//Если должен быть открыт стопордер и если есть уже открытые или отложенные //ордера, то возможно некоторые с маджиком, это надо проверить и сгенерировать //для нашего ордера уникальный маджикif(order.cmd == OP_SELLSTOP || order.cmd == OP_BUYSTOP)
if(OrdersTotal() >= 1)
for(;;){
magic++;
for(int i = OrdersTotal(); i > 0 ; i --)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) != false) //<------------ СЮДА НЕТ ВХОЖДЕНИЯif(magic != OrderMagicNumber())
return magic;
}
//Если нет открытых или отложенных ордеров то увеличиваем значение //маджика, чтобы он равнялся единицеelseif (OrdersTotal() == 0)
return (magic + 1);
return magic;
}
Buenas noches, escribí un indicador muy simple en el trabajo (archivo adjunto) Me gustaría aclarar si hay una manera de prescribir en el código en lugar de una línea roja y azul (RSI2 y RSI3 en la imagen (adjunto también), respectivamente) fue una sola línea - y fue rojo si RSI2>RSI3 y azul si RSI2 < RSI3
#property indicator_color2 Red
#property indicator_color3 Blue
externint RSIPERIOD=3;
externdouble KOEFF1=2.5;
externdouble KOEFF2=1.86;
double Buf0[],Buf1[],Buf2[];
double D10,D11,D12;
int init()
{
IndicatorDigits(0);
string short_name="RSITEST";
IndicatorShortName("RSITEST");
D10=RSIPERIOD;D11=D10*KOEFF1;D12=D11*KOEFF2;;
SetIndexBuffer(0,Buf0);
SetIndexLabel (0,"Stoch "+Ds_0(D10)+")\n");
SetIndexBuffer(1,Buf1);
SetIndexLabel (1,"Stoch ("+Ds_0(D11)+")\n");
SetIndexBuffer(2,Buf2);
SetIndexLabel (2,"Stoch ("+Ds_0(D12)+")\n");
return(0);
}
int start()
{
if(Bars<=RSIPERIOD) return(0);
int ExtCountedBars=IndicatorCounted();
if (ExtCountedBars<0) return(-1);
if (ExtCountedBars>0) ExtCountedBars--;
for(int i=0;i<Bars-RSIPERIOD;i++)
{
Buf0[i] = iRSI(NULL,0,D10,0,i);
Buf1[i] = iRSI(NULL,0,D11,0,i);
Buf2[i] = iRSI(NULL,0,D12,0,i);
}
return(0);
}
string Ds_0(double DOUBLE) {return(DoubleToStr(DOUBLE,0));}
Andrey Kipyatkov #: Buenas noches, escribí un indicador muy simple en el bole (archivo adjunto) Me gustaría aclarar si hay una manera de prescribir en el código en lugar de una línea roja y azul (RSI2 y RSI3 en la imagen (adjunto también), respectivamente) fue una sola línea - y fue rojo si RSI2>RSI3 y azul si RSI2 < RSI3
https://docs.mql4.com/ru/constants/namedconstants/otherconstants No veo realmente comoEMPTY_VALUE puede ayudarme. Tengo 3 arrays y cada uno da rsy si pongo EMPTY_VALUE simplemente no me da nada. mi tarea es escribir en el código en lugar de la línea roja y azul la misma línea - y será rojo siRSI2>RSI3 y azul siRSI2<RSI3
Andrey Kipyatkov #: https://docs.mql4.com/ru/constants/namedconstants/otherconstants No entiendo muy bien cómo me puede ayudarEMPTY_VALUE. Tengo 3 arrays, cada uno de ellos produce Rsai si pongo EMPTY_VALUE no me da nada. mi tarea es escribir en el código en lugar de la línea roja y azul la misma línea - y será rojo siRSI2>RSI3 y azul siRSI2<RSI3
Andrey Kipyatkov #: https://docs.mql4.com/ru/constants/namedconstants/otherconstants No veo realmente comoEMPTY_VALUE puede ayudarme. Tengo 3 arrays y cada uno da Rsai si pongo EMPTY_VALUE simplemente no me da nada. mi tarea es escribir en el código en lugar de la línea roja y azul la misma línea - y será rojo siRSI2>RSI3 y azul siRSI2<RSI3
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Buenas noches, escribí un indicador muy simple en el bole (archivo adjunto) Me gustaría aclarar si hay una manera de prescribir en el código en lugar de una línea roja y azul (RSI2 y RSI3 en la imagen (adjunto también), respectivamente) fue una sola línea - y fue rojo si RSI2>RSI3 y azul si RSI2 < RSI3
en mt5 puedes
En mt4 también :)
En mt4 también :)
EMPTY_VALUE
En mt4 también :)
https://docs.mql4.com/ru/constants/namedconstants/otherconstants No entiendo muy bien cómo me puede ayudarEMPTY_VALUE. Tengo 3 arrays, cada uno de ellos produce Rsai si pongo EMPTY_VALUE no me da nada. mi tarea es escribir en el código en lugar de la línea roja y azul la misma línea - y será rojo siRSI2>RSI3 y azul siRSI2<RSI3
https://docs.mql4.com/ru/constants/namedconstants/otherconstants No veo realmente comoEMPTY_VALUE puede ayudarme. Tengo 3 arrays y cada uno da Rsai si pongo EMPTY_VALUE simplemente no me da nada. mi tarea es escribir en el código en lugar de la línea roja y azul la misma línea - y será rojo siRSI2>RSI3 y azul siRSI2<RSI3
Cambia de color según tus necesidades
Cambia el color según tus necesidades
¿En serio?))
¿Lo has probado?