zennon писал(а)>> A função MovingInWL() apenas passa por todas as posições abertas, independentemente dos filtros sy,op,mn. Isto também é verdade para o exemplo anexo EA (página 55).
Andrei, obrigado! Corrigido...
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);}}}}}}}}
Obrigado por dedicar tanto tempo ao fórum. Igor, você sabe de uma oportunidade de obter informações sobre pedidos de compra/venda recebidos - "profundidade de mercado".
Pergunta para os experientes: qualquer um pode dizer porque meu indicador demo xMeterMTF.mq4 mostra tudo normal, e no real vazio do euro (seja por causa do fato de que em eur/usd- real é listado como eur/usddpro) se assim pode ser corrigido
Esta função devolve a bandeira permitindo o comércio por tempo. Na verdade, ele realmente verifica se a hora atual do servidor comercial está localizada dentro de algum período de tempo. Se estiver dentro, a função isTradeTimeString() retorna verdadeiro, caso contrário, retorna falso. A peculiaridade desta função é a possibilidade de especificar o intervalo de tempo tanto dentro como fora de um dia. Isto será mostrado em detalhes nos exemplos de uso. A função isTradeTimeString() aceita os seguintes parâmetros opcionais:
TimeBegin - String no formato "HH:MM", define a hora de início do comércio. O valor padrão é "00:00".
TimeEnd - String no formato "HH:MM", especifica o tempo de fim de comércio. O valor padrão é "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);}
Esta função devolve a bandeira permitindo o comércio por tempo. Na verdade, ele realmente verifica se a hora atual do servidor comercial está localizada dentro de algum período de tempo. Se estiver dentro, a função isTradeTimeString() retorna verdadeiro, caso contrário, retorna falso. A peculiaridade desta função é a possibilidade de especificar o intervalo de tempo tanto dentro como fora de um dia. Isto será mostrado em detalhes nos exemplos de uso. A função isTradeTimeString() aceita os seguintes parâmetros opcionais:
TimeBegin - String no formato "HH:MM", define a hora de início do comércio. O valor padrão é "00:00".
TimeEnd - String no formato "HH:MM", especifica o tempo de fim de comércio. Valor padrão - "00:00".
Também é possível definir variáveis para não serem "string", mas "int". A fim de pesquisar no testador?
A função MovingInWL() apenas passa por todas as posições abertas, independentemente dos filtros sy,op,mn. Isto também é verdade para o exemplo anexo EA (página 55).
Andrei, obrigado! Corrigido...
O e-MovingInWL2.mq4 também é fixo.Boa tarde Igor!
Obrigado por dedicar tanto tempo ao fórum. Igor, você sabe de uma oportunidade de obter informações sobre pedidos de compra/venda recebidos - "profundidade de mercado".
Igor, você sabe de uma oportunidade de obter informações sobre pedidos de compra/venda recebidos - "profundidade de mercado".
não
A função isTradeTimeString().
Esta função devolve a bandeira permitindo o comércio por tempo. Na verdade, ele realmente verifica se a hora atual do servidor comercial está localizada dentro de algum período de tempo. Se estiver dentro, a função isTradeTimeString() retorna verdadeiro, caso contrário, retorna falso. A peculiaridade desta função é a possibilidade de especificar o intervalo de tempo tanto dentro como fora de um dia. Isto será mostrado em detalhes nos exemplos de uso. A função isTradeTimeString() aceita os seguintes parâmetros opcionais:
Exemplos de uso do 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("Отдыхаем...");SZY. anexado um roteiro para testar a função isTradeTimeString().
Igor, o indicador i-Sessions ocasionalmente tem falhas: áreas de sessões ainda não abertas aparecem e desaparecem...
Igor, o indicador i-Sessions ocasionalmente tem falhas: áreas de sessões ainda não abertas aparecem e desaparecem...
Oops... Retiro o que disse... Também serão úteis em termos de espera de eventos... Perdoe-me... por favor...
A função isTradeTimeString().
Esta função devolve a bandeira permitindo o comércio por tempo. Na verdade, ele realmente verifica se a hora atual do servidor comercial está localizada dentro de algum período de tempo. Se estiver dentro, a função isTradeTimeString() retorna verdadeiro, caso contrário, retorna falso. A peculiaridade desta função é a possibilidade de especificar o intervalo de tempo tanto dentro como fora de um dia. Isto será mostrado em detalhes nos exemplos de uso. A função isTradeTimeString() aceita os seguintes parâmetros opcionais:
Também é possível definir variáveis para não serem "string", mas "int". A fim de pesquisar no testador?
>> Agradecemos antecipadamente.
Você pode fazer variáveis para não serem "string", mas "int". Para poder pesquisar no testador?
Na página 76...