Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 203

 
Alexey Kozitsyn:
Ну.. не думаю, что нужно так глубоко копать, а вот про запрос в цикле - это действительно первое, что бросается в глаза.

А если ему эти данные разово получать нужно, или раз в час? Зачем лишний раз делать бесполезный цикл?

Мы, никто из нас, кроме самого вопрошающего, не знаем чего ж он хочет. Поэтому советовать можно лишь то, что ему посоветовали - пойти почитать в клубе телепатов свои упущения при постановке вопроса. И не обижаться на тех, кто поржать малость решил.

 
Alexey Kozitsyn:
Троллеры:) Лучше бы посоветовали в цикле получать цены. Соответственно, хранить в массивах.
Почитайте на досуге)
 
Просто нужно было сразу ответить что мой вопрос Вам не ясен.А вы "соль,перец..." Обидо
 
STARIJ:

На мой взгляд проще так

   Alert выводит сразу на экран. Это конец таблицы


А вопрос читали? Похоже мимо ушей пропустили.
 
Romal001:
Просто нужно было сразу ответить что мой вопрос Вам не ясен.А вы "соль,перец..." Обидо

Прочтите мой первый вам ответ.  В нём был вопрос вам. Если бы ответили внятно, может и другой разговор был бы.

О КАКИХ сигналах вы спрашивали?

И при чём тут данные свечей?

 
#property indicator_chart_window
extern int boom = 1;
//=================================
void fishka(int ma,int mi,double map,double mip) // ф-ция
{
   ObjectCreate("Макс_Мин",OBJ_TRENDBYANGLE,0, Time[ma], map, Time[mi], mip);// Проводим линию
   ObjectSet("Макс_Мин",OBJPROP_RAY,false);     // Выключить свойство бесконечного луча
}

int deinit()
  {

 ObjectsDeleteAll();// Удалим все объекты
  return(0);
  }

void start()
{  
  string Символ = "GBPUSD";
  datetime Первый, Последний;
  int Период=PERIOD_H1;

  Последний = iTime(Символ, Период, 0);// Прежде всего узнаем дату и время последнего бара
 
if(boom){
   Alert("Последний бар на часовом  ",Последний);}
 
  
  MqlDateTime MqlПервый;              // Теперь получить начало суток, обнулив часы
  TimeToStruct(Последний,MqlПервый);  // Для этого преобразуем время последнего бара в структуру
  MqlПервый.hour=0;

  
  Первый=StructToTime(MqlПервый);            // Терерь надо обратно преобразовать во время
if(boom){
  Alert("Первый бар на часовом  ",Первый);}  // Смотрим начало первого бара суток
  
  int НомерПервого=iBarShift(Символ, PERIOD_H1,Первый);// По времени определим номер первого бара суток
if(boom){
   Alert("Первый бар на часовом под номером ",НомерПервого);}

// Можно было просто узнать время начала бара на D1

  // Теперь у нас есть НомерПервого бара, а номер послелнего = 0
  // Найдем на этом интервале номера баров, где макс и мин
  // iHighest и iLowest находят номер бара с макс и мин ценой
 int  БарМакс = iHighest(Символ,  // symbol = инструмента
                Период,           // timeframe = Период
                MODE_HIGH,        // Наибольшая цена бара
                НомерПервого+1,   // Количество баров
                0);               // Начальный бар

int  БарМин  = iLowest(Символ,Период,MODE_LOW,НомерПервого+1,0); // Наименьшая цена бара
                               
if(boom){
  Alert("Максимальный бар = ", БарМакс, "  Минимальный бар = ", БарМин);}
                                                                           

 
double max_price=iHigh(Символ, Период, БарМакс); // iHigh и iLow дают макс и мин цены указанного бара
double min_price=iLow (Символ, Период, БарМин);
   
    fishka(БарМакс,БарМин,max_price,min_price); // ф-ция
 if(boom){
   Alert("Максимум цены = ", max_price, "  Минимум цены = ", min_price);
 
   Alert("Угол = ", ObjectGetDouble(0,"Макс_Мин",OBJPROP_ANGLE));} // Теперь хорошо бы узнать угол               
}

как енто дело загнать в цикл,чтоб отображался не только один день,а на истории ,извертелся весь как змей чото не чего не получается,интерес технический ,аж весь чешусь))

 

Подскажите как правильно и более точно получить цену где пересекаются между собой две машки


 
missha32:   Подскажите как правильно и более точно получить цену где пересекаются между собой две машки

Пересечение между барами, а расчет ведется по барам. Или надо точнее? Можно провести интерполяцию, но надо ли? У медленной Ма то же значение.

 
STARIJ:

Пересечение между барами, а расчет ведется по барам. Или надо точнее? Можно провести интерполяцию, но надо ли? У медленной Ма то же значение.

На данном рисунке МА1(1)>МА2(1) и МА1(2)<=МА2(2) - это и есть факт пересечения. В скобках указан бар, на котором берётся значение МА1 и МА2
 

    пересечение МА происходит между барами - поймал наглядный пример

МА на барах левее и правее пересечения отличается от цены в точке пересечения. Как понял, вопрошающему нужно значение точно в точке пересечения вместо значения на одном из соседних баров. Точно это значение можно получить использованием линейной интерполяции - ведь МА между барами строится отрезками прямой. Или взять координаты каждой МА на соседних барах. Построить аналитически 2 прямые линии и рассчитать точку их пересечения. Можно произвести расчет рассматривая 2 подобных треугольника. Возникает встречный вопрос - зачем это нужно? Сопоставимы ли затраты с ценностью результата? Ведь при минимальном изменении параметров МА точки пересечения сдвинутся. Скорее всего, это требует руководитель курсового проекта

Причина обращения: