[¡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 973

 
gheka:

extern int Periodo_MA = 21;

bool Hecho_Preparado = true;

bool Hecho_Dn = true;

int inicio()

{
doble MA;

MA=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0);
if (Bid > MA && Fact_Up == true)

{
Fact_Dn = true;

Fact_Up = false;

Alert("El precio está por encima de la MA(",Period_MA,").");
}
si (Oferta < MA && Hecho_Dn == true )
{
Fact_Up = true;
Fact_Dn = false;
Alert("El precio está por debajo de la MA(",Period_MA,").");

}
volver;
}

De todos modos, es del libro de texto, quería practicar, pero me quedé en un punto muerto, después de cruzar

Quiero darle un informe una vez. ¿Cómo hago para que informe en cada tic?

¿ayuda?


La pregunta no está bien planteada
 
Vinin:

La pregunta no es del todo correcta


sólo activa un mensaje una vez después del cruce,

¿Cómo puedo obtener un mensaje después de cada tic?

para que en cada tic haya un mensaje como "precio por encima del Mach" o "precio por debajo del Mach" ???

 

Hola, quería hacer un filtro para que un número determinado de señales de compra/venta emitidas por el indicador fueran saltadas. He intentado implementarlo con variables globales para fijar el número de señales recibidas y compararlo con una variable determinada. Funciona, pero en las variables globales el número de señales no aumenta. ¿Cuál es el error? ¿O hay una forma más sencilla de aplicar la idea?

¿Puede decirme, por favor, ....

//--------------
    if(SignalBuy>0) { 
   int B;
     if(SignalBuy==true){
       B=1;
       } else {
       B=0;
       }
       int PropuskSigB=GlobalVariableGet("PropuskSignalaB");
            PropuskSignalaB =B+PropuskSigB;
            GlobalVariableSet(gvp+"PropuskSignalaB",PropuskSignalaB);
          PropuskSignalaB=GlobalVariableGet("PropuskSignalaB");
       Print ("PropuskSignalaB = ",PropuskSignalaB);
      }
   //-------------   
    if(SignalSell>0){
   int S;
     if(SignalSell==true){
       S=1;
       } else {
       S=0;
       }
       int PropuskSigS=GlobalVariableGet("PropuskSignalaS");
            PropuskSignalaS =S+PropuskSigS;
            GlobalVariableSet(gvp+"PropuskSignalaS",PropuskSignalaS);
          PropuskSignalaB=GlobalVariableGet("PropuskSignalaS");
       Print ("PropuskSignalaS = ",PropuskSignalaS);
    }
   //-------------
 

¿Cómo puedo normalizar el lote a un decimal? por ejemplo, el lote 1.43 o 1.438 a 1.4 o 1.5? de lo contrario da el error 131 - tamaño de lote incorrecto?

 
En la búsqueda del Metaeditor -en la pestaña Navegador- escribe la palabra Normalización y listo :)
 
Rossi:

¿Cómo puedo normalizar mi lote a un decimal? por ejemplo, el lote 1.43 o 1.438 a 1.4 o 1.5? de lo contrario da el error 131 - tamaño de lote incorrecto?


Aquí hay una función de normalización de lotes, como en mi EA... En el editor, pulse F1 en NormalizeDouble() - en la Ayuda

...y todo está explicado en detalle...

double NormalizeLots(double lot)
{
   double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
   double lots = NormalizeDouble(lot / lotStep, 0) * lotStep;   
   lots = MathMax(lots, MarketInfo(Symbol(), MODE_MINLOT));
   lots = MathMin(lots, MarketInfo(Symbol(), MODE_MAXLOT));   
   return (lots);
}
 

Gracias. pero double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
¿no podemos hacer simplemente double lotStep = 0.1;?

 
Rossi:

Gracias. Y double lotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
¿no podemos hacer simplemente double lotStep = 0.1;?


El paso de lote suele ser de 0,01 - depende tanto del corredor como del tipo de cuenta, lea las condiciones de negociación para su tipo de cuenta -.

si hay un paso de lote de 0,1, entonces puedes... Esta es una opción para cualquier tipo de cuenta, así que no tienes que preocuparte...

 
¿Cómo puedo calcular el beneficio como porcentaje del saldo de sólo determinadas posiciones con el mismo mago?
 

Hombre, ¿alguien sabe la respuesta a mi pregunta?

Háblame del programa TakeMySpread para cambiar el spread. Permite cambiar el spread del símbolo para probarlo y optimizarlo. ¿Existe algún programa que cambie el nivel de stop loss o freeze frame? ¿O cómo lo hago manualmente?