Sergey Gritsay: Se han corregido errores en la versión MT5
Gracias por la actualización... mt5 hizo un trabajo decente esta semana... Si se cuenta a partir de 1000 más del 10%... Aquí hay una imagen... tenía más de 100 hoy... Voy a ver esta actualización ahora, también pensé en la combinación de mt4 con cmilliona grid6https://www.mql5.com/ru/code/12971 para ver cómo va a trabajar juntos))
La última versión - funciona claramente - puede pips - cuando el cierre de las manos se abre en la misma dirección, debe tener algún tipo de retraso ... Comenzó a rastrear un poco más de cero... 2-4 pips, si va directamente hacia atrás... deber de pensar - las flechas han estado de pie durante mucho tiempo, pero no hay posición... Y además, ha emitido más señales en comparación con las anteriores - bueno, esto es sólo una estimación aproximada... Bueno, sigue siendo la mejor opción ... Gracias de nuevo ... algo más está en silencio - aou-au quién más ha encontrado algo ... O no quiero gafarlo...))
Сергей Криушин: La última versión - funciona claramente - puede pips - cuando el cierre de las manos se abre en la misma dirección, debe tener algún tipo de retraso ... Comenzó a rastrear un poco más de cero... 2-4 pips, si va directamente hacia atrás... deber de pensar - las flechas han estado de pie durante mucho tiempo, pero no hay posición... Y además, ha emitido más señales en comparación con las anteriores - bueno, esto es sólo una estimación aproximada... Bueno, sigue siendo la mejor opción ... Gracias de nuevo ... algo más está en silencio - aw-aw quién más ha encontrado algo ... o no quiero gafarlo...))
Si tienes muchos caracteres, se ralentiza hasta que los calcula todos. Por ejemplo, el motor puede volver al mercado antes de que el precio alcance el precio objetivo.
Pegadas las señales de esta estrategia junto con mi asesor martin, este es el resultado desde enero de 2015 hasta hoy
EURUSD:
USDCHF:
Mt5 también tiene un bonito Martin dehttps://www.mql5.com/ru/code/13315 - multiplica el último comercio perdedor... pero a menudo hay 2 de estas operaciones perdedoras...
//+------------------------------------------------------------------+//| Виртуальный стоп |//+------------------------------------------------------------------+void PutLable(conststring name="",datetime time=0,double price=0,constcolor clr=clrGreen)
{
//--- сбросим значение ошибкиResetLastError();
//--- Создаем меткуif(!ObjectCreate(0,name,OBJ_ARROW_LEFT_PRICE,0,time,price))
{
Print(__FUNCTION__,
": не удалось создать левую ценовую метку! Код ошибки = ",GetLastError());
return;
//--- установим цвет меткиObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим стиль окаймляющей линииObjectSetInteger(0,name,OBJPROP_STYLE,STYLE_SOLID);
//--- установим размер меткиObjectSetInteger(0,name,OBJPROP_WIDTH,2);
}
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+bool isNewBar(string symbol,ENUM_TIMEFRAMES timeframe)
{
//---- получим время появления текущего бараdatetime TNew=datetime(SeriesInfoInteger(symbol,timeframe,SERIES_LASTBAR_DATE));
datetime m_TOld=0;
//--- проверка на появление нового бараif(TNew!=m_TOld && TNew)
{
m_TOld=TNew;
//--- появился новый бар!return(true);
Print("Новый бар!");
}
//--- новых баров пока нет!return(false);
}
//+------------------------------------------------------------------+//| Возвращает true, если появился новый бар для пары символ/период |//+------------------------------------------------------------------+bool IsNewBar()
{
//--- в статической переменной будем помнить время открытия последнего бараstaticdatetime last_time=0;
//--- текущее времяdatetime lastbar_time=SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
//--- если это первый вызов функцииif(last_time==0)
{
//--- установим время и выйдем
last_time=lastbar_time;
return(false);
}
//--- если время отличаетсяif(last_time!=lastbar_time)
{
//--- запомним время и вернем true
last_time=lastbar_time;
return(true);
}
//--- дошли до этого места - значит бар не новый, вернем falsereturn(false);
}
//+------------------------------------------------------------------+//| Считаем лот в зависимости от полученного профита |//+------------------------------------------------------------------+doubleVolume(void)
{
double lot=Lots;
//--- Получим доступ к историиHistorySelect(0,TimeCurrent());
//--- Сделки в историиint orders=HistoryDealsTotal();
//--- Тикет последней сделки ulong ticket=HistoryDealGetTicket(orders-1);
if(ticket==0)
{
Print("Нет сделок в истории! ");
lot=Lots;
}
//--- Профит сделкиdouble profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
//--- Лот сделкиdouble lastlot=HistoryDealGetDouble(ticket,DEAL_VOLUME);
//--- Профит отрицательныйif(profit<0.0)
{
//--- Увеличиваем следующий лот
lot=lastlot*KLot;
Print(" Cделка закрыта по стопу! ");
}
//--- Приводим лот к минимальномуdouble maxvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
if(lot<maxvol)
lot=maxvol;
//--- Если лот больше максимального то начальный лотif(lot>MaxLot)
lot=Lots;
//--- Возвращаем торговый объемreturn(lot);
}
//+------------------------------------------------------------------+//| Смотрим тип последней закрытой сделки |//+------------------------------------------------------------------+int LastDealType(void)
{
int type=0;
//--- Получим доступ к историиHistorySelect(0,TimeCurrent());
//--- Сделки в историиint orders=HistoryDealsTotal();
//--- Тикет последней сделки ulong ticket=HistoryDealGetTicket(orders-1);
//--- Нет сделок в историиif(ticket==0)
{
Print("Нет сделок в истории! ");
type=0;
}
if(ticket>0)
{
//--- Последняя сделка BUY if(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
{
type=2;
}
//--- Последняя сделка SELLif(HistoryDealGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_SELL)
{
type=1;
}
}
//---return(type);
}
Por favor, aconsejen dónde escribir o quién puede ayudarme a corregir 2 errores en el asesor '}' - final inesperado del programa'{' - paréntesis desequilibrados TMA.mq4
externint TakeProfit =100;
externint StopLoss =50;
externdouble Lots = 0.01;
externint Slippage =5;
externstring comment ="Продажа";
externint Megic = 123;
externstring Indi = "данные индикатора";
externstring TimeFrame = "current time frame";//текущее время кадраexternint HalfLength = 56;
externint Price = PRICE_CLOSE;
externdouble ATRMultiplier = 2.0;
externint ATRPeriod = 100;
externbool Interpolate = true;
double PriceHigh, PriceLow, SL, TP;
int ticket;
int init()
{
if(Digits==3|| Digits==5)
{
TakeProfit*=10;
StopLoss*=10;
Slippage*=10;
}
return(0);
}
int start()
{
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(Bid>=(PriceHigh);
{
SL=NormalizeDouble(Bid+StopLoss*Point,Digits);
TP=NormalizeDouble(Bid-TakeProfit*Point,Digits);
ticket=OrderSend(Simbol(),OP_SELL,Lots,Bid,Slippage,0,0,comment,123,0,Maroon);
if(ticket>0);
{
if (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);
OrderModify(ticket,OrderOpenPrice,ST,TP,0);
}
}
if(Ask<0);
{
ST=NormalizeDouble(Ask-StopLoss*Point,Digits);
TP=NormalizeDouble(Ask+TakeProfit*Point,Digits);
ticket=OrderSend(Simbol(),OP_BUY,Lots,Ask,Slippage,0,0,comment,123,0,clrDarkBlue);
if(ticket>0);
{
if (OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)==true);
OrderModify(ticket,OrderOpenPrice,ST,TP,0);
}
return(0);
}
int CountSell()
{
int count=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if (OrderType()==OP_SELL)count==;
}
}
return(count);
}
int CountBuy()
{
int count=0;
for(int trede=OrdersTotal()-1;tred>=0;tread--)
{
OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Megic)
{
if (OrderType()==OP_BUY)count==;
}
}
return(count);
}
Por favor, aconsejen dónde escribir o quién puede ayudarme a corregir 2 errores en el asesor '}' - final inesperado del programa'{' - paréntesis desequilibrados TMA.mq4
Se han corregido errores en la versión MT5
Gracias por la actualización... mt5 hizo un trabajo decente esta semana... Si se cuenta a partir de 1000 más del 10%... Aquí hay una imagen... tenía más de 100 hoy... Voy a ver esta actualización ahora, también pensé en la combinación de mt4 con cmilliona grid6https://www.mql5.com/ru/code/12971 para ver cómo va a trabajar juntos))
La última versión - funciona claramente - puede pips - cuando el cierre de las manos se abre en la misma dirección, debe tener algún tipo de retraso ... Comenzó a rastrear un poco más de cero... 2-4 pips, si va directamente hacia atrás... deber de pensar - las flechas han estado de pie durante mucho tiempo, pero no hay posición... Y además, ha emitido más señales en comparación con las anteriores - bueno, esto es sólo una estimación aproximada... Bueno, sigue siendo la mejor opción ... Gracias de nuevo ... algo más está en silencio - aw-aw quién más ha encontrado algo ... o no quiero gafarlo...))
Pegadas las señales de esta estrategia junto con mi asesor martin, este es el resultado desde enero de 2015 hasta hoy
EURUSD:
USDCHF:
Pegadas las señales de esta estrategia junto con mi asesor martin, este es el resultado desde enero de 2015 hasta hoy
EURUSD:
USDCHF:
Trató de traducir para el indicador RSI - no funcionó... aparentemente no coincide con la biblioteca...
Y dondeCopyBuffer perdido en el bloque de definición de la tendencia, y RSI tiene 70 y 30 niveles estándar.
Por favor, aconsejen dónde escribir o quién puede ayudarme a corregir 2 errores en el asesor '}' - final inesperado del programa '{' - paréntesis desequilibrados TMA.mq4
Por favor, aconsejen dónde escribir o quién puede ayudarme a corregir 2 errores en el asesor '}' - final inesperado del programa '{' - paréntesis desequilibrados TMA.mq4
Por favor, inserte el código correctamente:Inserte el código correctamente en el foro(he corregido su mensaje).
Añadido: También recomiendo encarecidamente utilizar el estilizador de código - ayudará a detectar errores(Trabajar con el código fuente: Styler - Desarrollo de programas).