Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 912

 
Здравствуйте, подскажите пожалуйста, почему push-сообщения приходят иногда с задержкой? Сегодня после включения терминала сообщения пришли на телефон через пол часа. С интернетом было всё ок (телефон находился рядом со своим вайфаем). Чаще всего конечно всё происходит без таких опозданий. Как получение push-сообщений сделать стабильнее?
 
halk2009:
Здравствуйте, подскажите пожалуйста, почему push-сообщения приходят иногда с задержкой? Сегодня после включения терминала сообщения пришли на телефон через пол часа. С интернетом было всё ок (телефон находился рядом со своим вайфаем). Чаще всего конечно всё происходит без таких опозданий. Как получение push-сообщений сделать стабильнее?
А разве кто-то гарантировал моментальную передачу сообщений?
 
evillive:
А разве кто-то гарантировал моментальную передачу сообщений?
Не знаю) по этому и спрашиваю. Чаще всего сообщения приходят моментально, просто хочется что бы так было всегда!) Может быть есть какие то технические стороны вопроса, которые можно подстроить, тем самым повысить надёжность получения push-сообщений.
 
Ребята, подскажите вот какую хрень. Поставил Плайсоунд в советник, чтоб звук проигрывался во время сигнала, так у меня началось подёргивание аудиокарты. То есть появился какой то кратковременный звук, подёргивание. Выключаю терминал всё нормально. Звук проигрывается стандартный..... Что может быть?
 
drknn:

Пронаблюдал странное поведение тестера стратегий. У меня советник устанавливает и тралит отложенные стоповые ордера. ошибка. Происходит следующее. Советник устанавилвает Байстоп и селлстоп на расстоянии 30 пунктов от текущей цены (Инструмент - GbpUsd. Четырёхзнак. Минимально-допустимый уровень = 3 пункта). Через какое-то время он их подтягивает вслед за рынком, если они не сработали. Так вот, что я вижу. модификация успешна, модификация успешна, а затем в какой-то момент времени хлоп и высскакивает ошибка №1. То есть всё было нормально, советник делал одни и те же действия и вдруг выскакивает эта ошибка. Цены все нормализованы до дигитса. Вообще, все величины, которые подаются на вход функции OrderModify() - всё нормализовано!

В чём может быть причина такого поведения советника в тестере? 

В попытке модифицировать ордер, не изменив при этом значения ни одного из его параметров. Я обратил бы внимание на нестрогие сравнения, сделав их строгими. 
[Eliminado]  

Доброго времени суток!

Подскажите, плз. Можно формулами для расчёта или ссылью...

Сколько пунктов на EURUSD  должна пройти цена до стоп-аута = 50 %, 200-ом плече - это торговые условия брокера на 1 лоте.  Маржин колл = 100%.

Благодарю.

П.С. Знаю, что нужна цена пункта. Отсюда и считать...

 
_Roman:

Доброго времени суток!

Подскажите, плз. Можно формулами для расчёта или ссылью...

Сколько пунктов на EURUSD  должна пройти цена до стоп-аута = 50 %, 200-ом плече - это торговые условия брокера на 1 лоте.  Маржин колл = 100%.

Благодарю.

П.С. Знаю, что нужна цена пункта. Отсюда и считать...


Проще, когда позиция увеличила эквити на 50%, посчитать пункты! Разница в пунктах будет одинаковая! ;))
[Eliminado]  
borilunad:
Проще, когда позиция увеличила эквити на 50%, посчитать пункты! Разница в пунктах будет одинаковая! ;))

:-) Там же стоп аут рассчитывается в процентах от суммы залога...

Да и там в вопросе забыл указать, например, с 1000 $ на депозите.

[Eliminado]  

По записи в массив подскажите, плз.

Затык. Надо записывать свежие времена в количестве, например, 5 шт. прихода тиков в статический массив для расчёта среднего значения тик/сек, например, за 5 тиков.

Т.е. записали времена прихода пяти тиков в массив. Далее считать среднюю скорость тика/секунду. 

Как данные в массиве смещать на каждом тике для записи времени  крайнего пришедшего тика в терминал? Как заполнять одномерный статический массив временами прихода тиков? Индексация в массиве организована как в массиве  таймсерии. Можно подсказать текстом или кодом. Пойму. Благодарю.

Так не работает. Массив не заполняется как надо временами прихода тиков.

int limit; //pBars;  
   int counted_bars=IndicatorCounted(); 
    //ArraySetAsSeries
 //---- последний посчитанный бар будет пересчитан
   if(counted_bars>0) counted_bars--;  
   limit=counted_bars;  
   for(int i=limit; i>=0; i--) { xBuffer[i+1] = xBuffer[i]; xBuffer_Time[i+1] = xBuffer_Time[i];}

   xBuffer[0] = iClose(symbol,1,0);
   xBuffer_Time[tickCounter_Current] = NormalizeDouble((iTime (_Symbol,1,0)-_start), 2); 
   tickCounter_Current ++;  
   tickCounter=tickCounter+1;
   
   if (tickCounter_Current == Num_Aver_of_Ticks)    
       tickCounter_Current = 0;   
       
   for ( i = 0; i < Num_Aver_of_Ticks; i ++) Summ_Time = Summ_Time + xBuffer_Time[i];
       
   if (Num_Aver_of_Ticks != 0)
   avgSpd = NormalizeDouble(Summ_Time / Num_Aver_of_Ticks, 2); 
Файлы:
[Eliminado]  

С частью - разобрался.

Почему принтует нули при записи бида в массив динамический?

//---------------------
extern int MaxDrawTicks=100;
extern int Num_Aver_of_Ticks=5;  
double     xBuffer_Time []; // Массив значений  
                         // В котором индекс - номер тика, значение - это бид 
int SIZE=0;               // Вспомогательная переменная для массива                                  
int tickCounter, tickCounter_Current; 
//+------------------------------------------------------------------+
int init()
  {   
//--- устанавливаем размер динамического массива
   if(ArrayResize(xBuffer_Time,SIZE)<0) {Print(" Ошибка в изменении размера массива времени поступления тиков "); return(false);}
//--- установим индексацию для буфера как в таймсерии для динамического массива
  // ArraySetAsSeries(xBuffer_Time,true);    
//---   Возвращает количество элементов указанного массива. 
   SIZE=ArraySize(xBuffer_Time);
   if (SIZE>=0) Print("Размер массива: ",SIZE);
   else Print("Ошибка. Массив не создан ",SIZE);        
   ArrayInitialize(xBuffer_Time, 0);
   return(0);
  }  
//+------------------------------------------------------------------+
int start()
  {  
   //ArrayResize(ValueArr,size);
   //ValueArr[size-1] = GetValue();
   //size++; 
 //----------------------------------------  
   ArrayResize(xBuffer_Time,SIZE);
   xBuffer_Time[SIZE-1] = Bid; //NormalizeDouble((iTime (_Symbol,1,0)-_start), 2); 
   SIZE ++;
   Print (" Значение xBuffer_Time[SIZE-1] = ", DoubleToStr(xBuffer_Time[SIZE-1],Digits) );
   Print (" Значение SIZE = ", DoubleToStr(SIZE,2) );  
 //---------------------------------------      
//------------
   return(0);
  }