Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1586

 
законопослушный гражданин:

Lo hice.

Ahora 'Lot' es un identificador no declarado

Necesito: extern double dLots= 0.01; sustituir por: extern double Lot= 0.01; ?

mejor Lote a dLotes

 
MakarFX:

mejor Lote por dLots

no lo hace))

ni así ni viceversa.

de todas formas no se abre ninguna operación, aunque ya no se muestra ningún error

 
законопослушный гражданин:

no lo hace))

ni así ni viceversa.

todavía no hay operaciones abiertas, aunque ya no se muestran errores

buscar errores en la señal
 
законопослушный гражданин:

no lo hace))

ni así ni viceversa.

todavía no hay operaciones abiertas, aunque ya no se muestran errores

antes de insertar mi función, ¿las operaciones se abrían?
 

Lo siento, tal vez no entiendo algo... ¡Pero!

Hace Dios sabe cuánto tiempo que se habla aquí de escribir, corregir, etc., algún tipo de código. ¡Para un "preguntón"! ¿Cómo se relaciona esto con este tema?

La pregunta es una respuesta. Entonces es todo en privado. De lo contrario, ya es un atolladero... A la inmensa mayoría de la gente le importan una mierda sus códigos. ¿Por qué cojones has cubierto ya 20 páginas con ellos?

 
Сергей Таболин:

Lo siento, tal vez no entiendo algo... ¡Pero!

Hace Dios sabe cuánto tiempo que se habla aquí de escribir, corregir, etc., algún tipo de código. ¡Para un "preguntón"! ¿Cómo se relaciona esto con este tema?

La pregunta es una respuesta. Entonces es todo en privado. De lo contrario, ya es un atolladero... A la inmensa mayoría de la gente le importan una mierda sus códigos. ¿Por qué se ensucia con ellas ya 20 páginas?

1) Tema.

Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión de algoritmos y códigos.


2) Puedes limpiarlo.

 
MakarFX:

1)Tema

Cualquier pregunta de los novatos en MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos


2)Puedes limpiarlo.

No puedo limpiarlo.

Si estás tan interesado en ayudar a alguien, deja que esta persona al menos adjunte el código fuente, ¡en lugar de publicar su código de media página! Y luego respondes como bien.... ¡Es un montón de tonterías! Interesante sólo para ti y para otra persona.

¿No tienes que respetar al resto de nosotros? ¿O el PM no funciona?

 
MakarFX:
antes de insertar mi función, ¿las operaciones se abrían?

Por supuesto, era un viejo EA que funcionaba.

Tengo la sospecha de que no hay conexión entre las funciones:

//+-----------------------------------------------------------------------------------------------+
//|                                                            Функция открытия ордера на покупку |
//+-----------------------------------------------------------------------------------------------+
void vOrderOpenBuy()
  {
   int iOTi = 0;   // Тикет ордера

   iOTi = OrderSend(Symbol(), OP_BUY, Lots(), Ask, iSlippage, 0, 0, "", iMagic, 0, clrNONE);

// Проверим открылся ли ордер
   if(iOTi > 0)
      // Есди да, то выставим уровни убытка и прибыли
      vOrderModify(iOTi);
   else
      // Если нет, то получим ошибку
      vError(GetLastError());
  }

и

//| Расчет лота                                                      |
//+------------------------------------------------------------------+
double Lots()
  {
   double L=0;
   // если последняя закрытая сделка убыточная и лот равен стартовому
   // включаем Мартин
   if(GetInfoLastPos(2)<0&&GetInfoLastPos(1)==dLots) 
     {
      Martin=true;
     }
   // если последняя закрытая сделка убыточная и лот больше или равен максимальному
   // выключаем Мартин
   if(GetInfoLastPos(2)<0&&GetInfoLastPos(1)>=MaxMartinLot)
     {
      Martin=false;
     }
   // если последняя закрытая сделка убыточная и Мартин включен, умножаем лот
   if(Martin==true)
     {
      L=NormalizeDouble(GetInfoLastPos(1)*K_Martin,DigitsLot);
     }
   // если последняя закрытая сделка убыточная и Мартин выключен, делим лот
   if(Martin==false)
     {
      L=NormalizeDouble(GetInfoLastPos(1)/K_Martin,DigitsLot);
     }

   if(L>MAXLOT) L = MAXLOT;
   if(L<MINLOT) L = MINLOT;
   return(L);
  }

No puedo entender qué pasa.

en la versión antigua:

//|                                                            Функция открытия ордера на продажу |
//+-----------------------------------------------------------------------------------------------+
void vOrderOpenSell()
  {
   int iOTi = 0;   // Тикет ордера

   iOTi = OrderSend(Symbol(), OP_SELL, LOT(), Bid, iSlippage, 0, 0, "", iMagic, 0, clrNONE);

// Проверим открылся ли ордер
   if(iOTi > 0)
      // Есди да, то выставим уровни убытка и прибыли
      vOrderModify(iOTi);
   else
      // Если нет, то получим ошибку
      vError(GetLastError());

и

double LOT()
{
   int n=0;
   double OL=dLots;
   for (int j = OrdersHistoryTotal()-1; j >= 0; j--)
   {
      if (OrderSelect(j, SELECT_BY_POS,MODE_HISTORY))
      {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == iMagic)
         {
            if (OrderProfit()<0) 
            {
               if (n==0) OL=NormalizeDouble(OrderLots()*K_Martin,DigitsLot);
               n++;
               if (n>=OrdersClose) {Comment("1");return(dLots);}
            }
            else
            {
               if (n==0) {Comment("2");return(dLots);}
               else {Comment("3");return(OL);}
            }
         }
      }
   }
   return(OL);
}
 
Сергей Таболин:

No se puede limpiar.

Si estás tan interesado en ayudar a alguien, al menos haz que adjunte el código fuente en lugar de publicar media página de su propio código. Y luego respondes como bien.... ¡Es un montón de tonterías! Interesante sólo para ti y para otra persona.

¿No tienes que respetar al resto de nosotros? ¿O el PM no funciona?

Trato a todo el mundo con respeto. Excepto a ti, a nadie le molestan los "Tidbits".

En el MP no se inserta el código legible y la persona no se dirige a mí personalmente, sólo le respondí.

Si te he incomodado con mis posts, lo siento, pero no hay otra forma.

 
законопослушный гражданин:

Por supuesto, era un viejo EA que funcionaba.

Tengo la sospecha de que no hay conexión entre las funciones:

и

No puedo entender qué pasa.

en la versión antigua:

и

Si fuera una cuestión de cálculo de lotes, habría un error, pero si no hay error, significa que no tenemos condiciones para abrir una orden.

Adjunta la versión antigua que funciona y le echaré un vistazo