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

 
AlexeyVik:
¿Puede un billete ser igual a cero?

De la documentación sobre OrderSend():

.......

Valor de retorno

Devuelve el número de ticket asignado a la orden por el servidor de comercio o -1 en caso de fallo. Para obtener la información del error, llame a GetLastError().

 
Sepulca:

De la documentación sobre OrderSend():

.......

Valor devuelto

Devuelve el número de ticket asignado a la orden por el servidor de comercio o -1 en caso de fallo. Para obtener la información del error, llame a GetLastError().

Mi punto de vista es exactamente... El número de ticket no puede ser 0 ni siquiera en el probador, y en caso de error la función devuelve -1, que es menor que 0. Así que pregunté, en qué caso el ticket puede ser igual a cero... Porque la condición dice >= es decir, mayor o igual que...
 
h-l


¿Me pueden decir si hay un indicador para mt4 que cuente la volatilidad en el marco de tiempo seleccionado?

Por ejemplo, para los días( H-L)n, donde n-número de días.

 
lempopo:


¿Pueden aconsejar si existe un indicador para MT4 que calcule la volatilidad en un marco temporal seleccionado?

Por ejemplo, para los días( H-L)n, donde n-número de días.

¿Es la volatilidad?

"La volatilidad es una medida estadística de la tendencia de la volatilidad de los precios". - Así es como suena la definición.

La volatilidad histórica es un valor igual a la desviación estándar del valor de un instrumento financiero durante un periodo de tiempo determinado, calculado a partir de datos históricos sobre su valor.

Y como indicador de la volatilidad en el terminal existe un indicador de desviación estándar - Desviación estándar.

 
AlexeyVik:
Eso es lo que estoy diciendo... El número del ticket no puede ser 0 ni siquiera en el probador, y en la función de error devuelve -1, que es menor que 0. Así que pregunté, en qué caso el ticket puede ser igual a cero... Porque la condición dice >= es decir, mayor o igual que...

Con el ticket todo está claro.Tengo una función para determinar el último pedido abierto (según el ticket) incluso por OrderTupy dividido.Chicos la pregunta es la siguiente.complimator no da errores y en el tester no hay errores pero el pedido no se modifica....por qué????? si no puedo entender mi error no puedo realizarlo

if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0, "first buy order set",Magik,0)== true)

{
TicketB = FindLastTicket(OP_BUY);
if(TicketB >0)
{
SL = priseBuy + NormalizeDouble(takeP1 * Point,Digits);
TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits);
if(OrderModify(TicketB,priseBuy,SL,TP,0)== true)
Comentario ("hooraaaahhhh");
}
 

¿Dónde puedo encontrar un asistente que pueda escribir un pequeño script para probarlo gratis?

 
burbur87:

Tengo la función de determinar la última orden abierta (por ticket) incluso por OrderTupy.Chicos la pregunta es la siguiente: el complimator no da errores y en el tester no hay errores pero la orden no se modifica....why????? si no puedo entender mi error no puedo realizarlo


if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0,"первый ордер бай установлен",Magik,0)== true)
      { 
          TicketB = FindLastTicket(OP_BUY);
          if(TicketB >0)
          {
             SL = priseBuy + NormalizeDouble(takeP1 * Point,Digits);
             TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits);
             if(OrderModify(TicketB,priseBuy,SL,TP,0)== true)
             Comment("урааааааа");
            
          }

Utilice el botón SRC del panel situado encima de la ventana de introducción de texto.

Básicamente: que el compilador no arroje errores no significa nada. Hay que comprobar el registro para ver si hay errores, e imprimir las condiciones y los parámetros. Estas son recomendaciones generales.

Exactamente en su código: la función OrderSend() devuelve el número de ticket o -1 en caso de errores. Si se lee atentamente la documentación de los tipos de datos, en particular del tipo bool, se puede entender que el valor falso es 0. Todo lo demás es verdadero. Por lo tanto, no importa cómo termine la función OrderSend(), el valor booleano siempre será verdadero.

En el ejemplo anterior, no es necesario buscar un pedido de billetes mediante una función adicional, ya que será devuelto por OrderSend().

Las órdenes limitadas no se colocan al precio actual. ¿De qué tipo de modificación estamos hablando si la orden no debe abrirse con ese comando?

 
virginvl:

¿Dónde puedo encontrar un asistente que pueda escribir un pequeño script para probarlo gratis?


En cualquier foro unos cuantos temas con ofertas para escribir gratis. La gente aprende a escribir...
 
virginvl:   ¿Dónde puedo encontrar un asistente para escribir un pequeño script para probarlo gratis?

El asistente está en el MetaEditor: Archivo --> Crear. ¿Qué debe hacer el guión? Vamos, ¡¡¡escribamos juntos!!! Lo explicaré paso a paso...


 
AlexeyVik:

Utilice el botón SRC del panel situado encima de la ventana de introducción de texto.

En esencia: El hecho de que el compilador no genere errores no significa nada. Debe comprobar el registro para ver si hay errores, e imprimir las condiciones y los parámetros. Estas son recomendaciones generales.

Exactamente en su código: la función OrderSend() devuelve el número de ticket o -1 en caso de errores. Si se lee atentamente la documentación de los tipos de datos, en particular del tipo bool, se puede entender que el valor falso es 0. Todo lo demás es verdadero. Por lo tanto, no importa cómo termine la función OrderSend(), el valor booleano siempre será verdadero.

En el ejemplo anterior, no es necesario buscar un pedido de billetes mediante una función adicional, ya que será devuelto por OrderSend().

Las órdenes limitadas no se colocan al precio actual. ¿De qué tipo de modificación estamos hablando si la orden no debe abrirse con ese comando?


Y el probador abrió una posición... Además, esta orden era como una bandera que luego abriría una parrilla...

void OnTick()

{

si(tendencia == 1)

Comentario("Dentro de siete meses, la tendencia es a comprar");

else Comment("la tendencia es a la baja durante siete meses");

double priseBuy = FindLastOrderPrise (OP_BUY);

double priseSel = FindLastOrderPrise (OP_SELL);


double frezeelevl = MarketInfo(OrderSymbol(),MODE_FREEZELEVEL);

rsi = iRSI(Symbol(),PERIOD_D1,7,PRICE_CLOSE,0);

tendencia = WhatTrend();

si (CountTrades() == 0)

{

if(trend == 1 && rsi <=30)

{ double vtoroilimt = NormalizeDouble (priseBuy - Vtoroilimit * Point,Digits);

double tretiilimit = NormalizeDouble (priseBuy - Tretiilimit * Point,Digits);

double hetvertiilimit = NormalizeDouble (priseBuy - Hetvertiilimit * Point,Digits);

double pervstop = NormalizeDouble (priseBuy + Pervstop * Point,Digits);

double vtoroistop = NormalizeDouble (priseBuy + Vtoroistop * Point,Digits);

if(OrderSend(Symbol(),OP_BUYLIMIT,0.04,Ask,Slippage,0,0, "first buy order set",Magik,0)== true)

{

OrderSend(Symbol(),OP_BUYLIMIT,0.06, Ask - vtoroilimt,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.08, Ask - tretiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask - hetvertiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.02,Ask - pervstop,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.01,Ask - vtoroistop,Slippage,0,0,",Magik,0);

}

}// si(tendencia == 1 && rsi <=30)

else if(trend == 2 && rsi >= 70)

{ double vtoroilimt = NormalizeDouble (priseSel + Vtoroilimit * Point,Digits);

double tretiilimit = NormalizeDouble (priseSel + Tretiilimit * Point,Digits);

double hetvertiilimit = NormalizeDouble (priseSel + Hetvertiilimit * Point,Digits);

double pervstop = NormalizeDouble (priseSel - Pervstop * Point,Digits);

double vtoroistop = NormalizeDouble (priseSel - Vtoroistop * Point,Digits);

if(OrderSend (Symbol(),OP_SELLLIMIT,0.04,Bid,Slippage,0,0, "first order is set",Magik,0)== true)

{

OrderSend(Symbol(),OP_SELLLIMIT,0.06, Bid + vtoroilimt,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLLIMIT,0.08, Bid + tretiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid + hetvertiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLSTOP,0.02,Bid + pervstop,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid + vtoroistop,Slippage,0,0,",Magik,0);

}// if(OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid,Slippage,0,0, "first order is set",Magik,0)== true)


}// else if(trend == 2 && rsi >= 70)

}// if(CountTrades() == 0)


}

//+------------------------------------------------------------------+

el código crece con mucha agonía.pero sin modificación de la orden no hay nada de nada.modificaré la primera orden.pero ¿qué es el botón cp?

Razón de la queja: