[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 410

 
Morzh09 >>:

Коллеги, почему может возникать такая проблема:


условие на открытие позиции выполняется, а позиция, при этом, не открывается...


if ( ((MathRound(iCustom(NULL, 0,"ind1",2,0))==1)&&(ind2()==1) )
{
if ( buy_order_open==0 )
{
Alert("Время покупать ", Symbol());
//long
ticket = OrderSend(Symbol(), OP_BUY, lots,NormalizeDouble(Ask, Digits), 3,NormalizeDouble(Bid - sl * Point, Digits), 0, "Buy", MagicNumber, 0, Blue); //Ask
//----
if(ticket < 0)
{
Sleep(30000);
prevtime = Time[1];
}

buy_order_open = 1;
}

}

Alert с сообщением срабатывает, а ордера не отправляются... :((

O que é NormalizeDouble(Pergunte, Dígitos), não é ASK o suficiente. E se você decidiu normalizá-lo, o que são os Dígitos?

 
zhuki >>:

Что такое NormalizeDouble(Ask, Digits),разве не достаточно ASK. И если вы его решили нормализовать,то что за Digits ? чему равен или как получен?.

NormalizeDuplo

Arredonda um número de ponto flutuante com a precisão especificada.

Dígitos

Número de dígitos após o ponto decimal no preço do instrumento atual.

Às vezes erros em funções comerciais por causa do quinto dígito 1.45562

 
zhuki писал(а) >>

O que é NormalizeDouble(Pergunte, Dígitos), não é ASK o suficiente. E se você decidiu normalizá-lo, o que são os Dígitos?

Os dígitos estão bem.

O problema mais provável é que se situe no deslizamento. Nos cinco dígitos, 3 pontos não são suficientes.

 
Vinin >>:

С Digits все нормально.

Проблема скорее всего сидит в слиппаже. На пятизнаке 3 пунктов мало

E de que tipo de erros nas funções comerciais estamos falando?

Remover NormalizeDouble e acho que tudo vai funcionar.

 
zhuki >>:

Но, как ни ставь слиппаж в тестере всё равно работать будет.А у него в тестере не работает.И о каких ошибках в торговых функциях идёт речь?

Уберите NormalizeDouble и я думаю всё заработает.

escorregamento=25 Não tenho nenhum problema!

Trata-se de

ERR_INVALID_STOPS 130 Paradas incorretas
ERR_INVALID_PRICE 129 Preço incorreto
ERR_INVALID_PRICE_PARAM 4107 Parâmetro de preço incorreto para função de comércio
 
costy_ >>:

Речь идет о

ERR_INVALID_STOPS130Неправильные стопы
ERR_INVALID_PRICE129Неправильная цена
ERR_INVALID_PRICE_PARAM4107Неправильный параметр цены для торговой функции

130 você está apenas tentando colocar o SL na direção errada ou muito perto.

129 poderia ser se você estiver colocando o preço de uma maneira usar Dígitos (errado)

4107 nunca encontrado não pode dizer.

Você tem ou não um erro?

 
zhuki >>:

130 вы просто не в ту сторону пытаетесь поставить SL или слишком близко.

129 может быть если вы ставите цену один из вариантов использование Digits(неправильного)

4107 никогда не встречался сказать не могу.

А,вас ошибка есть или нет?.

Eu tive problemas, mudei há muito tempo e está tudo bem, 130 não por causa de paradas erradas (eu não as tenho!) Depende do revendedor.

A EA está sempre no mercado! Sugiro que você também use a função OrderCloseBy em vez de paradas, ela provou ser (não intradiária).

Ask = 1,54889e Lots = 0,1 =))

ERR_INVALID_TRADE_VOLUME 131 Volume incorreto
 
Vinin писал(а) >>
Período() retorna o cronograma atual em minutos

Todos ordenados, obrigado!

 
kon12 >>:

Все, разобрался, спасибо!

Use o gatilho de texto

string PeriodToStr(int Per)
   {
      switch( Per)                 // Расчёт коэффициентов для..     
      {                              // .. различных ТФ      
      case     1: return("M1");  // Таймфрейм М1      
      case     5: return("M5");  // Таймфрейм М5      
      case    15: return("M15");  // Таймфрейм М15      
      case    30: return("M30");  // Таймфрейм М30      
      case    60: return("H1");  // Таймфрейм H1      
      case   240: return("H4");  // Таймфрейм H4      
      case  1440: return("D1");  // Таймфрейм D1      
      case 10080: return("W1");  // Таймфрейм W1      
      case 43200: return("МN");  // Таймфрейм МN     
      }
   }
 
costy_ >>:

Были проблемы, уже давно поменял и все ОК, 130 не из-за неправильных стопов( у меня их нет!) Зависит от диллера.

Советник всегда в рынке! Предлагаю и Вам использовать функцию OrderCloseBy вместо стопов, отлично зарекомендовала себя(не интрадей).

Ask=1.54889 мой терминал такого не кушает как и Lots = 0.1 =))

ERR_INVALID_TRADE_VOLUME 131 Неправильный объем

E se...

double LotNorm(double lots, string sim="")
{
int dig=0; double hh;
if( sim=="") sim=Symbol();
//
if( lots<MarketInfo( sim, MODE_MINLOT)) {Print( sim+"=МИНИЛОТ=Недостаточно денег"); return(-1);}
if( lots>MarketInfo( sim, MODE_MAXLOT)) lots=MarketInfo( sim, MODE_MAXLOT);
//
if(MarketInfo( sim,MODE_MINLOT)==0.1) dig=1;
if(MarketInfo( sim,MODE_MINLOT)==0.01) dig=2;
if(MarketInfo( sim,MODE_MINLOT)==0.001) dig=3;
if(MarketInfo( sim,MODE_MINLOT)==0.0001) dig=4;
//
lots=NormalizeDouble( lots, dig);
//
return( lots);
}