Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 538

 
Valerius:
Acabo de poner el texto y el código, y el código aparece como código. No sé cómo funciona el resto del código. Si hay que destacarlo, no es una cuestión para mí sino para los desarrolladores del sitio.
¿Hacéis esto:insertáis el código correctamente en el foro o lo hacéis de otra manera?
 
Sí, lo es. Pero tal vez mi navegador sea antiguo.
 
Karputov Vladimir:
Tengo una contrapregunta: ¿cómo se consigue insertar el código? Mira, he insertado el código correctamente - los operadores están resaltados. ¿Y qué hay de ti? Hay líneas innecesarias, los operadores no están resaltados. Tengo curiosidad, ¿qué haces con el código, antes de pegarlo?

La secuencia de operaciones es la siguiente:

1. Insertar código copiado de ME

2. Selecciónelo

3. Seleccione el tipo de texto

код

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
     Comment("");
}/*******************************************************************/

Y sin destacar...

O selecciona el código de tipo texto y luego pega allí el código copiado.

Y con el SRC se destaca.

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
  if(IsTesting())
   {
    FolderClean("test", FILE_COMMON);
    FolderDelete("test", FILE_COMMON);
   }
   Comment("");
}/*******************************************************************/
 
Alexey Viktorov:

La secuencia de operaciones es la siguiente:

1. Insertar código copiado de ME

2. Selecciónelo

3. Seleccione el tipo de texto

код

/******************Expert deinitialization function******************/
void OnDeinit(const int reason)
{
     Comment("");
}/*******************************************************************/

Y sin destacar...

O seleccione el código de tipo texto y luego pegue allí el código copiado.

Y con SRC con resaltado.

Espero que te hayas dado cuenta de que la única forma correcta es la última: a través de SRC.
 
Karputov Vladimir:
Espero que te hayas dado cuenta de que la única forma correcta es la última: a través de SRC.

Vladimir, no depende de mí. Una vez probé por casualidad esta forma de inserción, vi cómo funcionaba y nunca más la utilicé sin observaciones. Y ahora acabo de explicar a todos cómo puede funcionar.

Quizá los administradores del foro se lo piensen y reasignen la acción de tipo de texto "código" para llamar a la ventana de inserción de código, o cambien otra cosa.

 
Alexey Viktorov:

Vladimir, no depende de mí. Una vez probé por casualidad esta forma de inserción, vi cómo funcionaba y nunca más la utilicé sin observaciones. Y ahora acabo de explicar a todos cómo puede funcionar...

Tal vez los administradores del foro piensen en ello y reasignen la acción de tipo de texto "código" para llamar a la ventana de inserción de código, o cambien otra cosa.

Además de todas las patas. Cat.
 
ndkmak:
¿Por qué ahora no hay confirmación manual en los asesores? ¿No los usas?
Ciertamente no soy un bateador, pero no importa. ¿Así que ahora debo confiar en todos los EAs? Al fin y al cabo, las pruebas no son una garantía al 100%.
 
ndkmak:
No soy un bateador, por supuesto, pero no importa. ¿Así que ahora debo confiar en todos los asesores? Al fin y al cabo, las pruebas no son una garantía al 100%.
¿De qué sirve tener un Asesor Experto si tiene que sentarse frente al monitor y confirmar las operaciones cada vez? Trabajar con un Asesor Experto totalmente automatizado supone que una persona no está involucrada, la excepción es uno semiautomatizado.
 
ayúdame a solucionar el error '}'. - fin inesperado del programatma2.mq41245

{' - paréntesis desequilibrado tma2.mq4 48 1


extern int Beneficio =100;
extern int StopLoss =50;
extern double Lots = 0,01;
extern int Deslizamiento =5;
extern string comment ="Vender";
extern int Megic = 123;
cadena externa Indi = "datos del indicador";
extern string TimeFrame = "marco temporal actual";//marco temporal actual
extern int MediaLongitud = 56;
extern int Precio = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern inttern ATRPeriod = 100;
extern bool Interpolar = true;

doble PriceHigh, PriceLow, SL, TP;
int ticket;

int init()
{0
if(Dígitos==3|| Dígitos==5)
{


TakeProfit*=10;
StopLoss*=10;
Deslizamiento*=10;


}

return(0);

}

int inicio()

{0
PriceHigh= iCustom(Symbol(),0, "TMA with Distancer",TimeFrame,HalfLength,Price, ATRMultiplier,ATRPeriod, Interpolate,1,0);
PriceLow= iCustom(Symbol(),0, "TMA with Distancer",TimeFrame,HalfLength,Price, ATRMultiplier,ATRPeriod, Interpolate,2,0);

if(Oferta>=(PrecioAlto);
{
SL=NormalizarDoble(Oferta+StopLoss*Punto,Dígitos);
TP=NormalizarDoble(Oferta-TomaBeneficio*Punto,Dígitos);


ticket=EnviarOrden(Simbol(),OP_SELL,Lots,Bid,Slippage,0,0,comment,123,0,Maroon);




if(ticket>0);

{
si (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);

OrderModify(ticket,OrderOpenPrice,ST,TP,0);

}
}


if(Ask<0);
{
ST=NormalizeDouble(Ask-StopLoss*Point,Digits);
TP=NormalizarDoble(Pregunta+Toma de Beneficios*Punto,Dígitos);

ticket=OrderSend(Simbol(),OP_BUY,Lots,Ask,Slippage,0,0,comment,123,0,clrDarkBlue);



if(ticket>0);

{
si (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);

OrderModify(ticket,OrderOpenPrice,ST,TP,0);

}
return(0);

}

int CuentaVenta()
{
int count=0;
for(int trede=Total de Pedidos()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if(OrderType()==OP_SELL)count==;
}
}
return(count);
}


int CuentaCompra()
{
int count=0;
for(int trede=Total de Pedidos()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if(OrderType()==OP_BUY)count==;
}
}
return(count);
}0
 

¿Puedes decirme cómo hacerlo para que cuando el precio alcance el nivel SL, la orden comience a promediar?

void OnTick()

{

double ma;//declarar una variable

double start_lot;//declarar una variable

ma=iMA(Symbol(),0,10,0,0,0,1);//asignar a la variable una media móvil

if(Ask>ma)//si el precio es superior a la variable

{

if(OrdersTotal()==0)//if(no hay órdenes abiertas

{

OrderSend(Symbol(),OP_BUY,lot,Ask,30,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",0,0,clrGreen);

}

}

if(Oferta<ma)//

{

if(PedidosTotal()==0)

{

OrderSend(Symbol(),OP_SELL,lot,Bid,30,Ask+StopLoss*Point,Bid-TakeProfit*Point,",0,0,clrRed);

}

//if(Oferta)=StopLoss)

{

// lote=NormalizarDoble(lote_inicial*MathPow(koeficient,sumbay),2)

}

}

}