Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 532

 
niktron:
Por favor, aconsejar lo que es el lote máximo para la optimización ... Sólo llega a 9k y luego el error 131 ... gracias

Su empresa de corretaje lo limita.
 

Hola a todos.

Opero algunos pares manualmente (20pc), no me siento en mi PC todo el tiempo, cuando vuelvo veo que algunos pares cerraron en pips y pérdidas, voy al historial, veo que pares cerraron y los pongo de nuevo.

Quiero deshacerme de una tarea tan pequeña y engorrosa como es subir al historial, etc. Quiero que mi EA me muestre en cualquier ventana de pares que cerró a qué hora y por pérdida o diez lotes, y estaría bien tener una señal al cierre.

¿Hay algo así? Por favor, avisa.

Una pregunta más. He notado que el precio a veces cruza el TP y no se cierra una operación (a veces se cierra varias veces), llamaría a la empresa de corretaje y haría un escándalo, pero no siempre puedo controlarlo. Por favor, aconséjeme, apuesto a que hay algo...

 
Y entonces harás más escándalos y te dirán que tu EA miente escandalosamente y que deberías contactar con el desarrollador del EA o del indicador, según quieras escribirlo.
 
sashalambin1:

Hola a todos.

Opero algunos pares manualmente (20pc), no me siento en mi PC todo el tiempo, cuando vuelvo veo que algunos pares cerraron en pips y pérdida, voy al historial, veo que pares cerraron y los pongo de nuevo.

Quiero deshacerme de una tarea tan pequeña y engorrosa como la de subir al historial, etc. Quiero que mi Asesor Experto me muestre en cualquier ventana lo que cerró a qué hora y por pérdida o diez lotes y estaría bien tener una señal al cierre.

¿Hay algo así? Por favor, avisa.

Una pregunta más. He notado que el precio a veces cruza el TP y no se cierra una operación (a veces se cierra varias veces), llamaría a la empresa de corretaje y haría un escándalo, pero no siempre puedo controlarlo. Por favor, aconséjeme, apuesto a que hay algo...


Todo esto se hace fácilmente por encargo en el departamento Work. Y si buscas en kodobase, puedes encontrar algo similar y construir tú mismo lo que necesites, pero a menudo necesita una puesta a punto con un archivo.
 
Por favor, indique cuál es la nueva estructura de los archivos históricos .hst, antes el archivo comenzaba con 149 bytes, luego los datos comenzaban con 44 cada barra. Anteriormente, el software propietario leía los datos del archivo sin problemas. Después de la última actualización de metatrader, dejó de leer. El problema está exactamente en la estructura de los archivos, porque los archivos antiguos se abren normalmente.
 
galabut:
Por favor, indique cuál es la nueva estructura de los archivos históricos .hst, antes el archivo comenzaba con 149 bytes, luego los datos comenzaban con 44 cada barra. Anteriormente, el software propietario leía los datos del archivo sin problemas. Después de la última actualización de metatrader, dejó de leer. El problema está exactamente en la estructura de los archivos, porque los archivos antiguos se abren normalmente.

Hay uno sobre esto

 
r772ra:



Gracias. Funcionó, fui feliz como un niño, sin embargo el EA dejó de mostrar "nuevas rodillas para comprar". Esta función viene justo después de lo que he cambiado en el código. ¿Puede decirme en qué me he equivocado?

Por cierto, las "nuevas rodillas de venta" se colocan sin errores, según el algoritmo.

extern string s13                = ">>>>>>>>>>>>>>>>>>>>>>>>>>>>";
extern string s14                = ">>> Время работы";
extern int    StartHour          = 21;      // Время закрытия, часы
extern int    StartMinute        = 30;      // Время закрытия, минуты
extern int    CloseHour          = 01;      // Время закрытия, часы
extern int    CloseMinute        = 0;      // Время закрытия, минуты

//===================================================================================================================================================
int i = 0;
int TimePrev = 0;
int vDigits;
int OrderSended = 0;
int TotalBuyOrders = 0, TotalSellOrders = 0;
int Lpos, Lpos1, Cpos;

double Spread;
double mPipStep;
double vPoint;
double PriceTarget, AveragePrice, LastBuyPrice, LastSellPrice;
double BuySummLot,SellSummLot,TotalProfitBuy,TotalProfitSell;
double BLot, SLot;
double Cprofit, Lprofit, Lprofit1, PrcCL;

string LastOrderComment = "";
string BComment, SComment;

//===================================================================================================================================================
//===================================================================================================================================================
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  vPoint  = Point;
  vDigits = Digits;
  TimePrev = Time[0];
  Spread = NormalizeDouble(MarketInfo(Symbol(), MODE_SPREAD),vDigits)*vPoint;
  
  //перевод на 5-ти знак-
  int DcD = 1;
  if((vDigits == 5)||(vDigits == 3)) DcD = 10;   
  PipStep           *= DcD;
  StaticTakeProfit  *= DcD;
  StopLoss          *= DcD;
  iMA_OpenDistance  *= DcD;
  
  if(OnScreenInfo) DrawInfo();
  
//---
   return(INIT_SUCCEEDED);
  }

//===================================================================================================================================================
//===================================================================================================================================================
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  ObjectDelete("CurrTime");
  ObjectDelete("BuyZeroLevel");
  ObjectDelete("BuyAveragePrice");
  ObjectDelete("SellZeroLevel");
  ObjectDelete("SellAveragePrice");

  return(0);
}

//===================================================================================================================================================
//===================================================================================================================================================
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(!isTradeTimeInt(StartHour,StartMinute,CloseHour,CloseMinute)) return;

   //Здесь то,,,,
  if(!isTradeTimeInt(00, 00, 00, 00))
  
  //часы
  if(ShowClock) ShowCurrentTime();

  //инфо
  if(OnScreenInfo) DrawInfo();

  if(OnScreenInfo) SetOrdersInfo();

  //проверка нового бара
  if(TimePrev == Time[0] && CheckNewBar == true) return(0);   

  CheckOverlapping();  

  //-------------------------------------------------------------------------------------------------------------------------------------------------
  //новые колени на покупку...
  TotalBuyOrders = CountOfOrders(MagicNumberBuy);
  if(TotalBuyOrders > 0 && TotalBuyOrders < MaxTrades)
  {
    OrderSended = -1;
    LastBuyPrice = FindLastOrderParameter(MagicNumberBuy, "price");

    if(LastBuyPrice - Ask >= GetPipstepForStep(TotalBuyOrders + 1) * vPoint)
    {
      BLot   = GetLotForStep(MagicNumberBuy, TotalBuyOrders);
      BComment = StringSubstr(LastOrderComment, 0, StringFind(LastOrderComment, "|", 0)) + "|";
      OrderSended = SendMarketOrder(OP_BUY, BLot, 0, 0, MagicNumberBuy, BComment);
    }
  }
  
  
  //-------------------------------------------------------------------------------------------------------------------------------------------------
  //новые колени на продажу...
 

Buenas tardes queridos amigos.

Me puedes decir como poner programáticamente un muving en un atr.

 
Stells:

Buenas tardes queridos amigos.

Me puedes decir como poner programáticamente un muving en un atr.


Utilice este https://docs.mql4.com/ru/indicators/imaonarray
 

¿Cómo puede determinar que un objeto gráfico con un nombre específico ya está en el gráfico?

LabelCreate(0,InpName,0,InpX,InpY,CORNER_LEFT_UPPER,"EXPERT STOPED !!!", InpFont,InpFontSize,
InpColor,InpAngle,ANCHOR_CENTER,InpBack,InpSelection,InpHidden);