[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 145

 
xmurik писал(а) >>
Dov'è l'errore?

Apparentemente troppo vicino al prezzo attuale. Dovresti controllare MarketInfo(Symbol(),MODE_STOPLEVEL);

 
Vinin писал(а) >>

Apparentemente troppo vicino al prezzo attuale. Dovremmo controllare MarketInfo(Symbol(),MODE_STOPLEVEL);

Sono 210 punti al prezzo. E il tester dà l'errore 3.

 
xmurik писал(а) >>

Fino a un prezzo di 210 punti. E il tester dà l'errore 3.

Penso che sia impostato in modo errato, da qualche parte nel passato.

 
xmurik писал(а) >>

Fino a un prezzo di 210 punti. E il tester dà l'errore 3.

Ho avuto questo errore di recente. In qualche modo l'ho superato.

 
Per favore aiutatemi a trovare l'errore. Non posso... Non so nemmeno dove cercarlo. Errore come: '\fine_del_programma' - parentesi sinistra sbilanciata
File:
 
Alex5757000 писал(а) >>
Si prega di aiutare a trovare l'errore. Non lo trovo più. Non so nemmeno dove cercarlo. Errore come: '\fine_del_programma' - parentesi sinistra sbilanciata

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // manca la parentesi di chiusura

 
Vinin >> :

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // manca la parentesi di chiusura

Vinin , grazie mille :-). Scusa per un errore così ridicolo, ho appena iniziato a programmare, sto facendo esperienza...

 
Roger писал(а) >>

Credo che sia stato indirizzato male, da qualche parte nel passato.

Esattamente. Questo era il problema.

 

Sono tornato da voi per chiedere aiuto... Penso di aver finito l'EA, .... Ma non riesco a chiudere un ordine secondo alcune condizioni specifiche. Continuo a ricevere errori quando cerco un biglietto o un numero d'ordine, oppure ottengo un valore non valido nei codici quando cerco di determinare quale ordine chiudere. Non ho una fun- bilità di ordini, ma sembra possibile gestire senza, forse c'è un'installazione sbagliata di operazioni consecutive nel codice, ma sembra giusto. Aiutare chi può, guardare il codice, consigliare ciò che deve essere aggiunto per chiudere l'ordine da una condizione, fare commenti sull'implementazione del codice in termini di correttezza della sequenza di elaborazione nel fun-i start, e la sensazione che sono come un ciclo e in alcuni momenti quando la condizione non è aperta ordine (saltato al caso successivo) ....... ! !!! ..))) Ecco il codice!

//+-----------------Включаемые дериктивы-----------------------------+
#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);                                  //ретурн основного старта
  }

Ecco il codice. Visto che sono qui, ho un'altra domanda ... ci sono delle restrizioni sull'implementazione dell'EA, in termini di ricalcolo multiplo o di richiesta di parametri da parte di una società di brokeraggio?

Sto aspettando un po' di aiuto e un po' di critiche )

 
Alex5757000 >> :
Per favore aiutatemi a trovare l'errore. Non posso... Non so nemmeno dove cercarlo. Errore come: '\fine_del_programma' - parentesi sinistra sbilanciata

Semyon Semyonych...

Imparate a scrivere una costruzione come questa:

if(){}

e poi iniziate a riempirlo, allora non vi confonderete quasi mai.

Errore come: '\fine_di_programma' - parentesi sinistra sbilanciata è molto spiacevole perché il compilatore non può individuare la posizione dell'errore, quindi è meglio non farlo, ma evitarlo con il metodo descritto sopra, si può da qualche parte fare un modello e incollarlo nei posti giusti.

Il prossimo "Non puoi infilare una vestaglia nei jeans"

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

>> toglietelo, il vostro codice con le correzioni è nel file allegato.

Motivazione: