kocunyc89: c'è un comando t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00"); come faccio a impostare non oggi le 10:00 ma domani le 10:00? datetime dt=TimeLocal(); datetime t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00") + 24*60*60;
LRA: kocunyc89: c'è un comando t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00"); come faccio a impostare non oggi le 10:00 ma domani le 10:00? datetime dt=TimeLocal(); datetime t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00") + 24*60*60;
if (Sob_01_0_1==1 && OrderSelect(ticket3_buy, SELECT_BY_TICKET)==true)
{
Alert("Sob_01_0_1=",Sob_01_0_1);
Alert("здесь код перестает работать?");
if (OrderTakeProfit()>0 && OrderCloseTime()>0)
{
Alert("третий ордер на покупку закрыт, событие 011");
bool close6=OrderClose(ticket3_sell, lot3, Ask, 20, clrRed);
if (close6==true)
Alert("третий ордер на продажу закрыт");
elseAlert("ошибка закрытия третьего ордера на продажу", GetLastError());
bool close7=OrderClose(ticket2_sell, lot2, Ask, 20, clrRed);
if (close7==true)
Alert("закрыт второй модифицированный ордер на продажу");
elseAlert("ошибка закрытия второго модифицированного ордера на продажу ticket2_sell ", GetLastError());
Sob_01_0_1++;
Sob011++;
}
}
Buona sera, potete dirmi qual è l'errore. Il codice smette di funzionare dopoAlert("qui il codice smette di funzionare?");. Cioè quandoticket3_buy chiudein profitto, allora l'istruzione if non viene eseguita.
Buona sera a tutti. Domanda di un manichino sulle funzioni iLowest e iHighest. All'inizio, volevo usare queste funzioni per trovare la rottura alto/basso nel mio EA e piazzare un ordine pendente. Tutto funziona con iLowest ma iHighest non imposta gli ordini. Tuttavia, questa è una parola, poiché ho già risolto questo problema in un modo diverso. Ora devo cancellare un ordine in sospeso se è stato cancellato per aprirlo ad un nuovo prezzo. Ho provato ad usare di nuovo le funzioni di cui sopra. Non c'è nessun problema con iLowest e la rimozione di un ordine di acquisto in sospeso; ho problemi con iHighest che rimuove un ordine di vendita - l'ordine viene rimosso quando una condizione non è ancora stata soddisfatta (il prezzo è inferiore al massimo), un nuovo ordine viene inserito, viene rimosso di nuovo e così via. Se il prezzo ha superato il massimo viene cancellato e non ne viene eseguito uno nuovo, ma non appena il prezzo attuale si è spostato sotto il massimo precedente il "fischio" ricomincia.
Ci scusiamo per l'inconveniente, tutto è stato risolto. Ho scritto la condizione di cancellazione nell'EA in modo leggermente diverso da quello che ho scritto sul forum - non c'era un offset relativo alla barra corrente.
Qual è il modo corretto di trattare l'errore : array out of range in '... in questa situazione quando si passa a #property strict ?
Fallo così
Al posto di 1, si può mettere qualsiasi numero tranne lo 0. Più alto è il numero, meno barre saranno contate all'avvio dell'indicatore.
E rimuovere
è assolutamente inutile.
Fallo così
Al posto di 1, si può mettere qualsiasi numero tranne lo 0. Più alto è il numero, meno barre saranno contate all'avvio dell'indicatore.
E rimuovere
è assolutamente inutile.
datetime t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00") + 24*60*60;
kocunyc89 : c'è un comando t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00"); come faccio a impostare non oggi le 10:00 ma domani le 10:00? datetime dt=TimeLocal();
datetime t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00") + 24*60*60;
Alert("Ora = ",dt, " Domani alle 10:00 = ",t1);
Buona sera a tutti. Domanda di un manichino sulle funzioni iLowest e iHighest. All'inizio, volevo usare queste funzioni per trovare la rottura alto/basso nel mio EA e piazzare un ordine pendente. Tutto funziona con iLowest ma iHighest non imposta gli ordini. Tuttavia, questa è una parola, poiché ho già risolto questo problema in un modo diverso. Ora devo cancellare un ordine in sospeso se è stato cancellato per aprirlo ad un nuovo prezzo. Ho provato ad usare di nuovo le funzioni di cui sopra. Non c'è nessun problema con iLowest e la rimozione di un ordine di acquisto in sospeso; ho problemi con iHighest che rimuove un ordine di vendita - l'ordine viene rimosso quando una condizione non è ancora stata soddisfatta (il prezzo è inferiore al massimo), un nuovo ordine viene inserito, viene rimosso di nuovo e così via. Se il prezzo ha superato il massimo viene cancellato e non ne viene eseguito uno nuovo, ma non appena il prezzo attuale si è spostato sotto il massimo precedente il "fischio" ricomincia.
Le condizioni sono scritte nel modo seguente
if(iHighest(NULL, 0, MODE_HIGH, 70, 2) < iHigh(NULL, 0, 1)
{
DeleteOrders(OP_SELLSTOP, Magic);
}
se(iLowhest(NULL, 0, MODE_HIGH, 70, 2) > iLow(NULL, 0, 1)
{
DeleteOrders(OP_BUYSTOP, Magic);
}
(La funzione di cancellazione è scritta separatamente). Cosa sto facendo di sbagliato, qual è l'errore?