zennon писал(а)>> La funzione MovingInWL() passa semplicemente attraverso tutte le posizioni aperte, indipendentemente dai filtri sy,op,mn. Questo è vero anche per l'esempio allegato EA (pagina 55).
Andrei, grazie! Corretto...
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 23.04.2009 |//| Описание : Перенос уровня стопа в безубыток |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ( "" - любой символ, |//| NULL - текущий символ) |//| op - операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+void MovingInWL(string sy="",int op=-1,int mn=-1){double po, pp;int i, k=OrdersTotal();if( sy=="0") sy=Symbol();for( i=0; i< k; i++){if(OrderSelect( i, SELECT_BY_POS, MODE_TRADES)){if((OrderSymbol()== sy || sy=="")&&( op<0||OrderType()== op)){if( mn<0||OrderMagicNumber()== mn){
po=MarketInfo(OrderSymbol(),MODE_POINT);if(OrderType()==OP_BUY){if(OrderStopLoss()-OrderOpenPrice()< LevelWLoss* po){
pp=MarketInfo(OrderSymbol(),MODE_BID);if( pp-OrderOpenPrice()> LevelProfit* po){
ModifyOrder(-1,OrderOpenPrice()+ LevelWLoss* po,-1);}}}if(OrderType()==OP_SELL){if(OrderStopLoss()==0||OrderOpenPrice()-OrderStopLoss()< LevelWLoss* po){
pp=MarketInfo(OrderSymbol(),MODE_ASK);if(OrderOpenPrice()- pp> LevelProfit* po){
ModifyOrder(-1,OrderOpenPrice()- LevelWLoss* po,-1);}}}}}}}}
Grazie per aver dedicato così tanto tempo al forum. Igor, conosci un'opportunità per ottenere informazioni sulle richieste di acquisto/vendita in arrivo - "profondità di mercato".
Domanda agli esperti: qualcuno può dire perché il mio indicatore demo xMeterMTF.mq4 mostra tutto normale, e in euro reale vuoto (se a causa del fatto che in reale eur/usd- è elencato come eur/usddpro) se così può essere corretto
Questa funzione restituisce la bandiera che permette di commerciare in base al tempo. In realtà, controlla se l'ora corrente del server commerciale si trova all'interno di un certo periodo di tempo. Se è dentro, la funzione isTradeTimeString() restituisce true, altrimenti restituisce false. La particolarità di questa funzione è la possibilità di specificare l'intervallo di tempo sia all'interno che all'esterno di un giorno. Questo sarà mostrato in dettaglio negli esempi di utilizzo. La funzione isTradeTimeString() accetta i seguenti parametri opzionali:
TimeBegin - Stringa nel formato "HH:MM", imposta l'ora di inizio della negoziazione. Il valore predefinito è "00:00".
TimeEnd - Stringa nel formato "HH:MM", specifica l'ora di fine della negoziazione. Il valore predefinito è "00:00".
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 29.04.2009 |//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| TimeBegin - время начала торговли (ЧЧ:ММ) |//| TimeEnd - время окончания торговли (ЧЧ:ММ) |//+----------------------------------------------------------------------------+bool isTradeTimeString(string TimeBegin="00:00",string TimeEnd="00:00"){datetime dtBegin, dtEnd;// Время начала и окончания работыint hc, he;// Часы текущего времени и окончания работы
dtBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ TimeBegin);
dtEnd =StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ TimeEnd);
hc =TimeHour(TimeCurrent());
he =TimeHour( dtEnd);if( dtBegin>= dtEnd){if( hc>= he) dtEnd+=24*60*60;else dtBegin-=24*60*60;}if(TimeCurrent()>= dtBegin &&TimeCurrent()<= dtEnd)return( True);elsereturn( False);}
Questa funzione restituisce la bandiera che permette di commerciare in base al tempo. In realtà, controlla se l'ora corrente del server commerciale si trova all'interno di un certo periodo di tempo. Se è dentro, la funzione isTradeTimeString() restituisce true, altrimenti restituisce false. La particolarità di questa funzione è la possibilità di specificare l'intervallo di tempo sia all'interno che all'esterno di un giorno. Questo sarà mostrato in dettaglio negli esempi di utilizzo. La funzione isTradeTimeString() accetta i seguenti parametri opzionali:
TimeBegin - Stringa nel formato "HH:MM", imposta l'ora di inizio della negoziazione. Il valore predefinito è "00:00".
TimeEnd - Stringa nel formato "HH:MM", specifica l'ora di fine della negoziazione. Valore predefinito - "00:00".
È anche possibile impostare le variabili per essere non "string", ma "int". Per cercare nel tester?
La funzione MovingInWL() passa semplicemente attraverso tutte le posizioni aperte, indipendentemente dai filtri sy,op,mn. Questo è vero anche per l'esempio allegato EA (pagina 55).
Andrei, grazie! Corretto...
Anche l'e-MovingInWL2.mq4 è fisso.Buon pomeriggio Igor!
Grazie per aver dedicato così tanto tempo al forum. Igor, conosci un'opportunità per ottenere informazioni sulle richieste di acquisto/vendita in arrivo - "profondità di mercato".
Igor, conosci un'opportunità per ottenere informazioni sulle richieste di acquisto/vendita in arrivo - "profondità di mercato".
no
La funzione isTradeTimeString().
Questa funzione restituisce la bandiera che permette di commerciare in base al tempo. In realtà, controlla se l'ora corrente del server commerciale si trova all'interno di un certo periodo di tempo. Se è dentro, la funzione isTradeTimeString() restituisce true, altrimenti restituisce false. La particolarità di questa funzione è la possibilità di specificare l'intervallo di tempo sia all'interno che all'esterno di un giorno. Questo sarà mostrato in dettaglio negli esempi di utilizzo. La funzione isTradeTimeString() accetta i seguenti parametri opzionali:
Esempi di utilizzo di isTradeTimeString().
if (isTradeTimeString("06:00", "09:30")) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeString("12:00", "16:30")) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeString("21:15", "09:30")) Message("Торгуем..."); else Message("Отдыхаем...");if (isTradeTimeString("22:00", "05:30")) Message("Торгуем..."); else Message("Отдыхаем...");In allegato c'è uno script per testare la funzione isTradeTimeString().
Igor, l'indicatore i-Sessions a volte ha dei glitch: aree di sessioni non ancora aperte appaiono e scompaiono...
Igor, l'indicatore i-Sessions a volte ha dei glitch: aree di sessioni non ancora aperte appaiono e scompaiono...
Ops... Mi rimangio quello che ho detto... Saranno utili anche per l'attesa degli eventi... Mi scusi... per favore...
La funzione isTradeTimeString().
Questa funzione restituisce la bandiera che permette di commerciare in base al tempo. In realtà, controlla se l'ora corrente del server commerciale si trova all'interno di un certo periodo di tempo. Se è dentro, la funzione isTradeTimeString() restituisce true, altrimenti restituisce false. La particolarità di questa funzione è la possibilità di specificare l'intervallo di tempo sia all'interno che all'esterno di un giorno. Questo sarà mostrato in dettaglio negli esempi di utilizzo. La funzione isTradeTimeString() accetta i seguenti parametri opzionali:
È anche possibile impostare le variabili per essere non "string", ma "int". Per cercare nel tester?
>> Grazie in anticipo.
Potete fare in modo che le variabili non siano "string" ma "int". Per poter cercare nel tester?
A pagina 76...