[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 249
Spero che tu possa trasformare i minuti in ore... :)
Ho provato a scriverlo come hai detto tu, ma funziona... apre ancora le posizioni alla chiusura della precedente...((
forse non capisci cosa voglio dire, voglio che apra una posizione non prima di 1 ora dopo che la precedente è stata chiusa ... e nel tuo caso, esclude la possibilità di riaprire, ma appena si chiude, apre immediatamente la prossima
if (SecondsAfterOpenLastPos(NULL, OP_SELL, MAGIC)>=(Period()*Interval)*60) {
OpenSell();
}
Ho provato a scriverlo come hai detto tu, funziona... apre ancora una posizione alla chiusura della precedente...(
Forse non capisci quello che voglio dire, deve aprire un trade non prima di 1 ora dopo che il precedente è stato chiuso...e nel tuo caso, esclude la possibilità di aprire un trade ripetuto, ma appena viene chiuso, il prossimo viene aperto immediatamente
E pensate al codice della funzione? Trova quattro differenze :) :
//+----------------------------------------------------------------------------+datetime SecondsAfterCloseLastPos(string sy, int op, int mn)
{
datetime t;
int i, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()!=sy) continue;
if (OrderType()!=op) continue;
if (OrderMagicNumber()!=mn) continue;
if (t<OrderCloseTime()) t=OrderCloseTime();
}
}
return(TimeCurrent()-t);
}
//+----------------------------------------------------------------------------+
Non chiedere, controlla con un tester... :)
l'esperto traccia una linea.
se il codice dice "disegna la linea 1 se non è disegnata; disegna la linea 2 se non è disegnata" - non possono non essere disegnate:)
Puoi dirmi perché tutte le percentuali sono 0 nel rapporto di prova? Vale a dire, drawdown relativo, drawdown massimo, ecc.
Per esempio, così:
Chiama così:
Spero che tu possa trasformare i minuti in ore... :)Ho provato a scriverlo come hai detto tu, ma funziona... apre ancora le posizioni alla chiusura della precedente...((
forse non capisci cosa voglio dire, voglio che apra una posizione non prima di 1 ora dopo che la precedente è stata chiusa ... e nel tuo caso, esclude la possibilità di riaprire, ma appena si chiude, apre immediatamente la prossima
ragazzi aiuto: ho bisogno che un accordo venga aperto se è passato un certo periodo di tempo dopo che il precedente è stato chiuso....help
per (int i=0; i<OrdersTotal(); i++)
{ se(OrderSelect(i, SELECT_BY_POS)==true)
{
TC = TimeCurrent();
OM = OrderMagicNumber();
if (TC-OM>86400 && (OrderType()==OP_SELL)){
CLOSEORDER("Sell");
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("Buy");
}
}
}
In OrderMagicNumber() quando si apre un ordine scrive: Magic = TimeCurrent();
per (int i=0; i<OrdersTotal(); i++)
{ se (OrderSelect(i, SELECT_BY_POS)==true)
{
TC = TimeCurrent();
OM = OrderMagicNumber();
if (TC-OM>86400 && (OrderType()==OP_SELL)){
CLOSEORDER("Sell");
}
if (TC-OM>86400 && (OrderType()==OP_BUY)){
CLOSEORDER("Buy");
}
}
}
In OrderMagicNumber(), quando si apre un ordine, è scritto: Magic = TimeCurrent();
Ho dimenticato =) 86400 - questo è il numero di secondi dopo i quali la posizione viene chiusa
Potete dirmi perché tutte le percentuali sono 0 nel rapporto di prova? Vale a dire, drawdown relativo, drawdown massimo, ecc.
Tutto calcolato - il deposito era troppo grande)
Ho provato a scriverlo come hai detto tu, funziona... apre ancora una posizione alla chiusura della precedente...(
Forse non capisci quello che voglio dire, deve aprire un trade non prima di 1 ora dopo che il precedente è stato chiuso...e nel tuo caso, esclude la possibilità di aprire un trade ripetuto, ma appena viene chiuso, il prossimo viene aperto immediatamente
E pensate al codice della funzione? Trova quattro differenze :) :