Errori, bug, domande - pagina 350

 
sergeev:

1. Scrivi il tuo tester

2. Attendere la visualizzazione

3. test in tempo reale. noioso e lungo
 
papaklass:
Спасибо за ответы. И какой же выход, если рисовать нужно?

sergeev:

1. Scrivi il tuo tester

2. Attendere la visualizzazione

Oppure ricordate i valori su cui stavate per disegnare e lavorate a partire da essi senza disegnare.
 

Non riesco a capire dove sia l'errore, il seguente codice controlla il profitto su 2 coppie di valute

     double prof2 =0.0;
     if(PositionSelect(Symbol2)) prof2=PositionGetDouble(POSITION_PROFIT);
     double prof1 =0.0;
     if(PositionSelect(Symbol1)) prof1=PositionGetDouble(POSITION_PROFIT);
     Print ("1дол---prof1=",prof1,"prof2=",prof2);

Nei primi minuti dopo l'apertura nel registro:

DK      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   3---del=60.2999999999998
CK      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   1---P1=1 raz1=0.000180000000000069 Sred1=1.80000000000069
MI      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   2---P2=1 raz2=0.006210000000000049 Sred2=62.10000000000049
FS      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   3---del=60.2999999999998
JR      0       Trade   17:02:20        2010.04.05 00:01:00   instant sell 0.10 GBPUSD at 1.52662 (1.52662 / 1.58921 / 1.52662)
FE      0       Trades  17:02:20        2010.04.05 00:01:00   deal #2 sell 0.10 GBPUSD at 1.52662 done (based on order #2)
MF      0       Trade   17:02:20        2010.04.05 00:01:00   deal performed [#2 sell 0.10 GBPUSD at 1.52662]
GG      0       Trade   17:02:20        2010.04.05 00:01:00   order performed sell 0.10 at 1.52662 [#2 sell 0.10 GBPUSD at 1.52662]
LN      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   продажа 2 инструмента:GBPUSD
EL      0       Trade   17:02:20        2010.04.05 00:01:00   instant buy 0.10 EURUSD at 1.38070 (1.34912 / 1.38070 / 1.34912)
FJ      0       Trades  17:02:20        2010.04.05 00:01:00   deal #3 buy 0.10 EURUSD at 1.38070 done (based on order #3)
LG      0       Trade   17:02:20        2010.04.05 00:01:00   deal performed [#3 buy 0.10 EURUSD at 1.38070]
CQ      0       Trade   17:02:20        2010.04.05 00:01:00   order performed buy 0.10 at 1.38070 [#3 buy 0.10 EURUSD at 1.38070]
DL      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   покупка 1 инструмента:EURUSD
RN      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   $$$sum=-941.7000000000001 prof1=-315.8 prof2=-625.9
NE      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   дол1...vol1=0.1 vol2=0.1
DK      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   1 дол---prof1=-315.8 prof2=-625.9
MO      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   1 дол---del=15 sot=15

Nel primo minuto di apertura un nuovo bar non è ancora stato formato scrive che - 941,7 dollari.

Il test va sul server m1 "solo sui prezzi di apertura" - Alpari, biglietto 425.

Non è possibile che una barra non sia ancora apparsa e già meno 1000.

Ma da novembre 2010 a febbraio 2011 questo non è mai successo!

//--------------???????????????????????????????????????????-----------------//

 

Ha portato a XP testato con il biglietto 421 e ce n'erano 7 con il biglietto 425.

Sciocchezze, ma tutto funziona come dovrebbe.

//---------------------------------------------------------------------//

Se non è difficile, ditemi come salvare i risultati dell'ottimizzatore,

non un'immagine, cioè le varianti di passaggi con impostazioni (parametri)

e il risultato (profitto) è migliore, naturalmente, se si può salvare in html. Grazie

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
 
Im_hungry:

non il disegno, ma le varianti dei passaggi con le impostazioni (parametri)

e il risultato (profitto) è migliore, naturalmente, se si può salvare in html. Grazie

Guarda nella sezione Aiuto del terminale Risultati di ottimizzazione
 
Rosh:
Date un'occhiata alla sezione dei risultati dell'ottimizzazione nell'aiuto del terminale
Fico grazie!
 

Per favore, consigliate quale dei punti della figura è il più promettente, per così dire.

se il criterio di ottimizzazione (ricerca completa dei parametri) è max.profit + min.drawdown

Da quanto ho capito il punto più alto indica che il profitto + drawdown è massimo + minimo

di tutti i passaggi del tester?

 
MetaDriver:

Molto probabilmente non hanno il tempo di inizializzarsi completamente. L'idea è di usare sleep(pause) per dare tempo all'inizializzazione e al calcolo iniziale, ma non so se sleep() funzionerà in tester.

Ho affrontato una cosa simile, fino ad ora un esperto parte inaffidabilmente nel tester (anche con l'indicatore "spesso"), non ho ancora il tempo di finirlo.

Non è che non cerca di inizializzarli, semplicemente passa immediatamente fuori dopo la sincronizzazione delle citazioni.
 
papaklass:
Certo, lo farò, ma non è conveniente.

Scrivere wrapper per le funzioni dell'oggetto grafico. Date un nome a questa classe di funzioni, per esempio "GrafObject" e salvate i dati necessari nelle proprietà del vostro oggetto e create l'oggetto grafico stesso. Così, indipendentemente dal fatto che siate nel tester o meno, avrete sempre informazioni sull'oggetto e gli oggetti stessi sul grafico.

class CGrafObject
  {
... переменные_хранящие_свойства_объекта; ...
public:
                     CGrafObject(void){};
                    ~CGrafObject(void){};
   ... обёртки_получения_и_установки свойств(){} ...   
   ... обёртки_функциям_граф_объектов(){}...
  };
 

Errore in CDealInfo::TypeDescription() :

invece di switch(Type()) switch(DealType())

Anche inCHistoryOrderInfo::TypeDescription():

invece di return(FormatType(str,Type()); ha bisogno direturn(FormatType(str,OrderType());