Il tempo di modifica aggiornato non ha effetto sul risultato. EA
Sì, grazie. Ho scoperto qual era il problema.
Ci sarà una correzione nel prossimo futuro. Tuttavia, i file utilizzati dalla cartella comune non possono ancora essere controllati. Solo i file specificati in #property tester_file
Riaccendendo il tester in modalità visualizzazione dopo un passaggio, mi rendo conto di aver sbagliato le impostazioni e il tester si blocca per un paio di minuti.
2018.07.1117:03:05.992 Core 8 disconnected
2018.07.1117:03:05.992 Core 8 connection closed
2018.07.1117:03:09.241 Core 8 connecting to 127.0.0.1:30002018.07.1117:03:18.308 Tester stopped by user
2018.07.1117:03:19.241 Core 8 tester agent authorization error
//Определение экстремумаfor(int i=NBars;i<=NumBars;i++)
{
xMinL=ArrayMinimum(MinBuffer,0,i);
xMinLD=ArrayMinimum(MinBuffer,0,i+NBars);
if((MinBuffer[xMinL]<=MinBuffer[xMinLD])&&(xMinL>=NBars))
{
Minimum=MinBuffer[xMinL];
break;}}
//Проверка если ордера с такой же ценой не существует for (int r=0; r<=OrdersTotal(); r++)
{if (OrderSelect(OrderGetTicket(r)))
{if (StringToDouble(OrderGetString(ORDER_COMMENT))==NormalizeDouble(Minimum,_Digits))
{x2=1;
break;}
else x2=0;}}
//Проверка если Позиции с такой же ценой не существует for (int l=0; l<=PositionsTotal(); l++)
{if (PositionSelectByTicket(PositionGetTicket(l)))
{if (StringToDouble(PositionGetString(POSITION_COMMENT))==NormalizeDouble(Minimum,_Digits))
{y2=1;
break;}
else y2=0;}}
//Если проверка отрицательная, открываем ордер if ((x2==0)&&(y2==0))
m_trade.SellStop(Volume,NormalizeDouble(Minimum,_Digits),_Symbol,NormalizeDouble(Minimum+(SL_ATR*ATR2),_Digits),NormalizeDouble(Minimum-(TP_ATR*ATR2),_Digits),ORDER_TIME_GTC,0,DoubleToString(Minimum,_Digits));
Ciao cari utenti del forum. Questo è un estratto di codice che rileva gli estremi e piazza ordini pendenti su di essi. Sembra funzionare, ma a volte inizia a impostare pause infinite a un estremo, come se non vedesse il criterio di stop. Mi sono già scervellato.
Dmitri Custurov: Ciao cari utenti del forum. Questo è uno snippet di codice che identifica gli estremi e imposta gli ordini in sospeso su di essi. Sembra funzionare, ma a volte inizia a impostare pause infinite a un estremo, come se non vedesse il criterio di stop. Mi sono già scervellato.
Quindi, è corretto fare un confronto?
if (StringToDouble(PositionGetString(POSITION_COMMENT))==NormalizeDouble(Minimum,_Digits)){.....}
Naturalmente, non ci sono quotazioni reali in questa data, la gente ha una vacanza, poi quali sono questi numeri magici, e in generale come faccio a ottenere informazioni per il primo appuntamento?
Come faccio a sapere che il timer è attivo e qual è la sua frequenza?
O non sto leggendo bene la guida, o non è possibile?
A giudicare dal silenzio, probabilmente non c'è proprio questa possibilità. :((
Ma come mai - è una caratteristica molto semplice e utile!
Per esempio, creo una classe che usa il timer. E all'interno della classe posso accendere e spegnere il timer, cambiarne la periodicità. Ma per lavorare senza conflitti con il resto del programma, la classe deve sapere se il timer è acceso o spento e qual è la sua periodicità.
A giudicare dal silenzio, probabilmente non c'è questa possibilità. :((
Ma come mai - dopo tutto è una caratteristica molto semplice e utile!
Per esempio, creo una classe che usa un timer. E all'interno della classe posso accendere e spegnere il timer, cambiarne la periodicità. Ma per lavorare con il resto del programma senza conflitti, la classe deve sapere se il timer è acceso o spento e qual è la sua periodicità.
Non servirà. Soprattutto se il timer è già attivo prima di essere abilitato nella classe, per esempio a intervalli di alcune ore o giorni. Allora una tale classe rovinerà l'intera logica del programma.
Ho provato sia il feng shui che questo - il risultato è lo stesso. Il fatto è che tutto funziona il 99% delle volte, e io ho bisogno del 100%. Al momento, la cosa principale per me è ottenere la logica giusta, e potrò fare la bellezza più tardi.
Ho dimenticato di aggiungere solo che l'errore di cui sopra appare nel tester. Quando lo apro su un grafico, non lo vedo o devo solo aspettare l'estremo richiesto dove questo errore si ripresenterà.
Il tempo di modifica aggiornato non ha effetto sul risultato. EA
Sì, grazie. Ho scoperto qual era il problema.
Ci sarà una correzione nel prossimo futuro. Tuttavia, i file utilizzati dalla cartella comune non possono ancora essere controllati. Solo i file specificati in #property tester_file
Riaccendendo il tester in modalità visualizzazione dopo un passaggio, mi rendo conto di aver sbagliato le impostazioni e il tester si blocca per un paio di minuti.
Ciao cari utenti del forum. Questo è uno snippet di codice che identifica gli estremi e imposta gli ordini in sospeso su di essi. Sembra funzionare, ma a volte inizia a impostare pause infinite a un estremo, come se non vedesse il criterio di stop. Mi sono già scervellato.
Quindi, è corretto fare un confronto?
Nell'indicatore
Stampando in modalità visual strategy tester, dato che il mio cervello è già bollito - non è riuscito a trovare l'errore nella logica:
Data di inizio 01.01.2018 minuti
Naturalmente, non ci sono quotazioni reali in questa data, la gente ha una vacanza, poi quali sono questi numeri magici, e in generale come faccio a ottenere informazioni per il primo appuntamento?
Domanda:
Come faccio a sapere che il timer è attivo e qual è la sua frequenza?
Non sto leggendo bene la guida o non è possibile?
Domanda:
Come faccio a sapere che il timer è attivo e qual è la sua frequenza?
O non sto leggendo bene la guida, o non è possibile?
A giudicare dal silenzio, probabilmente non c'è proprio questa possibilità. :((
Ma come mai - è una caratteristica molto semplice e utile!
Per esempio, creo una classe che usa il timer. E all'interno della classe posso accendere e spegnere il timer, cambiarne la periodicità. Ma per lavorare senza conflitti con il resto del programma, la classe deve sapere se il timer è acceso o spento e qual è la sua periodicità.
A giudicare dal silenzio, probabilmente non c'è questa possibilità. :((
Ma come mai - dopo tutto è una caratteristica molto semplice e utile!
Per esempio, creo una classe che usa un timer. E all'interno della classe posso accendere e spegnere il timer, cambiarne la periodicità. Ma per lavorare con il resto del programma senza conflitti, la classe deve sapere se il timer è acceso o spento e qual è la sua periodicità.
Quindi, siete i benvenuti, o meglio, la classe.
Bandiera sul campo da gioco, o meglio in classe.
Non servirà. Soprattutto se il timer è già attivo prima di essere abilitato nella classe, per esempio a intervalli di alcune ore o giorni. Allora una tale classe rovinerà l'intera logica del programma.
Quindi il confronto è corretto?
Ho provato sia il feng shui che questo - il risultato è lo stesso. Il fatto è che tutto funziona il 99% delle volte, e io ho bisogno del 100%. Al momento, la cosa principale per me è ottenere la logica giusta, e potrò fare la bellezza più tardi.
Ho dimenticato di aggiungere solo che l'errore di cui sopra appare nel tester. Quando lo apro su un grafico, non lo vedo o devo solo aspettare l'estremo richiesto dove questo errore si ripresenterà.