[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 145

 
xmurik писал(а) >>
¿Dónde está el error?

Al parecer, demasiado cerca del precio actual. Debería comprobar MarketInfo(Symbol(),MODE_STOPLEVEL);

 
Vinin писал(а) >>

Al parecer, demasiado cerca del precio actual. Deberíamos comprobar MarketInfo(Symbol(),MODE_STOPLEVEL);

Son 210 puntos al precio. Y el probador da el error 3.

 
xmurik писал(а) >>

Hasta un precio de 210 puntos. Y el probador da el error 3.

Creo que está mal configurado, en algún lugar del pasado.

 
xmurik писал(а) >>

Hasta un precio de 210 puntos. Y el probador da el error 3.

Hace poco tuve este error. De alguna manera lo superé.

 
Por favor, ayúdenme a encontrar el error. No puedo... Ni siquiera sé dónde buscarlo. Error como: '\ fin_del_programa' - paréntesis izquierdo desequilibrado
Archivos adjuntos:
 
Alex5757000 писал(а) >>
Por favor, ayude a encontrar el error. Ya no lo encuentro. Ni siquiera sé dónde buscarlo. Error como: '\ fin_del_programa' - paréntesis izquierdo desequilibrado

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // falta el corchete de cierre

 
Vinin >> :

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // falta el corchete de cierre

Vinin , muchas gracias :-). Perdón por un error tan ridículo, estoy empezando a programar, voy ganando experiencia...

 
Roger писал(а) >>

Creo que está mal dirigido, en algún lugar del pasado.

Exactamente. Ese era el problema.

 

Vuelvo a pedirte ayuda... Creo que he terminado el EA, .... Pero parece que no puedo cerrar una orden de acuerdo con algunas condiciones específicas. Sigo obteniendo un error al buscar un ticket o un número de pedido, o bien obtengo un valor inválido en mis códigos al intentar determinar qué pedido cerrar. No tengo una fun- bilidad de órdenes, pero parece posible manejarse sin ella, tal vez haya una instalación errónea de operaciones consecutivas en el código, pero parece correcto. Ayuda que puede, mira el código, aconsejar lo que hay que añadir para cerrar el orden por una condición, hacer comentarios sobre la aplicación del código en términos de corrección de la secuencia de procesamiento en el inicio fun-i, y la sensación de que soy como un bucle y en algunos momentos cuando la condición no se abre el orden (saltó al siguiente caso) ....... ! !!! ..))) ¡Aquí está el código!

//+-----------------Включаемые дериктивы-----------------------------+
#include <Param.mqh>          //фун-я параметры 
//#include <Message_Print.mqh>          //фун-я коммент
#include <isTradeTimeString_m.mqh> //фун-я торгов по времени
#include <TrailingStop.mqh>          //фун-я трайлинг 
#include <isNewBar.mqh>       //фун-я проверки нового бара
#include <TotalOrders.mqh>    //фун-я проверки кол-ва открытых сделок
#include <Crit_Flat.mqh>      //фун-я проверки флэт
#include <Crit_Sell.mqh>      //фун-я проверки сигнала  продажи
#include <Crit_Buy.mqh>       //фун-я проверки сигнала  покупки
#include <TakeProfitLastClosePos.mqh>      //фун-я определения профита послед закрыт поз
#include <GetTypeLastClosePos2.mqh>         //функция определения типа закрытой поз
//+-----------------Переменные---------------------------------------+
int               ExpertOrdersTotal;   //общее колличество открытых позиций
int tiket = 0;
int mn = 0;                                //магик


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   MinStop=MarketInfo(Symbol(),MODE_STOPLEVEL); //минимальное разрешимое отклонение стоп лосс от рыночной цены
//----
   return(0);
  }

int start()
  {

//Print("Проверка открытых ордеров 1");
//---------------------Проверка по времени------------1---------
  if ( tim==true)
   {
   isTradeTimeString(); //торговля по времени
   if ( isTradeTimeString( TimeBegin, TimeEnd))
     {
//---------------------Проверка трейлинга------------2---------
   TrailingStop();


//---------------------Проверка открытых ордеров------------3---------
   ExpertOrdersTotal = TotalBuy()+ TotalSell(); // СКОЛЬКО ВСЕГО ОРДЕРОВ ОТКРЫТО  
   if ( ExpertOrdersTotal>= Sdelki)         // если кол-во открытых сделок меньше максимального
     {                                   // кол-ва сделок, проверяем возможность открытия сделки
      //Print("превышено кол-во сделок,выход"); 
      return(0);
     }   
   else
     {

          Print("проверка появления нового бара ");

//--------------------проверка появления нового бара--------4---------
        Fun_New_Bar();                               // Обращение к функции и передача ей управления
        if ( New_Bar==false)                          // Если бар не новый..
         {
          //Print("Нового бара пока нет,выход");   
          return;                                      // ..то уходим   
         }
        //Print("проверка сигнала ");
//--------------------проверка сигнала----------------------5---------
        Crit_Flat();
      
        Crit_Sell();
        Crit_Buy();
//        Print("коэф-нт покупки ",ves_buy);
//        Print("коэф-нт продажи ",ves_sell);
        
        if ( Flat == true)  //проверка наличия флэта
          {
            return(0);
          }
        if ( Trend==true)  //сделки по тренду
          {
              
              if ( ves_buy < ves_sell) 
                {
                 tiket = OrderSend(Symbol(),OP_SELL, Lot,Bid,3,Bid+ SL*Point,Ask- TP*Point,"My order #", mn,0,Green);
                 Print ("Ордер открыт по тренду"); 
                } 
              if ( ves_buy > ves_sell)
                {
                 tiket = OrderSend(Symbol(),OP_BUY, Lot,Ask,3,Bid- SL*Point,Ask+ TP*Point,"My order #", mn,0,Red);
                 Print ("Ордер открыт по тренду"); 
                } 
          }
        else
          {       
        if ( ves_buy > ves_sell && ves_buy >= param)
           {
             tiket = OrderSend(Symbol(),OP_BUY, Lot,Ask,3,Bid- SL*Point,Ask+ TP*Point,"My order #", mn,0,Red);
             Print ("Ордер открыт по коэфициенту"); 
        //--------------------------------------------------
        //          доработать фун-ю открытия ордера
        //--------------------------------------------------
           }
           
        if ( ves_buy < ves_sell && ves_sell >= param)
           {
            tiket = OrderSend(Symbol(),OP_SELL, Lot,Bid,3,Bid+ SL*Point,Ask- TP*Point,"My order #", mn,0,Green);
            Print ("Ордер открыт по коэфициенту");
        //--------------------------------------------------
        //          доработать фун-ю открытия ордера
        //--------------------------------------------------
           }
          }  
    
//+------------------------------------------------------------------------   
            
       
     }        //скобка проверки колва сделок
  Print("есть сделки, выход");

  }//скобка проверки времени   
 Print ("время не подошло");  
  }//проверка флага торговли по времени 
   return(0);                                  //ретурн основного старта
  }

Aquí está el código. Ya que estoy aquí, tengo una pregunta más... ¿hay alguna restricción en la implementación del EA, en términos de recálculo múltiple o solicitud de parámetros de una empresa de corretaje?

espero un poco de ayuda y un poco de crítica )

 
Alex5757000 >> :
Por favor, ayúdenme a encontrar el error. No puedo... Ni siquiera sé dónde buscarlo. Error como: '\ fin_del_programa' - paréntesis izquierdo desequilibrado

Semyon Semyonych...

Aprende a escribir una construcción como ésta:

if(){}

y luego empezar a rellenarlo, entonces casi nunca te confundirás.

Error como: '\end_of_program' - paréntesis izquierda desequilibrada es muy desagradable porque el compilador no puede señalar la ubicación del error, por lo que es mejor no hacer, pero evitarlo por el método descrito anteriormente, usted puede en algún lugar de hacer una plantilla y pegar en los lugares correctos.

El siguiente "No se puede meter una sotana en los vaqueros"

if();{} - это не верная конструкция

>> quítalo, tu código con las correcciones está en el archivo adjunto.

Archivos adjuntos: