Проявите уважение к участникам. Дайте ссылку на библиотеку.
извиняюсь, совсем закрутился)
В первую очередь хотелось бы поблагодарить Avals за проделпнную не пустяковую работу. https://www.mql5.com/ru/code/8175
к сожалению примеров разнообразного вида использований практически нет.
я бы хотел обратиться к тем 2500 скачавшим ее, чтобы выкладывали сюда свои примеры ипользования, или описаниея разных ситуаций и проблемах, если возникали при использовании.
опять тролим?
Сформулируйте свою проблему, а не выискивайте чужие...
Приложите пример, что не получилось.
//+------------------------------------------------------------------+
//| shablon.mq4 |
//| Viatcheslav Suvorov |
//+------------------------------------------------------------------+
#property copyright "Viatcheslav Suvorov"
#property show_inputs
#include <WinUser32.mqh>
#import "mt4excel.dll"
bool ExcelOpen();//Открывает Excel и создает чистую страницу
bool ExcelClose();//Закрывает Excel
bool ExcelOpenPattern(int NumPatt);//Открывает Excel по шаблону
bool ExcelOpenFile(string FileName);//Открывает файл Excel
bool ExcelSave();//Сохраняем файл
bool ExcelSaveAs(string FileName);//Сохраняем файл в FileName
bool ExcelAddSheet(string Name);//Добаить лист и сделать его активным
bool ExcelSetFormulaCell(int X,int Y,string Value);//Записать формулу в ячейку
double ExcelGetValueCell(int X,int Y);//Считать число из ячейки
string ExcelGetTextCell(int X,int Y);//Считать текст из ячейки
string ExcelGetFormulaCell(int X,int Y);//Считать формулу из ячейки
/*TypeD - тип диаграммы:
xl3DArea -4098 xl3DAreaStacked 78 xl3DAreaStacked100 79 xl3DBarClustered 60 xl3DBarStacked 61 xl3DBarStacked100 62
xl3DColumn -4100 xl3DColumnClustered 54 xl3DColumnStacked 55 xl3DColumnStacked100 56 xl3DLine -4101 xl3DPie -4102
xl3DPieExploded 70 xlArea 1 xlAreaStacked 76 xlAreaStacked100 77 xlBarClustered 57 xlBarOfPie 71
xlBarStacked 58 xlBarStacked100 59 xlBubble 15 xlBubble3DEffect 87 xlColumnClustered 51 xlColumnStacked 52
xlColumnStacked100 53 xlConeBarClustered 102 xlConeBarStacked 103 xlConeBarStacked100 104 xlConeCol 105 xlConeColClustered 99
xlConeColStacked 100 xlConeColStacked100 101 xlCylinderBarClustered 95 xlCylinderBarStacked 96 xlCylinderBarStacked100 97 xlCylinderCol 98
xlCylinderColClustered 92 xlCylinderColStacked 93 xlCylinderColStacked100 94 xlDoughnut -4120 xlDoughnutExploded 80 xlLine 4 xlLineMarkers 65
xlLineMarkersStacked 66 xlLineMarkersStacked100 67 xlLineStacked 63 xlLineStacked100 64 xlPie 5 xlPieExploded 69 xlPieOfPie 68 xlPyramidBarClustered 109
xlPyramidBarStacked 110 xlPyramidBarStacked100 111 xlPyramidCol 112 xlPyramidColClustered 106 xlPyramidColStacked 107 xlPyramidColStacked100 108
xlRadar -4151 xlRadarFilled 82 xlRadarMarkers 81 xlStockHLC 88 xlStockOHLC 89 xlStockVHLC 90 xlStockVOHLC 91 xlSurface 83
xlSurfaceTopView 85 xlSurfaceTopViewWireframe 86 xlSurfaceWireframe 84 xlXYScatter -4169 xlXYScatterLines 74 xlXYScatterLinesNoMarkers 75
xlXYScatterSmooth 72 xlXYScatterSmoothNoMarkers 73 */
bool ExcelSetDiagramma(int TypeD,string Title,string XRange,string YRange,int Left,int Top,int Riht,int Bottom);//Добавляет диаграму
bool ExcelDiagrammaAddRange();//Добавить данных в диаграмму. Первая строка - заголовок
bool ExcelSetValueCell(int X,int Y,double Value);//Записать число в ячейку
bool ExcelSetTextCell(int X,int Y,string Value);//Записать текст в ячейку
bool ExcelSetRange(string Range);//Запомнить диапазон
string ExcelGetFormat();//Возвращает формат диапазона
bool ExcelSetFormat(string Format);//Задать формат для диапозана
bool ExcelSetFormula(string Formula);//Записать формулу в диапазон
bool ExcelIsFormula();//true если в диапазоне формула
int ExcelRangeCount();//Кол-во ячеек в диапазоне
string ExcelRangeAdress();//Адресс диапазона
bool ExcelRangeColumnWidth(int Width);//Ширина диапазона
bool ExcelRangeRowHeight(int Height);//Высота диапазона
bool ExcelRangeInteriorColor(int Color);//Цвет фона диапазона
bool ExcelRangeFontColor(int Color);//Цвет шрифта диапазона
int ExcelGetLastErrorCode();//Код последней ошибки Excel
string ExcelGetLastErrorText();//Текст последней ошибки Excel
#import
int start()
{
if (ExcelOpen()) Print("Уcпешно открыли Excel"); else Print("Не открывается Excel:",ExcelGetLastErrorText());//Открываем Excel
ExcelSetTextCell(1,1,"Инструмент");
ExcelSetTextCell(2,1,"EURUSD");
ExcelSetTextCell(3,1,"GBPUSD");
ExcelSetTextCell(4,1,"USDCHF");
ExcelSetTextCell(1,2,"Открытие(0:0 GMT)");
ExcelSetValueCell(2,2,iOpen("EURUSD",PERIOD_D1,0));
ExcelSetValueCell(3,2,iOpen("GBPUSD",PERIOD_D1,0));
ExcelSetValueCell(4,2,iOpen("USDCHF",PERIOD_D1,0));
ExcelSetTextCell(1,3,"Последний Bid");
ExcelSetValueCell(2,3,MarketInfo("EURUSD",MODE_BID));
ExcelSetValueCell(3,3,MarketInfo("GBPUSD",MODE_BID));
ExcelSetValueCell(4,3,MarketInfo("USDCHF",MODE_BID));
ExcelSetTextCell(1,4,"Изменение за день");
ExcelSetRange("D2:D4");
ExcelSetFormula("=C2-B2");
ExcelSetRange("A1");
ExcelRangeColumnWidth(15);
ExcelSetRange("B1");
ExcelRangeColumnWidth(20);
ExcelSetRange("C1");
ExcelRangeColumnWidth(20);
ExcelSetRange("D1");
ExcelRangeColumnWidth(20);
ExcelSetRange("A1:D1");
ExcelRangeInteriorColor(0x000000);
ExcelRangeFontColor(0xFFFFFF);
ExcelSetDiagramma(103,"Изменение за день","A2:A4","D1:D4",1,50,400,200);
bool NeedLoop=true;
double lastEURUSD,lastGBPUSD,lastUSDCHF;
double curEURUSD,curGBPUSD,curUSDCHF;
while(NeedLoop){
curEURUSD=MarketInfo("EURUSD",MODE_BID);
curGBPUSD=MarketInfo("GBPUSD",MODE_BID);
curUSDCHF=MarketInfo("USDCHF",MODE_BID);
if (lastEURUSD!=curEURUSD){
lastEURUSD=curEURUSD;
ExcelSetValueCell(2,3,MarketInfo("EURUSD",MODE_BID));
}
if (lastGBPUSD!=curGBPUSD){
lastGBPUSD=curGBPUSD;
ExcelSetValueCell(3,3,MarketInfo("GBPUSD",MODE_BID));
}
if (lastUSDCHF!=curUSDCHF){
lastUSDCHF=curUSDCHF;
ExcelSetValueCell(4,3,MarketInfo("USDCHF",MODE_BID));
}
Sleep(1000);
}//while
return(0);
}
void deinit()
{
ExcelSaveAs("C:\proba.xls");
ExcelClose();
}
1-вот код шаблона . для начала нужно сделать чтобы данные писались не в строку а в столбец .
для этого сделал вот так (выделенное ).
2-дальше попробывал убрать диаграмму за ненадобностью, нужно динамически меняющиеся значения цены и обьема брались не из MarketInfo("GBPUSD",MODE_BID) например. а из цен закрытия минуток.
для этого проделал ниже следующее, еще нужно это растянуть на 1000 или более сторок, чтобы не как в примере для одной строки, а для минуток от последней до i-той вглубь истории.
int start()
{
if (ExcelOpen()) Print("Уcпешно открыли Excel"); else Print("Не открывается Excel:",ExcelGetLastErrorText());//Открываем Excel
ExcelSetTextCell(1,1,"EURUSD");
ExcelSetTextCell(1,2,"Vol");
ExcelSetTextCell(1,4,"GBPUSD");
ExcelSetTextCell(1,5,"Vol");
ExcelSetTextCell(1,7,"USDCHF");
ExcelSetTextCell(1,8,"Vol");
ExcelSetValueCell(2,1,iClose("EURUSD",PERIOD_M1,0));
ExcelSetValueCell(2,2,iVolume("EURUSD",PERIOD_M1,0));
ExcelSetValueCell(2,4,iClose("GBPUSD",PERIOD_M1,0));
ExcelSetValueCell(2,5,iVolume("EURUSD",PERIOD_M1,0));
ExcelSetValueCell(2,7,iClose("USDCHF",PERIOD_M1,0));
ExcelSetValueCell(2,1,iVolume("EURUSD",PERIOD_M1,0));
ExcelSetRange("A1");
ExcelSetRange("A2");
ExcelSetRange("A3");
ExcelSetRange("A1");
ExcelSetRange("A2");
ExcelSetRange("A3");
так и не нашол примеров применения...... скажем для того чтобы данные скидывались в определенный лист в указанный файл экселя......для диапазона с последнего до i-го бара.
сам бы примеры покавырял ..... не нашел.
Файл эксель для сброса информации можно открыть любой, данный начнут скидываться на текущий лист.
А дальше дело техники, вставляешь то что выше написал в цикл и крутишь сколько надо
и при чем тут библиотека?
как причем, это же через библиотеку делается, шаблон это приме, я хотел в шаблон вставить свою конструкцию, а функции как и в шаблоне обращаются к указанной библиотеке.
Файл эксель для сброса информации можно открыть любой, данный начнут скидываться на текущий лист.
А дальше дело техники, вставляешь то что выше написал в цикл и крутишь сколько надо
1-ну в шаблоне нет примера для диапазона с последнего до i-го бара
2- и примера как этот цикл запустиь по кругу.
пример никак не найду ..... я понимаю что не сложно для вас, но я то ламерюга тот еще в этом деле, если б я разбирался, я б не использовал эту библу и не перебрасывал бы данные в эксель, а кодил бы так))))
1-ну в шаблоне нет примера для диапазона с последнего до i-го бара
2- и примера как этот цикл запустиь по кругу.
пример никак не найду ..... я понимаю что не сложно для вас, но я то ламерюга тот еще в этом деле, если б я разбирался, я б не использовал эту библу и не перебрасывал бы данные в эксель, а кодил бы так))))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В первую очередь хотелось бы поблагодарить Avals за проделпнную не пустяковую работу. https://www.mql5.com/ru/code/8175
к сожалению примеров разнообразного вида использований практически нет.
я бы хотел обратиться к тем 2500 скачавшим ее, чтобы выкладывали сюда свои примеры ипользования, или описаниея разных ситуаций и проблемах, если возникали при использовании.