Hatalar, hatalar, sorular - sayfa 991

 
costy_ :

aradığında alıyorum

2013.05.31 13:08:41 sıcaklık (USDUSD,M5) TERMINAL_COMPANY = MetaQuotes Software Corp.

ama başka bir komisyoncu falan olmalı, teşekkürler.

 AccountInfoString ( ACCOUNT_SERVER )

terminal MetaQuotes Software Corp'a aittir.

komisyoncu AccountInfoString ( ACCOUNT_SERVER )

 
pako :

terminal MetaQuotes Software Corp'a aittir.

komisyoncu AccountInfoString ( ACCOUNT_SERVER )

Teşekkürler, yine de batırdım.
 

Tünaydın!

Çoklu para birimi göstergesi yazıyorum. Bir sonraki kod değişikliği ile derleme normal bir şekilde ilerliyor fakat bir hindiyi grafiğe asmaya çalıştığımda "geçersiz ex5 dosyası" alıyorum. Farklı bir adla yeniden kaydetmeyi denedim - aynı şey. Sorunun kodda olduğu ortaya çıktı, ancak derleme normal şekilde ilerliyor.

 //+------------------------------------------------------------------+
//|                                                      Therm02.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+

#include <ST_ServicesAndAbstracts.mqh>

#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link        "http://www.mql5.com"
#property version    "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 120
#property indicator_buffers 1
#property indicator_plots    2
//--- plot Label1
#property indicator_label1   "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1   clrBlack
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//--- indicator buffers
double          gThermB[];

double          gEURThermB[];
double          gCHFThermB[];

CRangeManager  *gEURRM, *gCHFRM;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,gEURThermB, INDICATOR_DATA );
   SetIndexBuffer ( 0 ,gCHFThermB, INDICATOR_DATA );
   gEURRM = new CRangeManager( 1 , 0.2 , 20 , "EURUSD" );
   gCHFRM = new CRangeManager( 1 , 0.2 , 20 , "USDCHF" );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,       // size of input time series
                 const int prev_calculated,   // bars handled in previous call
                 const datetime & time[],     // Time
                 const double & open[],       // Open
                 const double & high[],       // High
                 const double & low[],         // Low
                 const double & close[],       // Close
                 const long & tick_volume[],   // Tick Volume
                 const long & volume[],       // Real Volume
                 const int & spread[]         // Spread
   )

  {
//---
   double lEUR[], lCHF[];
   int copied;
   copied= CopyClose ( "EURUSD" , PERIOD_CURRENT , 0 , 5000 ,lEUR); 
   if (copied==- 1 ){ Print ( "Ждите...EUR" ); return ( 0 );}
   copied= CopyClose ( "USDCHF" , PERIOD_CURRENT , 0 , 5000 ,lCHF); 
   if (copied==- 1 ){ Print ( "Ждите...CHF" ); return ( 0 );}


   sThermometer lT;
   for ( int i=prev_calculated;i<rates_total;i++)
      {
         lT = gEURRM.getState(lEUR[i]);
         gEURThermB[i] = lT.currentT; 
         
         lT = gEURRM.getState(lCHF[i]);
         gEURThermB[i] = lT.currentT; 
      }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction & trans,
                         const MqlTradeRequest & request,
                         const MqlTradeResult & result)
  {
//---
   
  }
//+------------------------------------------------------------------+

Keder nasıl yardım edilir?

Teşekkür ederim!

 
ns_k :

Tünaydın!

Çoklu para birimi göstergesi yazıyorum. Bir sonraki kod değişikliği ile derleme normal bir şekilde ilerliyor fakat bir hindiyi grafiğe asmaya çalıştığımda "geçersiz ex5 dosyası" alıyorum. Farklı bir adla yeniden kaydetmeyi denedim - aynı şey. Sorunun kodda olduğu ortaya çıktı, ancak derleme normal şekilde ilerliyor.

Keder nasıl yardım edilir?

Teşekkür ederim!

Derleme hatasız ve uyarısız mı geçiyor? Doğru?
 
tol64 :
Derleme hatasız ve uyarısız mı geçiyor? Doğru?
hata yoktur, uyarılar vardır, çoğunlukla kullanılmayan değerler gibi zararsızdır. Doğru, bu gösterge var, tampon miktarı gerekenden az. burayı kazmaya çalışacağım

 
ns_k :
hata yok, uyarılar var, çoğunlukla kullanılmayan değerler gibi zararsız. Doğru, bu gösterge var, tampon miktarı gerekenden az. burayı kazmaya çalışacağım

Evet öyle. İşte hata:

 //+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,gEURThermB, INDICATOR_DATA );
   SetIndexBuffer ( 0 ,gCHFThermB, INDICATOR_DATA );
   gEURRM = new CRangeManager( 1 , 0.2 , 20 , "EURUSD" );
   gCHFRM = new CRangeManager( 1 , 0.2 , 20 , "USDCHF" );
//---
   return ( INIT_SUCCEEDED );
  }
Kırmızı ile vurgulanmıştır. 1 ile değiştirin.
 
#property indicator_buffers 1
#property indicator_plots    2
Tampon sayısı parsel sayısından az olamaz . Bu, iletideki derleyici tarafından bildirilir.
 
tol64 :

Evet öyle. İşte hata:

Kırmızı ile vurgulanmıştır. 1 ile değiştirin.
 #property indicator_buffers 1
#property indicator_plots    2
 Спасибо всем!
 
ns_k :

MT4 Built 500. Alarmı belirli bir seviyeye ayarladım, çalışıyor, her şey yolunda. Bildirimi (boşluk) kapatıyorum, duraklatıldı olarak görüntüleniyor. Ardından araç eşik değerine ulaşır ve uyarı tetiklenir. Olmalı?

not. Evet, not. İlk önce tüm bildirimleri fare ile seçtim (6 tane var) ve boşluk tuşuna bastım, hepsi askıya alındı. Birini tetikledikten sonra, zaten yalnızca bir boşlukla kapattım ve hala çalışıyor

 

daha fazla dökeceğim

 //+------------------------------------------------------------------+
//|                                                      Therm02.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+

//#include <ST_ServicesAndAbstracts.mqh>

#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 120
#property indicator_buffers 2
#property indicator_plots    2
//--- plot Label1
#property indicator_label1   "Label1"

#property indicator_type1   DRAW_LINE
#property indicator_color1   clrBlack
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//--- indicator buffers
double          gThermB[];

double          gEURThermB[];
double          gCHFThermB[];

//CRangeManager  *gEURRM, *gCHFRM;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,gEURThermB, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,gCHFThermB, INDICATOR_DATA );
   //gEURRM = new CRangeManager(1,0.2,20,"EURUSD");
   //gCHFRM = new CRangeManager(1,0.2,20,"USDCHF");
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,       // size of input time series
                 const int prev_calculated,   // bars handled in previous call
                 const datetime & time[],     // Time
                 const double & open[],       // Open
                 const double & high[],       // High
                 const double & low[],         // Low
                 const double & close[],       // Close
                 const long & tick_volume[],   // Tick Volume
                 const long & volume[],       // Real Volume
                 const int & spread[]         // Spread
   )

  {
//---
   double lEUR[], lCHF[];
   int copied;
   // copied=CopyClose("EURUSD",PERIOD_CURRENT,0,5000,lEUR); 
   if (copied==- 1 ){ Print ( "Ждите...EUR" ); return ( 0 );}
   // copied=CopyClose("USDCHF",PERIOD_CURRENT,0,5000,lCHF); 
   if (copied==- 1 ){ Print ( "Ждите...CHF" ); return ( 0 );}


   //sThermometer lT;
   for ( int i=prev_calculated;i< 5000 ;i++)
      {
         //lT = gEURRM.getState(lEUR[i]);
       //  gEURThermB[i] = lT.currentT; 
         
     //    lT = gCHFRM.getState(lCHF[i]);
     //    gCHFThermB[i] = lT.currentT; 
      }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction & trans,
                         const MqlTradeRequest & request,
                         const MqlTradeResult & result)
  {
//---
   
  }
//+------------------------------------------------------------------+

terminal yemin ederken belirtilen sembol seçilmez. Buluttan başka bir MT5'e sürüklenir - çalışır ve kayan yazılar kullanan yorumsuz satırlarla.

Nedenin dibine inmeye çalışırdım ama böyle bir başıboş hataya nereden başlayacağımı bile bilmiyorum. Terminali hemen yeniden düzenleyebilir misiniz?