Hola. ¿Se puede utilizar esta estrategia para escribir un asesorhttps://www.youtube.com/watch?v=V58JIhy2rw4. O tiene algún asesor que se estanca en el lugar o está ligeramente en el negro.... Para las ganancias en el reembolso en el sitio fxcash.ru. Gracias. Si hay algo, póngase en contacto conmigo en facebook https://vk.com/id16112208 o en persona.
Sergey Zaitsev: Hola. ¿Puede escribir un asesor experto en esta estrategia https://www.youtube.com/watch?v=V58JIhy2rw4. O tal vez usted tiene un asesor experto, que se estanca en el lugar o va a los beneficios un poco.... Para las ganancias en el reembolso en el sitio fxcash.ru. Gracias. Si es así, póngase en contacto con https://vk.com/id16112208 o en privado.
Sí, escribí este tipo de búhos.
****
Para una rebaja, está bien. Consigue muchos lotes sin mucha reducción.
He decidido robotizar un poco mis operaciones. Utilicé un Asesor Experto de tendencia del terminal MT4"MovingAverage". He decidido utilizar mi propio EA del terminal MT4 y he hecho algunas ligeras modificaciones. Añadí una máscara más, cambié las condiciones de entrada y salida, añadí el stop y el profit y limité el tiempo de apertura. Me gustaría añadir más.
1) La capacidad de abrir dos órdenes a la vez con stop loss ajustable, take profit, mover a pérdida cero.
2) Número ajustable de entradas por día.
3) Posibilidad ajustable de entrar al día siguiente cuando una operación está abierta.
4)Salida ajustable por stop loss, no loss o take profit.
5)Eliminar el cálculo del riesgo máximo. (Necesidad particular no la veo, además no entiendo como calcula el riesgo, la impresión que desde el fondo, se abrieron lotes luego 0,10 luego 1,00)
6) No funciona correctamente en el par de divisas USDJPY
Quizás haya que corregir algo, limpiar para mejorar el trabajo de la EA. Ayuda o consejos.
Trabaja en más de diez gráficos simultáneamente, en cada ventana del gráfico del par de divisas tiene su propio EA. Se adjunta el código. Gracias a todos los que responden.
//+------------------------------------------------------------------+//| MA_MA_1.mq4 |//| Copyright 2017, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2017, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//#property strict#define MAGICMA 20131112//--- Inputsinputdouble SL =500; //стоп лосinputdouble TakeProfit =1000; //тейк профитinputdouble Lots =0.01; //розмер лота//input double MaximumRisk =0.1; //отключил не понятна логика расчетаinputdouble DecreaseFactor = 3; //фактор снижение(наверно проскальзывание)inputint MovingPeriod1 =36; //медленная средняяinputint MovingPeriod2 =12; //быстрая средняяinputint MovingShift1 =10; //сдвиг медленной среднейinputint MovingShift2 = 0; //сдвиг быстрой среднейexternint TimeStart = 8; //время начала торговexternint TimeStop =20; //время окончания торгов//+------------------------------------------------------------------+//| Calculate open positions //считаем открытые позиции |//+------------------------------------------------------------------+int CalculateCurrentOrders(string symbol)
{
int buys=0,sells=0;
//---for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGICMA)
{
if(OrderType()==OP_BUY) buys++;
if(OrderType()==OP_SELL) sells++;
}
}
//--- return orders volume //объём ордеров на возвратif(buys>0) return(buys);
elsereturn(-sells);
}
//+------------------------------------------------------------------+//| Calculate optimal lot size //расчет оптимального размера лота |//+------------------------------------------------------------------+double LotsOptimized()
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total (история заказов всего)int losses=0; // number of losses orders without a break (количество потерь заказов без перерыва)//--- select lot size //ОТКЛЮЧИЛ выбор размер лота. //lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);//(логика выбора мне не понятна)//--- calcuulate number of losses orders without a break (Расчет количества заказов на потери без перерыва)// if(DecreaseFactor>0)// {// for(int i=orders-1;i>=0;i--)// {// if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)// {// Print("Error in history!");// break;// }// if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL)// continue;//---// if(OrderProfit()>0) break;// if(OrderProfit()<0) losses++;// }// if(losses>1)// lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);// }//--- return lot size (розмер возвращаемого лота)if(lot<0.1) lot=0.1;
return(lot);
}
//+------------------------------------------------------------------+//| Check for open order conditions //проверка условий для открытия ордера |//+------------------------------------------------------------------+void CheckForOpen()
{
double ma1; //медленная средняяdouble ma2; //быстрая средняяint res;
//--- go trading only for first tiks of new bar// торговать только на первом тике нового бараif(Volume[0]>1) return;
//--- get Moving Average //получение скользящих средних
ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая//--- sell conditions //условия для продажиif(ma1<ma2 && Close[1]<ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid+SL*Point,Bid-TakeProfit*Point,"",MAGICMA,0,Red);
return;
}
//--- buy conditions //условия для покупкиif(ma1>ma2 && Close[1]>ma1 && TimeHour(TimeCurrent())>TimeStart && TimeHour(TimeCurrent())<TimeStop)
{
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-SL*Point,Ask+TakeProfit*Point,"",MAGICMA,0,Blue);
return;
}
//---
}
//+------------------------------------------------------------------+//| Check for close order conditions //проверка условий для закрытия ордера |//+------------------------------------------------------------------+void CheckForClose()
{
double ma1;//медленнаяdouble ma2;//быстрая//--- go trading only for first tiks of new bar// торговать толькона тике нового бараif(Volume[0]>1) return;
//--- get Moving Average //получение средних
ma1=iMA(NULL,0,MovingPeriod1,MovingShift1,MODE_SMA,PRICE_CLOSE,0);//медленная
ma2=iMA(NULL,0,MovingPeriod2,MovingShift2,MODE_SMA,PRICE_CLOSE,0);//быстрая//---for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
//--- check order type //проверка типа ордераif(OrderType()==OP_BUY)
{
if(Close[1]<ma2 && Open[2]>Close[1] && ma1<ma2) //(Open[1]>ma && Close[1]<ma)
{
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
if(OrderType()==OP_SELL)
{
if(Close[1]>ma2 && Open[2]<Close[1] && ma1>ma2)
{
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
}
//---
}
//+------------------------------------------------------------------+//| OnTick function //функция нового тика |//+------------------------------------------------------------------+voidOnTick()
{
//--- check for history and tradingif(Bars<100 || IsTradeAllowed()==false)
return;
//--- calculate open orders by current symbolif(CalculateCurrentOrders(Symbol())==0) CheckForOpen();
else CheckForClose();
//---
}
//+------------------------------------------------------------------+
¿Pueden ayudarme? El Asesor Experto está recuperando operaciones en cada tick. ¿Cómo escribo el código para dibujar unas 5 operaciones o sólo las que quiera?
¿Qué debo cambiar o añadir al código?
Debería añadir un bucle y limitar el número de órdenes antes de ejecutar OrderSend.
Hola. ¿Puede escribir un asesor experto en esta estrategia https://www.youtube.com/watch?v=V58JIhy2rw4. O tal vez usted tiene un asesor experto, que se estanca en el lugar o va a los beneficios un poco.... Para las ganancias en el reembolso en el sitio fxcash.ru. Gracias. Si es así, póngase en contacto con https://vk.com/id16112208 o en privado.
¡Buenas tardes!
He decidido robotizar un poco mis operaciones. Utilicé un Asesor Experto de tendencia del terminal MT4"Moving Average". He decidido utilizar mi propio EA del terminal MT4 y he hecho algunas ligeras modificaciones. Añadí una máscara más, cambié las condiciones de entrada y salida, añadí el stop y el profit y limité el tiempo de apertura. Me gustaría añadir más.
1) La capacidad de abrir dos órdenes a la vez con stop loss ajustable, take profit, mover a pérdida cero.
2) Número ajustable de entradas por día.
3) Posibilidad ajustable de entrar al día siguiente cuando una operación está abierta.
4)Salida ajustable por stop loss, no loss o take profit.
5)Eliminar el cálculo del riesgo máximo. (Necesidad particular no la veo, además no entiendo como calcula el riesgo, la impresión que desde el fondo, se abrieron lotes luego 0,10 luego 1,00)
6) No funciona correctamente en el par de divisas USDJPY
Quizás haya que corregir algo, limpiar para mejorar el trabajo de la EA. Ayuda o consejos.
Trabaja en más de diez gráficos simultáneamente, en cada ventana del gráfico del par de divisas tiene su propio EA. Se adjunta el código. Gracias a todos los que responden.
Hola. ¿Se puede utilizar esta estrategia para escribir un asesor https://www.youtube.com/watch?v=V58JIhy2rw4. O tiene algún asesor que se estanca en el lugar o está ligeramente en el negro.... Para las ganancias en el reembolso en el sitio fxcash.ru. Gracias. Si ese pitido en Ek https://vk.com/id16112208 o en privado.
Mira la rama Avalancha, hay asesores para este TS.
¡Hola!
¿Pueden ayudarme? El Asesor Experto está recuperando operaciones cada tick. ¿Cómo escribo el código para quitar unos 5 oficios o sólo los que quiera?
extern int tp=50;
extern int sl=200;
extern double lot=0.01;
oid OnTick()
{
OrderSend("USDJPY",OP_SELL,lot,Bid,0,Ask+sl*Point,Ask-tp*Point, "Batsasho",1,0,Red);
}
¿Qué debo cambiar o añadir al código?
Gracias.
Si no te lo pongo difícil puedes responder ***
Gracias.
He intentado rehacer las plantillas ya hechas, pero al final dan un par de errores, sólo me falta un búho:
1) abre una posición de compra si la vela cerrada es alcista, y una posición de venta si la vela cerrada es bajista.
2) y así sucesivamente después de CADA vela.
Tengo la segunda condición no funciona.
Si alguien puede ayudar, le estaré muy agradecido.
¿Pueden ayudarme? El Asesor Experto está recuperando operaciones en cada tick. ¿Cómo escribo el código para dibujar unas 5 operaciones o sólo las que quiera?
¿Qué debo cambiar o añadir al código?