Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 831

 

Hola.


He visto muchas soluciones para enviar señales a Telegram a través de un bot. ¿Es posible hacer lo contrario? ¿Recibir las señales de Telegram para ejecutarlas en MT4? Por favor, envíenme el enlace si hay algo similar.

 
sahsa-777:
Y una pregunta relacionada: ¿hay alguna forma de acoplar la parabólica a la nueva versión, tal vez como un filtro?

Por favor, muéstrame la nueva versión de la parabólica.

 
¿Se puede hacer la detracción en función?
   prosadka=AccountProfit()*100/AccountBalance()*-1;
   if(prosadka>0) prosadka1=prosadka;
   else prosadka1=0;
 
¿Cuál es el error nº 1 al modificar un pedido? En la ayuda, dice "no hay error, pero el resultado no se conoce". No puedo entender lo que debo corregir
 
Alexandr Sokolov:
¿Cuál es el error nº 1 al modificar un pedido? La ayuda dice que "no hay error pero el resultado es desconocido". No puedo entender lo que debo corregir

este error se produce si durante la modificación de la orden ha enviado al servidor los mismos valores que la orden, es decir, TRnova = TRsetted y SLnova = SLsetted

Recuerda que si comparas valores reales no normalizados en la igualdad, puede que no obtengas el resultado que esperabas ;)

 
Igor Makanu:

este error se produce si durante la modificación de la orden ha enviado al servidor los mismos valores que la orden, es decir, ТР new = ТР set y SL new = SL set

HH: no olvides que si comparas valores reales no normalizados para la igualdad, puede que no obtengas el resultado que esperabas ;)

¿y si es sólo uno de ellos? o ¿hay que cambiar los dos a la vez?

 
Alexandr Sokolov:

¿y si es sólo uno de ellos? o ¿hay que cambiar los dos a la vez?

hay que cambiar al menos un parámetro al modificar un pedido, error nº 1 - si no hay que cambiar nada después de enviar una solicitud al servidor

desimprima lo que está enviando al servidor, verá de inmediato

 
Igor Makanu:

hay que cambiar al menos un parámetro al modificar un pedido, error nº 1 - si no hay que cambiar nada después de enviar una solicitud al servidor

desimprime lo que está enviando al servidor, lo verá de inmediato.

Gracias

 

Buenas tardes Expertos.

Hay un problema, hay un indicador(sobres modificados). Se inserta en el Asesor Experto.

No puedo hacer que aparezca la representación.

He prescrito los valores del Indicador:

//************************************************************************************************/
#property indicator_chart_window
#property  indicator_buffers 4

#property  indicator_color1  Red
#property  indicator_color2  Blue
#property  indicator_color3  Red
#property  indicator_color4  Blue

#property  indicator_width1  2
#property  indicator_width2  2
#property  indicator_width3  1
#property  indicator_width4  1

#property  indicator_style1  0
#property  indicator_style2  0
#property  indicator_style3  1
#property  indicator_style4  1

double ExtSell_Buffer[];
double ExtBuy_Buffer[];
double ExtSell_2_Buffer[];
double ExtBuy_2_Buffer[];
//************************************************************************************************/

He hecho la inicialización:

//************************************************************************************************/
int OnInit()
{
  //--- drawing settings-----------
   IndicatorBuffers(4);
   IndicatorDigits(Digits);
//--- 
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtSell_Buffer);
   SetIndexShift(0,Ma_Shift);
   SetIndexLabel(0,"Line_Sell");
//--- 
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtBuy_Buffer);
   SetIndexShift(1,Ma_Shift);
   SetIndexLabel(1,"Line_Buy");
   //------------------------------
//--- 
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2,ExtSell_2_Buffer);
   SetIndexShift(2,Ma_Shift);
   SetIndexLabel(2,"Line_Sell_2");
//--- 
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3,ExtBuy_2_Buffer);
   SetIndexShift(3,Ma_Shift);
   SetIndexLabel(3,"Line_Buy_2");
//------------------------------
   return(INIT_SUCCEEDED);
}
//************************************************************************************************/

Luego trato de llenar los buffers en el código:

//************************************************************************************************/
void OnTick()
{
Paint ();
}

//************************************************************************************************/
void Paint()
{
//-----------------------------------------------
int limit; 
int counted_bars=IndicatorCounted(); 
//---- последний посчитанный бар будет пересчитан 
if(counted_bars>0) counted_bars--; 
limit=Bars-counted_bars; 
//---- основной цикл 
for(int i=0; i<limit; i++) 
   { 
      ExtSell_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation, 1, i); 
      ExtBuy_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation, 2, i);

      ExtSell_2_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation_2, 1, i); 
      ExtBuy_2_Buffer[i]=iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation_2, 2, i);
   }
   return;
}
//-----------------------------------------------

La compilación va sin errores, pero en el arranque da error "array out of range" y se detiene (el pase de prueba se detuvo debido a un error crítico en el EA).

Ayuda para arreglar ...

p.s. El Indicador Separado funciona sin errores.

 
Alexander Layzerevich:

Buenas tardes Expertos.

Hay un problema, hay un indicador (sobres modificados). Se inserta en el Asesor Experto.

No puedo hacer que aparezca el dibujo.

Los Asesores Expertos no tienen buffers de indicadores y no dibujan en el terminal

lea en la ayuda cuál es la diferencia entre Asesores Expertos y scripts e indicadores

Razón de la queja: