Скопировать линию с одного графика MT4 на другой - PullRequest
0 голосов
/ 04 апреля 2020

Буду признателен за помощь в программном копировании линии с одного графика MT4 на другой. Если я рисую линию на одном часовом интервале, я бы хотел, чтобы линия воссоздалась на моем 15-минутном графике, а также на 1-минутном графике. Итак, у меня есть три графика, и рисование линии на одном графике должно воссоздать линию на двух других графиках. Линия, которую я рисую на своем 1-часовом таймфрейме, будет нарисована с помощью мыши, а не линии, нарисованной программно.

1 Ответ

0 голосов
/ 04 апреля 2020

Это, кажется, ответ:

void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   long lNextChartID = 0, lSecondChartID = 0;
   datetime dtOpenTime,dtCloseTime;
   double dOpenPrice,dClosePrice;

   if(id==CHARTEVENT_OBJECT_CREATE)
      {
         if(ObjectType(sparam) == OBJ_TREND)
         {
            lNextChartID = ChartNext(ChartID());
            lSecondChartID == ChartNext(lNextChartID);

            dtOpenTime = ObjectGet(sparam,OBJPROP_TIME1);
            dtCloseTime = ObjectGet(sparam,OBJPROP_TIME2);
            dOpenPrice = ObjectGet(sparam,OBJPROP_PRICE1);
            dClosePrice = ObjectGet(sparam,OBJPROP_PRICE2);      

            if(ChartSymbol(lNextChartID) == ChartSymbol(0) &&
               ChartPeriod(lNextChartID) < ChartPeriod(0))
            {
               ObjectCreate(lNextChartID,sparam + "1",OBJ_TREND,0,dtOpenTime,dOpenPrice,dtCloseTime,dClosePrice);
            }   
         }
      }
  }
...