Ошибки, баги, вопросы - страница 1579

 
Dennis Kirichenko:

Посмотрите на функцию PrintFormat(). В Вашем случае лучше пользоваться ею.

Тогда вот как-то так:

Parsimony рулит :-)

Попробовал код, получил нули

2016.05.12 00:41:43.336 Info_SymbolList AUDJPY,M15: symbolName=AUDJPY, ATR_D_1001=0.0000

 
Dennis Kirichenko:

Попробуйте писать только строковые переменные в файл.

Вот как-то так:

все переменные пишутся нормально, кроме ATR_D_1000 , это не ясно...
 
-Aleks-:
все переменные пишутся нормально, кроме ATR_D_1000 , это не ясно...

G попробуйте так

FileWrite(handle,symbolName);
FileWrite(handle,MarketInfo(symbolName,MODE_SPREAD));
FileWrite(handle,MarketInfo(symbolName,MODE_MINLOT));
FileWrite(handle,MarketInfo(symbolName,MODE_MARGINREQUIRED)*MarketInfo(symbolName,MODE_MINLOT));
FileWrite(handle,MarketInfo(symbolName,MODE_TICKVALUE)*MarketInfo(symbolName,MODE_MINLOT)*100);
FileWrite(handle,MarketInfo(symbolName,MODE_STOPLEVEL));
FileWrite(handle,str2);
FileWrite(handle,ATR_D_1000);
FileWrite(handle,ATR_M15_9600)
FileWrite(handle,iBars(symbolName,1440));
FileWrite(handle,iBars(symbolName,15));
 
Sergey Gritsay:

G попробуйте так

Спасибо, попробую. Но, если не принтуется переменная ATR_D_1000, то как можно ожидать, что она будет записана?
 
-Aleks-:
Спасибо, попробую. Но, если не принтуется переменная ATR_D_1000, то как можно ожидать, что она будет записана?
D Все принтуется. Скроее всего проблема в подкачке истории, так как 1000 дневных баров довольно огромен, индикатор долго расчитывается при первом запуске, потом все нормуль 
0       18:17:32.387    Script test_1 USDCHF,H1: loaded successfully
0       18:17:35.135    test_1 USDCHF,H1 inputs: Start=1463014800; End=1463025600; 
0       18:17:40.219    test_1 USDCHF,H1: initialized
0       18:17:55.643    test_1 USDCHF,H1: ATR_D_1000=0.0
0       18:17:55.643    test_1 USDCHF,H1:  symbolName=USDCHF ATR_D_1001=0.0
0       18:17:55.643    test_1 USDCHF,H1: uninit reason 0
0       18:17:55.644    Script test_1 USDCHF,H1: removed
0       18:20:26.749    Script test_1 USDCHF,H1: loaded successfully
0       18:20:33.592    test_1 USDCHF,H1: initialized
0       18:20:33.593    test_1 USDCHF,H1: ATR_D_1000=0.008878300000000023
0       18:20:33.593    test_1 USDCHF,H1:  symbolName=USDCHF ATR_D_1001=0.008878300000000023
0       18:20:33.593    test_1 USDCHF,H1: uninit reason 0
0       18:20:33.594    Script test_1 USDCHF,H1: removed
0       18:21:48.047    Script test_1 USDCHF,Daily: loaded successfully
0       18:21:53.155    test_1 USDCHF,Daily: initialized
0       18:21:53.155    test_1 USDCHF,Daily: ATR_D_1000=0.008468200000000019
0       18:21:53.155    test_1 USDCHF,Daily:  symbolName=USDCHF ATR_D_1001=0.008468200000000019
0       18:21:53.156    test_1 USDCHF,Daily: uninit reason 0
0       18:21:53.157    Script test_1 USDCHF,Daily: removed
0       18:22:13.167    Script test_1 USDCHF,H4: loaded successfully
0       18:22:19.313    test_1 USDCHF,H4: initialized
0       18:22:19.313    test_1 USDCHF,H4: ATR_D_1000=0.008468200000000019
0       18:22:19.313    test_1 USDCHF,H4:  symbolName=USDCHF ATR_D_1001=0.008468200000000019
0       18:22:19.313    test_1 USDCHF,H4: uninit reason 0
0       18:22:19.314    Script test_1 USDCHF,H4: removed
0       18:22:26.488    Script test_1 USDCHF,H1: loaded successfully
0       18:22:32.343    test_1 USDCHF,H1: initialized
0       18:22:32.344    test_1 USDCHF,H1: ATR_D_1000=0.008468200000000019
0       18:22:32.344    test_1 USDCHF,H1:  symbolName=USDCHF ATR_D_1001=0.008468200000000019
0       18:22:32.344    test_1 USDCHF,H1: uninit reason 0
0       18:22:32.345    Script test_1 USDCHF,H1: removed
 
Sergey Gritsay:
D Все принтуется. Скроее всего проблема в подкачке истории, так как 1000 дневных баров довольно огромен, индикатор долго расчитывается при первом запуске, потом все нормуль 
А код какой, можете скрипт приложить? А то я не могу с места сдвинуться, спасибо.
 
-Aleks-:
А код какой, можете скрипт приложить? А то я не могу с места сдвинуться, спасибо.
такой же как и у вас
//+------------------------------------------------------------------+
//|                                                       test_1.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

   double ATR_D_1000=0;

   string symbolName=_Symbol;

   ATR_D_1000=iATR(symbolName,1440,1000,1);

   Print("ATR_D_1000=",ATR_D_1000);

   Print(" symbolName=",symbolName," ATR_D_1001=",iATR(symbolName,1440,1000,1));
  }
//+------------------------------------------------------------------+
 

EX5 loading failed (при выполнении)

typedef void (*fn)();
fn GP( fn f ) { return f; }
void OnStart2() { Print( __FUNCSIG__ ); }
void OnStart()
{
        Print( GP( OnStart2 ));
}

а так - нормально

void OnStart()
{
        Print( GP( OnStart ));
}
 
если функция ордер тикет возвращает значение типа инт то что будет когда мы упрёмся в потолок до которого рукой подать, сейчас например 9-ти значные номера тикетов есть, потолок 10 знаков? или брокер сбросит счётчик ордеров?
 
Sergey Gritsay:
такой же как и у вас
Спасибо - обнаружил ошибку в коде.
Причина обращения: