[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 145

 
xmurik писал(а) >>
Hata nerede?

Görünüşe göre mevcut fiyata çok yakın. Stoplevel MarketInfo(Symbol(),MODE_STOPLEVEL);

 
Vinin писал(а) >>

Görünüşe göre mevcut fiyata çok yakın. Stoplevel MarketInfo(Symbol(),MODE_STOPLEVEL);

210 puan fiyatına kadar. Ve test cihazı 3 hatası veriyor.

 
xmurik писал(а) >>

210 puan fiyatına kadar. Ve test cihazı 3 hatası veriyor.

Bence son kullanma tarihi yanlış ayarlanmış, geçmişte bir yerde.

 
xmurik писал(а) >>

210 puana kadar. Ve test cihazı 3 hatası veriyor.

Geçenlerde bu hatayı yaşadım. bir şekilde yönetilen

 
Lütfen hatayı bulmama yardım edin. Artık yapamam .. Ve onu nerede arayacağımı bile bilmiyorum. TypeError: '\end_of_program' - dengesiz sol parantez
Dosyalar:
 
Alex5757000 писал(а) >>
Lütfen hatayı bulmama yardım edin. Artık yapamam .. Ve onu nerede arayacağımı bile bilmiyorum. TypeError: '\end_of_program' - dengesiz sol parantez

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // kapanış parantezi eksik

 
Vinin >> :

if(NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits) < NormalizeDouble(Dist,Digits)) // kapanış parantezi eksik

Çok teşekkür ederim Vinin :-). böyle saçma bir hata için özür dilerim, sadece programlamaya başlıyorum, deneyim kazanıyorum ...

 
Roger писал(а) >>

Bence son kullanma tarihi yanlış ayarlanmış, geçmişte bir yerde.

Aynen öyle. Sorun onunlaydı.

 

Ve yine yardımınız için,... danışman tarafından her şey tamamlanmış görünüyordu,.... ama emrin belirli koşullar altında kapanmasıyla hiçbir şekilde çalışmıyor. Daha sonraki kapanış için bir sipariş belirlemeye çalışırken, bir biletin veya sipariş numarasının tanımında veya kodlarda tamamen geçersiz bir değerde sürekli bir hata oluşur. Eğlenmem ve muhasebe düzenim yok ama onsuz da idare edebilirim gibi görünüyor, belki sıralı işlemlerin koda göre geçişinin yanlış bir gönderimi var, ama her şey doğru gibi görünüyor. Birine elinizden geldiğince yardım edin, koda bakın, sırayı koşula göre kapatmak için ne eklenmesi gerektiğini söyleyin, eğlencede doğru işlem sırası açısından tüm kodun uygulanması hakkında yorum yapın ve başlayın, aksi takdirde sanki döngüye girmişim gibi geliyor ve bazı noktalarda durum oluştuğunda sıra açılmıyor (bir sonraki durum için atlanıyor) ....... !!! ..))) İşte kod!

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

işte gerçek kod. Madem buradayım, bir soru daha soracağım.. Expert Advisor'ın uygulanmasında, çoklu yeniden hesaplama veya DC'den parametre isteme konusunda herhangi bir kısıtlama var mı? kısıtlama anlamında böyle küresel (belirli dt'ler değil)!

Yardım ve biraz eleştirel değerlendirme bekliyorum)

 
Alex5757000 >> :
Lütfen hatayı bulmama yardım edin. Artık yapamam .. Ve onu nerede arayacağımı bile bilmiyorum. TypeError: '\end_of_program' - dengesiz sol parantez

Semyon Semyonoviç...

Bunun gibi bir şey yazmayı öğrenin:

if(){}

sonra doldurmaya başlayın, o zaman neredeyse hiç kafanız karışmaz.

Type error: '\end_of_program' - dengesiz sol parantez çok hoş değil çünkü derleyici hatayı tam olarak bulamıyor, bu yüzden yapmamak daha iyidir, ancak yukarıdaki yöntemi kullanarak bundan kaçınabilirsiniz, bir yere boşluk yapabilir ve ekleyebilirsiniz doğru yerlerde.

Sonraki "Cüppe kot pantolonun içine sıkıştırılmamış"

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

Ekteki dosyadaki düzeltmelerle kodunuzu alın.

Dosyalar: