Добрый день). Подскажите как получить цены открытия/закрытия хай/лоу свечей другого символа? отличного от того на котором стоит советник?
Явно укажите символ.
string symbol_name, // имя символа- www.mql5.com
простите конечно))) я больше на mql4, iOpen на мт5 корректно работает?)
Все что есть на MQL4 отлично работает на MQL5. Если оно там конечно есть.
Добрый день). Подскажите как получить цены открытия/закрытия хай/лоу свечей другого символа? отличного от того на котором стоит советник?
вот что то нахимичил - кинул скрипт на евро\бакс и получил хай/лоу от фунта\бакс
//+------------------------------------------------------------------+ //| OBJPROP_TIMEFRAMES.mq5 | //| Copyright 2021, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.00" #property script_show_inputs //+------------------------------------------------------------------+ enum ENUM_SYMB { EURUSD = 1, // EURUSD GBPUSD = 2, // GBPUSD USDCHF = 3, // USDCHF USDJPY = 4 // USDJPY }; //+------------------------------------------------------------------+ input ENUM_SYMB Inpsymbol = EURUSD; // symbol input ENUM_TIMEFRAMES tf = PERIOD_D1; input string highlevel = "PreviousHigh"; input string lowlevel = "PreviousLow"; //--- string pairs[]= {"EURUSD","GBPUSD","USDCHF","USDJPY"}; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- double prevHigh; // High предыдущего double prevLow; // Low предыдущего double highs[],lows[]; // массивы для получения High и Low //--- сбросим значение последней ошибки ResetLastError(); //--- получим 2 последних значения High на таймфрейме for(int j=0; j<Inpsymbol; j++) { int highsgot=CopyHigh(pairs[j],tf,0,2,highs); if(highsgot>0) // если копирование прошло успешно { Print("Цены High за последние 2 дня получены успешно"); prevHigh=highs[0]; // High предыдущего Print("prevHigh = ",prevHigh); if(ObjectFind(0,highlevel)<0) // объект с именем highlevel не найден ObjectCreate(0,highlevel,OBJ_HLINE,0,0,0); // создадим объект гор. линия //--- зададим ценовой уровень для линии highlevel ObjectSetDouble(0,highlevel,OBJPROP_PRICE,0,prevHigh); //--- установим видимость ObjectSetInteger(0,highlevel,OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS); } else Print("Не удалось получить цены High за последние 2 дня, Error = ",GetLastError()); //--- сбросим значение последней ошибки ResetLastError(); //--- получим 2 последних значения Low на таймфрейме int lowsgot=CopyLow(pairs[j],tf,0,2,lows); if(lowsgot>0) // если копирование прошло успешно { Print("Цены Low за последние 2 дня получены успешно"); prevLow=lows[0]; // Low предыдущего Print("prevLow = ",prevLow); if(ObjectFind(0,lowlevel)<0) // объект с именем lowlevel не найден ObjectCreate(0,lowlevel,OBJ_HLINE,0,0,0); // создадим объект гор. линия //--- зададим ценовой уровень для линии lowlevel ObjectSetDouble(0,lowlevel,OBJPROP_PRICE,0,prevLow); //--- установим видимость ObjectSetInteger(0,lowlevel,OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS); } else Print("Не удалось получить цены Low за последние 2 дня, Error = ",GetLastError()); ChartRedraw(0); // перерисуем график принудительно } } //+------------------------------------------------------------------+
вот что то нахимичил - кинул скрипт на евро\бакс и получил хай/лоу от фунта\бакс
Вот достойный ответ человека, плохо знающего русский язык. Автор вопроса просил ПОДСКАЗАТЬ, а вы пишете скрипт.
Писать программы - это дело фриланса, который Вы таким образом обкрадываете.
Наверно слышали, что лучше человеку дать удочку вместо готовой рыбы.
Вот достойный ответ человека, плохо знающего русский язык. Автор вопроса просил ПОДСКАЗАТЬ, а вы пишете скрипт.
Писать программы - это дело фриланса, который Вы таким образом обкрадываете.
Наверно слышали, что лучше человеку дать удочку вместо готовой рыбы.
считай звёзды - грамотный ты наш.
Вот достойный ответ человека, плохо знающего русский язык. Автор вопроса просил ПОДСКАЗАТЬ, а вы пишете скрипт.
Писать программы - это дело фриланса, который Вы таким образом обкрадываете.
Наверно слышали, что лучше человеку дать удочку вместо готовой рыбы.
да ладно ;)
вот что то нахимичил - кинул скрипт на евро\бакс и получил хай/лоу от фунта\бакс
можно гораздо проще
MQL-5 стал более похож на MQL-4
вот тут, и код и описание
https://www.mql5.com/ru/docs/series/iopen
одной строкой кода, то есть очень просто:
Еще вопрос)
int OnInit() { Soft=new CArrayDouble(); if(CheckPointer(Soft)==POINTER_INVALID) return INIT_FAILED; } double func() { Soft.Resize(3); int size=ArraySize(Soft);}
в чем ошибка? ругается на 'Soft' - parameter conversion not allowed
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования