Questa funzione restituisce una bandiera per consentire il trading a tempo. Il valore restituito è vero o falso. La funzione isTradeTimeInt() è simile alla funzione isTradeTimeString() per il principio del riconoscimento dell'intervallo di tempo, cioè l'ora di inizio della compravendita può essere sia più grande (intervallo di tempo in un giorno) che più piccola (intervallo di tempo in giorni diversi). La funzione isTradeTimeInt() accetta i seguenti parametri opzionali:
hb - Numero, specifica le ore di inizio del commercio. Il valore predefinito è 0.
mb - Un numero, specifica i minuti dell'ora di inizio della negoziazione. Valore predefinito - 0.
he - Un numero per specificare le ore di fine del commercio. Il valore predefinito - 0.
me - Un numero per specificare i minuti dell'ora di fine della negoziazione. Valore predefinito - 0.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 30.04.2009 |//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0,int mb=0,int he=0,int me=0){datetime db, de;// Время начала и окончания работыint hc;// Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ hb+":"+ mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ he+":"+ me);
hc=TimeHour(TimeCurrent());if( db>= de){if( hc>= he) de+=24*60*60;else db-=24*60*60;}if(TimeCurrent()>= db &&TimeCurrent()<= de)return( True);elsereturn( False);}
Questa funzione restituisce una bandiera per chiudere l'ultima posizione per stop. La bandiera è alzata - Vero - StopLoss è scattato. Flag abbassato - Falso - la posizione è stata chiusa per un altro motivo. Una selezione più accurata delle posizioni da prendere in considerazione è impostata da parametri esterni:
Ciao
Cerco di usare la vostra funzione per i miei scopi. Piccolo Expert Advisor funzionante. Vende e chiude solo una posizione. A volte cattura diversi stoploss di fila. Voglio cambiare le condizioni di vendita dopo il primo stop, Expert Advisor apre le posizioni, ma non le chiude. Per favore, ditemi cosa sto facendo di sbagliato ?
Ciao, potresti per favore aiutare a convertire questo indicatore di cluster in una funzione con lo stesso disegno e + ritorno dei valori del tasso di cambio di coppia (angolo superiore destro) dal parametro di input - nome della coppia. Vi ringrazio in anticipo.
E come esprimiamo nel codice che all'inizio di ogni ora, al primo secondo apriamo due posizioni diversamente dirette, e all'ultimo secondo dell'ora chiudiamo l'ordine fallito?
VAM_ писал(а)>> E come esprimiamo nel codice che all'inizio di ogni ora, al primo secondo apriamo due posizioni diversamente dirette, e all'ultimo secondo dell'ora chiudiamo l'ordine fallito?
A pagina 76...
Grazie
La funzione isTradeTimeInt().
Questa funzione restituisce una bandiera per consentire il trading a tempo. Il valore restituito è vero o falso. La funzione isTradeTimeInt() è simile alla funzione isTradeTimeString() per il principio del riconoscimento dell'intervallo di tempo, cioè l'ora di inizio della compravendita può essere sia più grande (intervallo di tempo in un giorno) che più piccola (intervallo di tempo in giorni diversi). La funzione isTradeTimeInt() accetta i seguenti parametri opzionali:
Esempi di come usare isTradeTimeInt().
if (isTradeTimeInt(6, 0, 9, 30)) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeInt(12, 0, 16, 30)) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeInt(21, 15, 9, 30)) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeInt(22, 0, 5, 30)) Message("Торгуем..."); else Message("Отдыхаем...");In allegato c'è uno script per testare la funzione isTradeTimeInt().
Elenco aggiornato delle caratteristiche con brevi descrizioni e link...
La funzione isCloseLastPosByStop().
Questa funzione restituisce una bandiera per chiudere l'ultima posizione per stop. La bandiera è alzata - Vero - StopLoss è scattato. Flag abbassato - Falso - la posizione è stata chiusa per un altro motivo. Una selezione più accurata delle posizioni da prendere in considerazione è impostata da parametri esterni:
Ciao
Cerco di usare la vostra funzione per i miei scopi. Piccolo Expert Advisor funzionante. Vende e chiude solo una posizione. A volte cattura diversi stoploss di fila. Voglio cambiare le condizioni di vendita dopo il primo stop, Expert Advisor apre le posizioni, ma non le chiude. Per favore, ditemi cosa sto facendo di sbagliato ?
..........................................................
if ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 0){
if ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 1st Sell Slowly
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green); // vendere
OrderSelect(0, SELECT_BY_POS);
se (OrderSelect(0, SELECT_BY_POS)==true )
Stampa("SELECT_BY_POS");
else
Print("failed to select error : ",GetLastError());
RefreshRates();
if((StochK_0<30)&& (StochD_1 < 30))
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
}
else
se ( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) == 1)
{
se ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) )
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0, "My EXP", MagicNamber,0,Green); //
...........................
L'esperto apre le posizioni, ma non le chiude.
Stampa le variabili StochK_0 e StochD_1. Forse prendono valori che non rientrano nelle vostre condizioni di chiusura.
a KimIV
Ciao, potresti per favore aiutare a convertire questo indicatore di cluster in una funzione con lo stesso disegno e + ritorno dei valori del tasso di cambio di coppia (angolo superiore destro) dal parametro di input - nome della coppia. Vi ringrazio in anticipo.
P.S..... Sto lottando da una settimana
E come esprimiamo nel codice che all'inizio di ogni ora, al primo secondo apriamo due posizioni diversamente dirette, e all'ultimo secondo dell'ora chiudiamo l'ordine fallito?
E se non ce ne fosse uno, primo e ultimo secondo?