эм... я минус не увидел у maxprice. извиняйте за лекцию :-b :-b :-b :)) :)) :))
Изменено 30 ноября, 2015 пользователем dermitay
От xbms, 13 апреля, 2013 в Уголок Программиста
эм... я минус не увидел у maxprice. извиняйте за лекцию :-b :-b :-b :)) :)) :))
Изменено 30 ноября, 2015 пользователем dermitay
Цитатаminprice = MarketInfo(Symbol(), MODE_BID);
maxprice = MarketInfo(Symbol(), MODE_BID);
ну или просто
minprice = Bid;
maxprice = Bid;
В /topic/4034-obuchenie-jazyku-mql4-pod-metatrader-4/page/114/#comment-249236 Kroft указал фрагмент с ошибкой, на которую я и указал.
Новый фрагмент кода без этой ошибки Sergey Forex выложил позже - когда на неё указали.
Sergey Forex и Kroft - кто из вас ведет дискуссию?
Обсуждается непонятно чей фрагмент кода...
Kroft, что это?
ЦитатаВот такая вот петрушка, мой бот берет только общую максимальную цену, а максимальную дня не пересчитывает, вроде все по уроку второму сделал. может кто разъяснит ситуацию по второму уроку - обновленному.
Настройки
extern int BarCount = 10;
extern int HourStart = 10;
extern int HourEnd = 23;
void GetMaxPrice()
{
for (int i = 0; i
{
mp = iLow (Symbol(), PERIOD_CURRENT, i);
if (mp > maxprice)
maxprice = mp;
}
return;
}
Изменено 1 декабря, 2015 пользователем Старик
Пара советов начинающим:
а если у меня идёт связка индюк, читающий параметры одной совы и передающий эти параметры в глобальные переменные для другой совы, это тоже зло?)
в чем суть такой ненависти к изменению глобальных переменных?
а если у меня идёт связка индюк, читающий параметры одной совы и передающий эти параметры в глобальные переменные для другой совы, это тоже зло?)
в чем суть такой ненависти к изменению глобальных переменных?
struct data = get_data();
set_data_to_expert(data);
а если у меня идёт связка индюк, читающий параметры одной совы и передающий эти параметры в глобальные переменные для другой совы, это тоже зло?)
в чем суть такой ненависти к изменению глобальных переменных?
Это общемировая практика, которая сильно упрощает работу. Делается отдельный метод по получению данных, которые пакуются в какую-нибудь структуру и метод который берет данные из этой структуры и задает их в глобальные переменные.
struct data = get_data();
set_data_to_expert(data);
Изменено 2 декабря, 2015 пользователем dermitay
Коллеги, а почему в некоторых исходниках не работает режим отладки, то есть кнопки не подсвечиваются? :-? Сам привык везде принты расставлять, если честно, даже сначала и не заметил, что появилась возможность пошаговой отладки в МТ4...
Коллеги, а почему в некоторых исходниках не работает режим отладки, то есть кнопки не подсвечиваются? :-? Сам привык везде принты расставлять, если честно, даже сначала и не заметил, что появилась возможность пошаговой отладки в МТ4...
Изменено 3 декабря, 2015 пользователем dermitay
ОК, спасибо!! Сейчас кстати глянул одно из последних видео Сергея, там Play активна :-? :-? - я в синхроне набираю код - ничего подобного, будем разбираться... (как обычно лень победила, поэтому и задал вопрос - так не хотелось самому искать :d)
Всем привет. Подскажите как записать в код такую команду: если ордер закрылся по ТП - удалить все отложки. Или направьте где можно поискать.
Всем привет. Подскажите как записать в код такую команду: если ордер закрылся по ТП - удалить все отложки. Или направьте где можно поискать.
int ord=OrdersHistoryTotal();
for(int i=ord; i>=0; i--)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) continue;
if(MathAbs(OrderClosePrice()-OrderTakeProfit()) {
Kill();
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void Kill()
{
int ord=OrdersTotal();
for(int i=ord; i>=0; i--)
{
if(!OrderSelect(i,SELECT_BY_POS)) continue;
if(OrderType()>1)
{
int tick=OrderTicket();
if(OrderDelete(tick))
{
Print("yeee!! mutherfucker!!! i kill him!! ",tick);
}
}
}
}Изменено 4 декабря, 2015 пользователем dermitay
Добрый день! Помогите пожалуйста, ищу обычный индикатор Tma.mq4, который используется в 3-ем уроке по обучению программированию.
Сбросьте, пожалуйста, у кого есть.
Добрый день! Помогите пожалуйста, ищу обычный индикатор Tma.mq4, который используется в 3-ем уроке по обучению программированию.
Сбросьте, пожалуйста, у кого есть.
Спасибо. Но этот индикатор при компилировании в Meta Editor выдает много ошибок и не ставится на график.
Изменено 6 декабря, 2015 пользователем htp87
Всем доброго здравия. У меня вот такой вопрос, может кто подскажет. Как в MT4 разрешить открытие ордеров только с одним мэджиком, а с другими запретить без возможности даже открытия?
Вопрос знатокам. уже мозги себе все переломал.
Суть проблемы: сова висит на активном графике, при перекомпиляции сова НЕ деинициализируется и не инициализируется(как должна с деинит резон 2). При вызове свойств совы и нажатии ок - тоже самое, ничего не происходит(а должен быть деинит ризон 5), в логах никаких ошибок нет, при вышеописанных двух действиях(перкомпил кода и смена входных данных) - появляется только строчка с инпутами, без деинит и инит.
нормальный деинит/инит идет только в том случае, если мы сменим таймфрейм(деинит ризон 3).
но и тут лог чист аки слеза младенца - никаких ошибок(никаких абнормалов и таймаутов).
весь код гоняется через EventSetMillisecondTimer - OnTimer.
OnTimer вызывается только в OnInit.
в коде нет ни одного цикла while, все for'ы перепроверил - везде всё ок.
в OnDeinit конечно же убиваю таймер:
void OnDeinit(const int reason)
{
//--- destroy timer
ArrayFree(BD_Signals);
ArrayFree(BD_Orders);
ArrayFree(BD_News);
EventKillTimer();
}
Изменено 7 декабря, 2015 пользователем dermitay
Старый и новый код откомпилирован в одной версии мэтаэдитра?
По нормальному деинт-инит по ОК без изменения значений входных параметров не нужен - это явный атавизм.
Может, в последнем эдиторе сделали наконец.
Старый и новый код откомпилирован в одной версии мэтаэдитра?
По нормальному деинт-инит по ОК без изменения значений входных параметров не нужен - это явный атавизм.
Может, в последнем эдиторе сделали наконец.
Изменено 7 декабря, 2015 пользователем dermitay
Добрый день! В домашнем задании к 3-ему уроку не совсем понятно как интегрировать индикатор Stochastic в советник. Какие исходные значения нужно переносить? Какой буфер за какую линию отвечает? По идее, покупка происходит, если синяя линия пересекает снизу вверх красную при значении ниже 20, и соответственно при пересечении синей линии сверху вниз красной выше значения 80 - продажа. Помогите, пожалуйста, разобраться.
сова пишется мной - конечно же, все что я выше написал делал в одном и том же эдиторе. ну по поводу смены входных параметров - соглашусь, ок, аттавизм. но... перекомпил-то не меняет код совы на графике... почему?..
то есть, не особо критично конечно, но стало неудобно.
то есть после перекомпиляции надо опять кидать сову на график, чтобы все изменения в коде стали актуальными, так как сова, которая крутится-вертится на графике - это сова со старым кодом(который по факту загружен в ОЗУ получается).
бред бредом блин...
Ну и фича!
Реально татарская хитрость!
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем