Chrome Опубликовано 20 января, 2008 Жалоба Поделиться Опубликовано 20 января, 2008 Всем привет, если есть у кого книга: MQL4. Полное руководство по языку программирования MetaQuotes Language 4.pdf, поделитесь плиз, буду очень благодарен.Все что есть в справке редактора и на форуме Метаквотес посвещенном этому языку более чем достаточно. Просто надо искать- и найдешь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Mifune Опубликовано 22 января, 2008 Жалоба Поделиться Опубликовано 22 января, 2008 Привет, коллеги! Есть необходимость загрузить в индикатор произвольное количество заранее заданных уровней (типа того, как это делается в фибо-сетке). Однако, как я понял, использовать levels можно только для separte window. Для chart window в настройках индикатора уровни отсутствуют. Есть ли какая-нибудь возможность обойти эту проблему и задать уровни прямо в MT. Пока ничего лучше чем использовать внешний текстовый файл с заданными параметрами в голову не приходит. Ссылка на комментарий Поделиться на другие сайты Поделиться
Liv Опубликовано 1 мая, 2008 Автор Жалоба Поделиться Опубликовано 1 мая, 2008 Все ответы куда-то пропали... :)Да действительно такие levels как в отделных окнах в главном окне отсутствуют. Но никто не мешает определять линии как объекты или использовать фибо для таких уровней... получится даже более удобнее, чем в в окошках... Ссылка на комментарий Поделиться на другие сайты Поделиться
bow Опубликовано 22 апреля, 2009 Жалоба Поделиться Опубликовано 22 апреля, 2009 Здравствуйте! В MQL если массивам не задан размер :string symbols[] = {"GBPUSD","USDJPY","EURUSD","USDCHF","USDCAD","AUDUSD","NZDUSD"}; массивы часто глючат. Это лечится функцией ArrayResize(symbols,ArraySize(symbols)); Ссылка на комментарий Поделиться на другие сайты Поделиться
v@no Опубликовано 28 октября, 2009 Жалоба Поделиться Опубликовано 28 октября, 2009 Здравствуйте, как убрать или заменить комментарий на графике в верхнем левом углу на время выполнения индикатора? Т.е. какой код для этого нужно встроить в исходник индикатора. Ссылка на комментарий Поделиться на другие сайты Поделиться
dancer Опубликовано 20 марта, 2010 Жалоба Поделиться Опубликовано 20 марта, 2010 Подскажите, есть ли в MQL4 функция поиска выделенного объекта?Т.е. если по объекту, например вертикальная линия, щёлкнуть левой кнопкой 2 раза, то после щёлчка по нему правой повляется контекстное меню, в котором можно выбрать свойства этой линии... Так вот можно ли программно определить этот именно выделенный объект, а потом программно определить его свойстваи потом в программе использовать эти свойства. Это можно использовать, например, - скрипт: в выделенной фибе, чтобы поменять число уровней в ней, установить только коррективные или импульсные- скрипт: между двумя выделенными вертикальными линиями (т.е. задать таким образом временной промежуток) построить МСФ и натянуть на него фибу- скрипт: установить у выделенной трендовой линии другой цвет, толщину, тип линии.... В данном наборе скриптов "Автоматизация рисования картинок в MT4" http://forum.masterforex-v.org/index.php?showtopic=12751&st=75 - спасибо его создателю ,подобные изменения выполняются только для последнего нарисованного объекта.Чтобы изменить цвет, толщину линии её нужно удалить и нарисовать новую (т.е. фактически создать последний объект) - лишние операции... Ссылка на комментарий Поделиться на другие сайты Поделиться
Geokom Опубликовано 7 апреля, 2010 Жалоба Поделиться Опубликовано 7 апреля, 2010 Всем привет! задача такая... в одном терминале присутствуют инструменты и 4 и 5 значные... не хочется менять параметры советника для каждого инструмента, хотелось бы программно определять 4 - или 5 значный инструмент ....это влияет на такие параметры советника или скрипта как TP SL и slipage.подскажите, кто нибудь нашел программный способ определения этого ?... Ссылка на комментарий Поделиться на другие сайты Поделиться
alexgomel Опубликовано 8 апреля, 2010 Жалоба Поделиться Опубликовано 8 апреля, 2010 Всем привет! задача такая... в одном терминале присутствуют инструменты и 4 и 5 значные... не хочется менять параметры советника для каждого инструмента, хотелось бы программно определять 4 - или 5 значный инструмент ....это влияет на такие параметры советника или скрипта как TP SL и slipage.подскажите, кто нибудь нашел программный способ определения этого ?... int Digits; //Количество цифр после десятичной точки в цене текущего инструмента. // или double MarketInfo(string Symbol, MODE_DIGITS); // Тоже, произвольного символа Ссылка на комментарий Поделиться на другие сайты Поделиться
Geokom Опубликовано 3 мая, 2010 Жалоба Поделиться Опубликовано 3 мая, 2010 Всем привет! задача такая... в одном терминале присутствуют инструменты и 4 и 5 значные... не хочется менять параметры советника для каждого инструмента, хотелось бы программно определять 4 - или 5 значный инструмент ....это влияет на такие параметры советника или скрипта как TP SL и slipage.подскажите, кто нибудь нашел программный способ определения этого ?... int Digits; //Количество цифр после десятичной точки в цене текущего инструмента. // или double MarketInfo(string Symbol, MODE_DIGITS); // Тоже, произвольного символа Ну вроде не все так просто... Например у 5- значных инструментов...USDJPY 94.615EURJPY 125.429EURUSD 1.32164EURGBP 0.86559 есть и 3 и 5 знаков после запятой У 4-значных есть 2 или 4 AUDJPY 87.75EURAUD 1,4271 Значит, получается таким образом: if (Digits ==2 || Digits ==4) {k = 10;} if (Digits ==3 || Digits ==5) {k = 1;} Это для правильной постановке TP и SL. Ссылка на комментарий Поделиться на другие сайты Поделиться
sokolov yura Опубликовано 19 августа, 2010 Жалоба Поделиться Опубликовано 19 августа, 2010 Значит, получается таким образом: if (Digits ==2 || Digits ==4) {k = 10;} if (Digits ==3 || Digits ==5) {k = 1;} - Что такое "k", что с ним делать? Это для правильной постановке TP и SL. Ссылка на комментарий Поделиться на другие сайты Поделиться
intradey Опубликовано 23 августа, 2011 Жалоба Поделиться Опубликовано 23 августа, 2011 Помогите пожалуйста, подскажите где в коде поменять настройки: цены: (мне нужен Close/Close) настройка Low/High и ещё он настроен так: при пересечении линией %K (MainBuffer) уровня 30 снизу вверх индикатор скажет "Buy", а при пересечении уровня 70 сверху вниз - "Sell". ... а мне нужно наоборот пересечении линией %K (MainBuffer) уровня 30 сверху вниз и при пересечении уровня 70 снизу вверх... //+------------------------------------------------------------------+//| sStochastic.mq4 |//| Copyright © 2004, MetaQuotes Software Corp. |//| http://www.metaquotes.net/ |//+------------------------------------------------------------------+#property copyright "Copyright © 2004, MetaQuotes Software Corp."#property link "http://www.metaquotes.net/"//----#property indicator_separate_window#property indicator_minimum 0#property indicator_maximum 100#property indicator_buffers 2#property indicator_color1 LightSeaGreen#property indicator_color2 Red//---- input parametersextern int KPeriod = 5;extern int DPeriod = 3;extern int Slowing = 3;//---- buffersdouble MainBuffer[];double SignalBuffer[];double HighesBuffer[];double LowesBuffer[];//----int draw_begin1 = 0;int draw_begin2 = 0;//---- Номер бара, по которому будет искаться сигнал#define SIGNAL_BAR 1//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init() { string short_name;//---- 2 additional buffers are used for counting. IndicatorBuffers(4); SetIndexBuffer(2, HighesBuffer); SetIndexBuffer(3, LowesBuffer);//---- indicator lines SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, MainBuffer); SetIndexStyle(1, DRAW_LINE); SetIndexBuffer(1, SignalBuffer);//---- name for DataWindow and indicator subwindow label short_name="sSto(" + KPeriod + "," + DPeriod + "," + Slowing + ")"; IndicatorShortName(short_name); SetIndexLabel(0, short_name); SetIndexLabel(1, "Signal");//---- draw_begin1 = KPeriod+Slowing; draw_begin2 = draw_begin1+DPeriod; SetIndexDrawBegin(0, draw_begin1); SetIndexDrawBegin(1, draw_begin2);//---- return(0); }//+------------------------------------------------------------------+//| Stochastic oscillator |//+------------------------------------------------------------------+int start(){ int i, k; int counted_bars = IndicatorCounted(); double price;//---- if(Bars <= draw_begin2) return(0);//---- initial zero if(counted_bars < 1) { for(i = 1; i <= draw_begin1; i++) MainBuffer[bars-i] = 0; for(i = 1; i <= draw_begin2; i++) SignalBuffer[bars-i] = 0; }//---- minimums counting i = Bars - KPeriod; if(counted_bars > KPeriod) i = Bars - counted_bars - 1; while(i >= 0) { double min = 1000000; k = i + KPeriod - 1; while(k >= i) { price = Low[k]; if(min > price) min = price; k--; } LowesBuffer = min; i--; }//---- maximums counting i = Bars - KPeriod;if(counted_bars > KPeriod) i = Bars - counted_bars - 1; while(i >= 0) { double max = -1000000; k = i + KPeriod - 1; while(k >= i) { price = High[k]; if(max < price) max = price; k--; } HighesBuffer = max; i--; }//---- %K line i = Bars - draw_begin1; if(counted_bars > draw_begin1) i = Bars - counted_bars - 1; while(i >= 0) { double sumlow = 0.0; double sumhigh = 0.0; for(k = (i + Slowing - 1); k >= i; k--) { sumlow += Close[k] - LowesBuffer[k]; sumhigh += HighesBuffer[k] - LowesBuffer[k]; } if(sumhigh == 0.0) MainBuffer = 100.0; else MainBuffer = sumlow / sumhigh*100; i--; }//---- last counted bar will be recounted if(counted_bars > 0) counted_bars--; int limit = Bars - counted_bars;//---- signal line is simple movimg average for(i = 0; i < limit; i++) SignalBuffer = iMAOnArray(MainBuffer, Bars, DPeriod, 0, MODE_SMMA, i);//---- Статические переменные, в которых хранятся//---- время последнего бара и направление последнего сигнала static int PrevSignal = 0, PrevTime = 0;//---- Если баром для анализа выбран не 0-й, нам нет смысла проверять сигнал//---- несколько раз. Если не начался новый бар, выходим. if(SIGNAL_BAR > 0 && Time[0] <= PrevTime) return(0);//---- Отмечаем, что этот бар проверен PrevTime = Time[0];//---- Если предыдущий сигнал был СЕЛЛ или это первый запуск (PrevSignal=0) if(PrevSignal <= 0) { if(MainBuffer[sIGNAL_BAR] - 10.0 > 0 && 10.0 - MainBuffer[sIGNAL_BAR+1] >= 0) { PrevSignal = 1; Alert("sStochastic (", Symbol(), ", ", Period(), ") - BUY!!!"); } } if(PrevSignal >= 0) { if(90.0 - MainBuffer[sIGNAL_BAR] > 0 && MainBuffer[sIGNAL_BAR+1] - 90.0 >= 0) { PrevSignal = -1; Alert("sStochastic (", Symbol(), ", ", Period(), ") - SELL!!!"); } }//---- return(0); }//+------------------------------------------------------------------+ Ссылка на комментарий Поделиться на другие сайты Поделиться
Soyuznik87 Опубликовано 2 января, 2012 Жалоба Поделиться Опубликовано 2 января, 2012 Друзья, надеюсь этот вопрос задан в правильном месте и звучит следующим образом, как в MQL4 задать ширину и расстояние между свечами. Пример задачи:Set up the candle width to 5 pixels and the candle distance to 1 pixel.Заранее благодарю за любую информацию и совет! Ссылка на комментарий Поделиться на другие сайты Поделиться
maryska2010 Опубликовано 10 июня, 2012 Жалоба Поделиться Опубликовано 10 июня, 2012 Реально ли выучить MQL с нуля? Или это под силу лишь тому, кто уже умеет программировать на каком-то языке? И какой язык лучше сначала изучить? Ссылка на комментарий Поделиться на другие сайты Поделиться
sovetguru Опубликовано 10 июня, 2012 Жалоба Поделиться Опубликовано 10 июня, 2012 Реально ли выучить MQL с нуля? Или это под силу лишь тому, кто уже умеет программировать на каком-то языке? И какой язык лучше сначала изучить? В принципе, вполне реально. Во всяком случае учебник Сергея Ковалева рассчитан как раз на тех кто «с нуля». Еще есть уроки с нуля на http://fxauto.pro. Это по-моему даже лучше, чем просто учебник. Но я считаю, что сначала лучше все таки хотя бы немного освоить язык Си. Тогда будет проще. Ссылка на комментарий Поделиться на другие сайты Поделиться
solution133 Опубликовано 24 марта, 2013 Жалоба Поделиться Опубликовано 24 марта, 2013 Реально ли выучить MQL с нуля? Или это под силу лишь тому, кто уже умеет программировать на каком-то языке? И какой язык лучше сначала изучить?Реально. Начал заниматься этим делом не с книги, а с того что начал изучать как устроены индикаторы и советники. Просматриваешь, улавливаешь логику построения, а если что не понятно - F1. После этого литература по MQL4 становится хорошим дополнением и осваивается намного легче Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения