[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 145

 
xmurik писал(а) >>
Onde está o erro?

Aparentemente, muito próximo do preço atual. Você deve verificar MarketInfo(Symbol(),MODE_STOPLEVEL);

 
Vinin писал(а) >>

Aparentemente, muito próximo do preço atual. Devemos verificar para MarketInfo(Symbol(),MODE_STOPLEVEL);

São 210 pontos para o preço. E o testador dá erro 3.

 
xmurik писал(а) >>

Até um preço de 210 pontos. E o testador dá erro 3.

Acho que foi colocado de forma incorreta, em algum lugar no passado.

 
xmurik писал(а) >>

Até um preço de 210 pontos. E o testador dá o erro 3.

Eu tive este erro recentemente. De alguma forma eu superei isso.

 
Por favor, ajude-me a encontrar o erro. Eu não posso... Eu nem sei onde procurar. Erro como: '\i_de_final_do_programa' - parêntese esquerda desbalanceada
Arquivos anexados:
 
Alex5757000 писал(а) >>
Por favor, ajude a encontrar o erro. Não consigo mais encontrá-lo. Eu nem sei onde procurar. Erro como: '\i_de_final_do_programa' - parêntese esquerda desbalanceada

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // missing closing bracket

 
Vinin >> :

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // missing closing bracket

Vinin , muito obrigado :-). Desculpe por um erro tão ridículo, estou apenas começando a programar, estou ganhando experiência...

 
Roger писал(а) >>

Acho que está mal direcionada, em algum lugar no passado.

Exatamente. Esse era o problema.

 

Volto para pedir ajuda... Acho que terminei a EA, .... Mas não consigo fechar um pedido de acordo com algumas condições específicas. Continuo recebendo um erro ao procurar um bilhete ou um número de ordem, ou então recebo um valor inválido em meus códigos ao tentar determinar qual ordem fechar. Eu não tenho uma bilidade de ordens divertida, mas parece ser possível administrar sem ela, talvez haja uma instalação errada de operações consecutivas no código, mas parece certo. Ajude quem puder, olhando para o código, aconselhar o que precisa ser adicionado para fechar a ordem por uma condição, fazer comentários sobre a implementação do código em termos de correção da seqüência de processamento no início do fun-i, e a sensação de que sou como um loop e em alguns momentos quando a condição não é aberta ordem (pulei para o próximo caso) ....... ! !!! ..))) Aqui está o 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);                                  //ретурн основного старта
  }

Aqui está o código. Como estou aqui, tenho mais uma pergunta ... há alguma restrição à implementação da EA, em termos de múltiplos recálculos ou solicitação de parâmetros de uma corretora?

estou esperando por alguma ajuda e um pouco de crítica )

 
Alex5757000 >> :
Por favor, ajude-me a encontrar o erro. Eu não posso... Eu nem sei onde procurar. Erro como: '\i_de_final_do_programa' - parêntese esquerda desbalanceada

Semiônimo Semiônimo...

Aprenda a escrever uma construção como esta:

if(){}

e depois começar a preenchê-lo, então você quase nunca ficará confuso.

Erro como: '\i_de_série_de_programa' - parêntese esquerda desequilibrada é muito desagradável porque o compilador não consegue localizar o erro, por isso é melhor não fazer, mas evitá-lo pelo método descrito acima, você pode fazer um modelo e colar em algum lugar nos lugares certos.

O próximo "Você não pode enfiar uma batina no seu jeans".

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

>> leve-o embora, seu código com as correções está no arquivo anexo.

Arquivos anexados: