Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Flytox: No encuentro ese código en mi copia de TrendStrength.
Es TrendStrength v2.2
Modo de precio personalizado
¿Alguien sabe cómo hacer un pricemode personalizado? Estoy usando la siguiente alerta para señalar cuando el precio (extern int PriceMode = 6; //(high+low+close+close)/4) cruza una MA. Me gustaría personalizarlo añadiendo un desplazamiento, por ejemplo del 1 o 2%. ¿Es esto posible? Algo así como
extern int ModoPrecio = ((alto+bajo+cierre+cierre)/4) * 1.01
----------------------------------------------------
#propiedad indicator_chart_window
extern int MA1.period =5; //Periodo 5
extern int MA1.shift=0;
extern int MA1.method=2; //SMMA
extern int lMA1.price=2; //MMA fijado en el máximo de la vela
extern int sMA1.price=3; //MA fijada en el mínimo de la vela
extern int PriceMode = 6; //(high+low+close+close)/4
int cBar,pBarLong,pBarShort;
int inicio()
{
cBar = Tiempo[0];
if(CheckMACross(1)== 1 && cBar!=pBarLong ) {EmailAlert(1); pBarLong=cBar;}
si no
if(CheckMACross(2)==-1 && cBar!=pBarShort) {EmailAlert(2); pBarShort=cBar;}
return(0);
}
int CheckMACross(int modo)
{
if(mode==1) int price = lMA1.price;
si no
if(mode==2) price = sMA1.price;
double precio1 = iMA(Symbol(),0,1,0,1,PriceMode,1);
double ma1 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, price,1);
double precio0 = iMA(Símbolo(),0,1,0,1,ModoPrecio,0);
double ma0 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, price,0);
if(ma1 > precio1 && ma0 <= precio0) return( 1);
si no
if(ma1 = precio0) return(-1);
si no
return(0);
}
{
if(mode == 1) SendMail("Señal para LONG",Symbol()+" Go Long"); //SendMail
si no
if(mode == 2) SendMail("Señal para SHORT",Symbol()+" Ir a corto");//EnviarMail
}
int lastBAlert = 0;
int lastSAlert = 0;
void EmailAlert(int mode)
{
if(mode == 2 && lastSAlert < Time[0] )
{
SendMail("Ir en corto 1",Symbol()+" Ir en corto 1"); //SendMail
lastSAlert = Time[0];
}
}
Estoy apelando a los expertos por ahí para que por favor venga en mi ayuda necesito algunos para ayudarme a buld un asesor experto META 4 TRADER para mí yo sería greatfull si mi solicitud se concede.
Millones de maneras de construir un experto, ¿qué manera estabas pensando?
ayuda con el código fuente
Hola a todos
Tengo un EA y quiero añadirle una entrada
Si el take profit >= :xx , comprar :xx lote
extern int Deltaopen1 =100;
He escrito;
si (tipo == OP_BUY)
{
if (M2.BuyCnt == 0 && OrderTakeProfit() > OrderOpenPrice() + Deltaopen1*point)
{
Buy(Symbol(), GetLots2(), Ask, 0, 0, Magic2);
devolver;
}
}
if (type == OP_SELL)
{
if (M2.SellCnt == 0 && OrderTakeProfit() <= OrderOpenPrice() - Deltaopen1*point)
{
Sell(Symbol(), GetLots2(), Bid, 0, 0, Magic2);
devolver;
}
}
}
Pero no funciona,
Agradezco cualquier ayuda.
Gracias
Necesito un poco de ayuda para refinar este EA
Tengo este ea que es una versión modificada del "GAPS EA" que se encuentra en otra parte de este foro.
En fin, adjunto una copia del código.
#property link ""
//---- input parameters
extern int min_gapsize = 1;
extern double lotsize_gap = 5;
extern int MagicNumber = 10;
//----
datetime order_time = 0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
/*
Thing to be done in future in this program to make it more efficient
and more powerful:
1. Make the dicission of the quantity of lots used according to
the scillators;
2. This program will catch the gaps.
Things to ware of:
1. the spread;
2. excuting the order not on the gap ends a little bit less.
*/
// Defining the variables to decide.
Print("order time", order_time);
double current_openprice = iOpen(Symbol(), 0, 0);
double previous_highprice = iHigh(Symbol(), 0, 1);
double previous_lowprice = iLow(Symbol(), 0, 1);
double point_gap = MarketInfo(Symbol(), MODE_POINT);
int spread_gap = MarketInfo(Symbol(), MODE_SPREAD)+1;
datetime current_time = iTime(Symbol(), 0, 0);
// catching the gap on sell upper gap
if(current_openprice > previous_highprice + (min_gapsize + spread_gap)*point_gap &&
current_time != order_time)
{
int ticket = OrderSend(Symbol(), OP_SELL, lotsize_gap, Bid, 0, 0,
previous_highprice + spread_gap,
"Gapped Up Sell " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Red);
order_time = iTime(Symbol(), 0, 0);
Print("I am inside (sell) :-)", order_time);
//----
if(ticket < 0)
{
Print("OrderSend failed with error #", GetLastError());
}
}
//catching the gap on buy down gap
if(current_openprice < previous_lowprice - (min_gapsize + spread_gap)*point_gap &&
current_time != order_time)
{
ticket = OrderSend(Symbol(), OP_BUY, lotsize_gap, Ask, 0, 0,
previous_lowprice - spread_gap,
"Gapped Down Buy " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Green);
order_time = iTime(Symbol(), 0, 0);
Print("I am inside (buy) :-)", order_time);
if(ticket < 0)
{
Print("OrderSend failed with error #", GetLastError());
}
}
//----
return(0);
}
//+------------------------------------------------------------------+Cada vez que pongo esto en el probador de estrategias, no abre las operaciones. Un rápido vistazo al diario me dice que se han realizado bastantes órdenes. ¿Qué he hecho mal?
Ayuda: Pregunta básica sobre el histograma
Esto es probablemente muy fácil y estoy mirando más allá de algo, pero estoy sin recursos y no puedo encontrar una respuesta.
Todo lo que estoy tratando de hacer es recordar el valor de la barra del histograma previamente dibujado.
¿Alguna idea?
Es decir, Close[1] muestra la última barra cerrada en el gráfico.....
Entonces, ¿qué mostraría la última barra de histograma dibujada en este indicador de ventana separada?
Gracias por cualquier consejo de antemano.
-dharsant
Probablemente esto es muy fácil y estoy buscando algo más allá, pero estoy sin recursos y no puedo encontrar una respuesta.
Lo único que intento hacer es recuperar el valor de la barra del histograma previamente dibujada.
¿Alguna idea?
Por ejemplo, Close[1] muestra la última barra cerrada en el gráfico .....
Entonces, ¿qué mostraría la última barra de histograma dibujada en este indicador de ventana separada?
Gracias por cualquier consejo de antemano.
-dharsant¿Qué indicador está llamando? Sólo tiene que configurar el desplazamiento para llamar a la barra anterior.
Ejemplo, para una media móvil de la barra actual:
iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,0);
Para una media móvil de la barra anterior:
iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,1);
El último parámetro al llamar a un indicador significa cuántas barras desde la actual serán leídas.
Espero que esto sea lo que estabas buscando.
Se necesita ayuda para codificar, por favor
Estoy tratando de utilizar un par de indicadores diferentes en un ea pero parece que no puede averiguar cómo implementarlos en el sistema. ¿Qué parte del indicador utilizo para decir comprar o vender? ¿Cómo puedo obtener la línea de dirección de la pendiente en la parte de un EA.
Saludos
Beno
Probablemente no me he explicado bien.
Estoy tratando de averiguar lo que tengo que poner en iCustom esto es lo que he hecho a continuación.
double SDL=iCustom(NULL,0, "Slope Direction Line",period,method,price)
Y lo que necesito hacer para generar señales de compra y venta desde el indicador Slope Direction Line para mi EA. Abajo está lo que he hecho hasta ahora, compila pero no se generan posiciones.
bool Long = TML && SDL && HeikenAshiOpen < HeikenAshiClose && hasOpen < hasClose;
bool Short = TMS && SDL && HeikenAshiOpen > HeikenAshiClose && hasOpen > hasClose;
Cualquier ayuda sería genial
Saludos
Beno
En primer lugar, la llamada de iCustom necesita dos argumentos adicionales al final, a saber, de cuál de los búferes de indicadores se va a leer, y en qué índice se va a leer.
En segundo lugar, "SDL" es un número doble, por lo que poner simplemente "SDL" como condición muestra cierta confusión; posiblemente se compila como "SDL != 0", y posiblemente eso es lo que se quiere decir.