Pregunta sobre la redacción de un EA. ¿Puede aconsejar dónde encontrar material sobre el análisis de barras de otro marco temporal? ¿Quizás haya funciones estándar? ¿O tal vez ya hay plantillas disponibles para no tener que escribir el código de nuevo?
Por favor, ayúdame a añadir un stop loss a tu EA, lo he intentado todo, pero no funciona.
-----------------------------------------+
//| Order_v_Day.mq4 ||
//| Copyright © 2010, forex-grail.ru ||
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, forex-grail.ru"
#enlace de propiedad "forex-grail.ru"
double Lotes = 0.01; // lote
extern int H = 0 ; // orden de colocación de la hora
extern int SL = 0; // Stop Loss en pips.
extern int TP = 20; // TakeProfit en pips.
int Deslizamiento = 2; // deslizamiento
int Magia = 70111; // magia
int ticketsell, ticketbuy;
doble oferta y demanda;
string com = "O&D";
int init()
{
return(0);
}
int deinit()
{
return(0);
}
bool isBullish(int shift, int tf = PERIOD_D1) { return(iClose(NULL, tf, shift) > iOpen(NULL, tf, shift)); }
bool isBearish(int shift, int tf = PERIOD_D1) { return(iClose(NULL, tf, shift) < iOpen(NULL, tf, shift)); }
int inicio()
{
int NúmeroTotal = 0;
for(int i=0; i<TotalPedidos(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if (OrderMagicNumber() != Magic || OrderSymbol() != Symbol()) continue;
NúmeroTotal++;
}
si (NúmeroTotal == 0)
{
ticketsell = 0;
ticketbuy = 0;
}
if(Hour() == H && Minute() == 5 && TotalNumber == 0) // Hora de apertura del pedido
{
if(isBearish(1)) // Si una vela anterior en D1 es "inter-bearish", entonces compra
{
RefreshRates();
double ask = NormalizeDouble(MarketInfo(Symbol(),MODE_ASK), Digits);
ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage,0,ask+TP*Point,com,Magic,0,Blue);
}
if (isBullish(1)) // Si la vela anterior es alcista en D1, entonces vende
{
RefreshRates();
double bid = NormalizeDouble(MarketInfo(Symbol(),MODE_BID), Digits);
OrderSend(Symbol(),OP_SELL,Lots,bid,Slippage,0,bid-TP*Point,com,Magic,0,Red);
}
}
return(0);
}
Sube el archivo. Voy a echar un vistazo a la mía.
Archivo EURUSD5.csv de 44,5 MB, comprimido por EURUSD5.rar a 7,7 MB
http://files.mail.ru/E2FN87
El archivo EURUSD5.csv de 44,5 MB ha sido redimensionado por EURUSD5.rar a 7,7 MB
http://files.mail.ru/E2FN87
En lugar de
ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage, 0, ask+TP*Point,com,Magic,0,Blue);
pruebe con
ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage,bid-SL* Point, ask+TP*Point,com,Magic,0,Blue);
=======================
Y para losticketsell, de forma similar
en lugar de cero: ask+SL* Point
En lugar de
ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage, 0, ask+TP*Point,com,Magic,0,Blue);
pruebe con
ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,ask,Slippage,bid-SL* Point, ask+TP*Point,com,Magic,0,Blue);
=======================
Y para losticketsell, de forma similar
en lugar de cero: ask+SL* Point
El meta trader escribe:2011.10.02 13:34:37 2010.11.23 00:05 Order_v_Day_v_1.0 EURUSD,Daily: invalid stoploss for OrderSend function
En la carga
(las variables predefinidas Ask & Bid están en mayúsculas)
En descarga
¡¡Es un CSV!! Es necesario convertirlo a HST para que sea visible en el gráfico. Utilice la importación en el archivo de cotizaciones.
La importación no convierte nada, y la exportación no exporta un formato como HST