[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 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 с сообщением срабатывает, а ордера не отправляются... :((

Was ist NormalizeDouble(Ask, Digits), ist nicht ASK genug. Und wenn Sie beschlossen haben, sie zu normalisieren, was sind dann Ziffern?

 
zhuki >>:

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

NormalizeDouble

Rundet eine Fließkommazahl auf die angegebene Genauigkeit.

Ziffern

Anzahl der Nachkommastellen im Preis des aktuellen Instruments.

Manchmal kommt es zu Fehlern in Handelsfunktionen wegen der fünften Ziffer 1.45562

 
zhuki писал(а) >>

Was ist NormalizeDouble(Ask, Digits), ist nicht ASK genug. Und wenn Sie beschlossen haben, sie zu normalisieren, was sind dann Ziffern?

Die Ziffern sind in Ordnung.

Das Problem liegt höchstwahrscheinlich im Schlupf. Bei den fünf Ziffern sind 3 Punkte nicht genug.

 
Vinin >>:

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

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

Und über welche Art von Fehlern bei den Handelsfunktionen sprechen wir?

Entfernen Sie NormalizeDouble und ich denke, alles wird funktionieren.

 
zhuki >>:

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

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

Schlupf=25 Ich habe kein Problem!

Es handelt sich um

ERR_INVALID_STOPS 130 Falsche Anschläge
ERR_INVALID_PRICE 129 Falscher Preis
ERR_INVALID_PRICE_PARAM 4107 Falscher Preisparameter für die Handelsfunktion
 
costy_ >>:

Речь идет о

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

130 Sie versuchen nur, SL in die falsche Richtung oder zu nah zu setzen.

129 könnte sein, wenn Sie den Preis in eine Richtung setzen, verwenden Sie Ziffern (falsch)

4107 nie begegnet ist, kann ich nicht sagen.

Haben Sie einen Fehler oder nicht?

 
zhuki >>:

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

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

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

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

Ich hatte Probleme, habe es vor langer Zeit gewechselt und es ist OK, 130 nicht wegen falscher Anschläge (die habe ich nicht!) Hängt vom Händler ab.

Der EA ist immer auf dem Markt! Ich schlage vor, dass Sie auch die Funktion OrderCloseBy anstelle von Stops verwenden , sie hat sich bewährt (nicht intraday).

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

ERR_INVALID_TRADE_VOLUME 131 Falsches Volumen
 
Vinin писал(а) >>
Zeitraum() gibt den aktuellen Zeitrahmen in Minuten zurück

Alles erledigt, danke!

 
kon12 >>:

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

Verwenden Sie den Textauslöser

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 Неправильный объем

Was wäre, wenn...

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);
}