Errori, bug, domande - pagina 1579

 
Dennis Kirichenko:

Guardate la funzione PrintFormat(). Nel tuo caso, è meglio usarlo.

Allora va così:

Regole di parsimonia :-)

Provato il codice, ha ottenuto degli zeri

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

 
Dennis Kirichenko:

Provate a scrivere solo le variabili stringa nel file.

È così:

tutte le variabili sono scritte normalmente, tranneATR_D_1000, questo non è chiaro...
 
-Aleks-:
tutte le variabili sono scritte normalmente, tranneATR_D_1000, non è chiaro...

G prova così

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 Prova questo

Grazie, farò una prova. Ma, se la variabileATR_D_1000 non viene stampata, come possiamo aspettarci che venga scritta?
 
-Aleks-:
Grazie, farò una prova. Ma se la variabileATR_D_1000 non viene stampata, come possiamo aspettarci che venga scritta?
D Verrà stampato. Molto probabilmente il problema è nell'impaginazione della storia, perché 1000 barre giornaliere sono abbastanza grandi, l'indicatore impiega molto tempo per calcolare la prima esecuzione, poi tutto è normale
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 Tutto viene stampato. Molto probabilmente il problema è nel caricamento della storia, perché 1000 barre giornaliere sono abbastanza grandi, l'indicatore impiega molto tempo per calcolare la prima esecuzione, poi tutto è normale.
Qual è il codice, puoi allegare lo script? Non riesco a farlo muovere, grazie.
 
-Aleks-:
Qual è il codice, puoi allegare uno script? Non posso spostarlo, grazie.
È lo stesso del tuo.
//+------------------------------------------------------------------+
//|                                                       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));
  }
//+------------------------------------------------------------------+
 

Caricamento EX5 fallito (in esecuzione)

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

altrimenti - bene

void OnStart()
{
        Print( GP( OnStart ));
}
 
se la funzione biglietto d'ordine restituisce un valore di tipo int, cosa succede quando raggiungiamo un limite massimo, per esempio, ora abbiamo numeri di biglietti a 9 cifre, c'è un limite massimo di 10 cifre? o il broker azzererà il contatore degli ordini?
 
Sergey Gritsay:
come il tuo.
Grazie - ho trovato un errore nel codice.
Motivazione: