Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 908

 

Скачал архив котировок. Вот пример одной записи:
4071656556,D,EUR/USD,2015-05-31 17:00:02.803000000,1.098020,1.098120
Заголовки полей следующие: lTid,cDealable,CurrencyPair,RateDateTime,RateBid,RateAsk
Что означают первые 2 поля?

 
PostoronnimV:

Скачал архив котировок. Вот пример одной записи:
4071656556,D,EUR/USD,2015-05-31 17:00:02.803000000,1.098020,1.098120
Заголовки полей следующие: lTid,cDealable,CurrencyPair,RateDateTime,RateBid,RateAsk
Что означают первые 2 поля?

Первые три столбца можно смело отбросить, они не имеют практического применения для создания котировок под МТ4.
 

Добрый день!

В эксперте я использую много блоков, в каждом блоке есть один и тот же индикатор. Могу я как то сделать что этот индикатор объявил один раз в OnTick() и потом в каждом блоке не надо било заново объявлять?

 
abeiks:

Добрый день!

В эксперте я использую много блоков, в каждом блоке есть один и тот же индикатор. Могу я как то сделать что этот индикатор объявил один раз в OnTick() и потом в каждом блоке не надо било заново объявлять?

Можете
 
Как? На примере покажите пожалуйста.
void OnTick()
{
double MA_High = iMA(NULL, 0, 9, 1, MODE_EMA, PRICE_LOW, cnt);
}

int exampl()
{
a = MA_High;
}

int exampl1()
{
a = MA_High;
}
 
abeiks:
Как? На примере покажите пожалуйста.
Курите мануал про видимость переменных, объявленных на разных уровнях кода.
double MA_High=0; 
void OnTick()
{
double MA_High = iMA(NULL, 0, 9, 1, MODE_EMA, PRICE_LOW, cnt);
}

int exampl()
{
a = MA_High;
}

int exampl1()
{
a = MA_High;
}
 
evillive:
Курите мануал про видимость переменных, объявленных на разных уровнях кода.
Спасибо!
 

Здравствуйте,

Подскажите пожалуйста, почему возникают предупреждения - implicit conversion from 'string' to 'number'  и implicit conversion from 'number' to 'string' в местах расположения переменных (после команды int и далее после message).  Это наверное одно и тоже предупреждение? я плохо разбираюсь в программировании.

И скажите ещё, если код работает, а есть только предупреждения это плохо? на что влияет?

И ещё один вопрос, как в сообщение вывести локальное время? Пишу message= TimeLocal()+.....  и ничего не происходит..


Фрагмент кода:

if(last_sell_1_price==0 || TimeCurrent()-last_sell_1_price>alarm_limit_notification*60)
                 {
                  Print("");
                  if(Session_Check())
                    {
            
//сооб sell

                     int sell1 = DoubleToStr( (Bid - Price_Line)/Point,0);
                     int sell2=DoubleToStr( (Bid - Price_Line2)/Point,0);
                     int rsi=DoubleToStr(ExtRSIBuffer[0] - Price_RSI_Line, 2);
                                  
                     message=
                     TimeCurrent()+"  (Level)"+"   \n"+
                     "\n"+
                     Symbol()+"  TF:"+TF_in_String()+"   \n"+
                     "Price: "+DoubleToStr(Bid,4)+"   \n"+
                     "sell_1: "+(sell1>0?"+":"")+sell1+"   \n"+
                     "sell_2: "+(sell2>0?"+":"")+sell2+"   \n"+
                     "RSI:  "+(rsi>0?"+":"")+rsi;
  
                     SendNotification(message);
                     Print(message);
                     if(mail_message==on)
                     SendMail(Symbol(),message);

                    }
                  last_sell_1_price=TimeCurrent();
                 }
              }
 
halk2009:

Здравствуйте,

Подскажите пожалуйста, почему возникают предупреждения - implicit conversion from 'string' to 'number'  и implicit conversion from 'number' to 'string' в местах расположения переменных (после команды int и далее после message).  Это наверное одно и тоже предупреждение? я плохо разбираюсь в программировании.

И скажите ещё, если код работает, а есть только предупреждения это плохо? на что влияет?


Фрагмент кода:

А почитайте, чем отличается стринг и интегер, наверное всё-таки надо переменные типом стринг объявлять, раз уж на вывод идут

string sell1 = DoubleToStr( (Bid - Price_Line)/Point,0);
string sell2=DoubleToStr( (Bid - Price_Line2)/Point,0);
string rsi=DoubleToStr(ExtRSIBuffer[0] - Price_RSI_Line, 2);
 
evillive:

А почитайте, чем отличается стринг и интегер, наверное всё-таки надо переменные типом стринг объявлять, раз уж на вывод идут

Да!) это я уже понял, исправил, но ушла только часть предупреждений. Но там где в коде TimeCurrent()... ,sell1>0... , sell2>0... , rsi>0  - осталось предупреждение implicit conversion from 'number' to 'string'