Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1946

 
Vitaly Muzichenko #:

Не понятен принцип отступов от низа, чтобы  было поровну в несколько рядов

Вот от этого и не могу начать

Начните с того, что значение нижнего уровня сделайте 1, значение второго 2 и так далее. Потом можете убавить. Если это для mql4 то надо будет по 2 буфера на один уровень, если цветов будет только 2. Для mql5 по любому должно быть по 2 буфера на один уровень, данные и цвет. А ровность по вертикали подгоняется высотой окна индикатора.

 

Подскажите плиз, не смог найти сходу. Как привести серверное время с разным сдвигом к метаквотоскому. Что то горожу, но не туда и не нравится. Помнится у сабера было даже про летний зимний сдвиг, но не нашел.

Мысли такие. У нас есть только локальное время компа доступное у всех брокеров. Времена сдвигов других брокеров мы не знаем. Можно заморочится через глобальные переменные терминала конечно, хотя не факт, или файлы, но лучше проще, инпут нужного сдвига. Получаем сдвиг у брокера. Находим разницу И Таймкаррент + разница*3600 с учетом знака разницы.

Так верно?

Добавлено.

Круто, в МТ можно получить только сдвиг между временем GMT  и локальным)))) Сдвига между серверным временем и GMT нет...... 

Хех, решил))) По мотивам Дмитрия Федосеева)))

class CTradeTimeGMT{
protected:
int StartTime;
int EndTime;
int GMTRatio;
public:
void Init(int StartHour, int StartMinute, int EndHour, int EndMinute, int GMTshift){
StartTime=3600*StartHour+60*StartMinute;
EndTime=3600*EndHour+60*EndMinute;
GMTRatio=(GMTshift*3600)-int(((TimeCurrent()-TimeGMT())/3600)*3600);
}
bool Check(){
int CurTime=(int)((TimeCurrent()+GMTRatio)%86400);
if(StartTime<EndTime){
return(CurTime>=StartTime && CurTime<EndTime);
}
else{
return(CurTime>=StartTime || CurTime<EndTime);
}
}
};

input int STARTHour = 16;
input int STARTMinute = 13;
input int ENDHour = 19;
input int ENDMinute = 59;
input int GMTShift=2;   // сдвиг который нужен для всех брокеров при указании времени


CTradeTimeGMT tt;

int OnInit()
  {
//---
  tt.Init(STARTHour,STARTMinute,ENDHour,ENDMinute,GMTShift); 
//---
   return(INIT_SUCCEEDED);

void OnTick()
  {
 FlagTrade=tt.Check();
if( !FlagTrade )return;

// торговое время одинаковое для всех
}
 
Здравствуйте.Я пытаюсь пытаюсь опубликовать на маркете советник с простейшим кодом,но в разделе версии он не проходит проверку.Помогите разобраться,почему не код не проходит проверку.В отчете по тестированию две ошибки.Первая все сообщения должны быть на английском языке.Это я исправил,а вторая ошибка : Необходимо добавить возможность проверки торговых функций программы на наличие ошибок в Тестере стратегий.
1. Запрещается встраивать в Продукт какие-либо ограничения на работу в зависимости от времени, типа или номера торгового счета, финансового инструмента и т.д.
2. Для новостного эксперта вы можете генерировать тестовые новости разной степени важности несколько раз в день.
3. Для мультивалютного эксперта добавьте возможность торговать только по одной валютной паре.Файл кода советника я прилагаю.ТОлько если можно,вы исправьте все ошибки в файле,а потом обьясните что было не правильно.
Файлы:
2nd3.mq4  12 kb
 

Прошу подсказать где "копать" про отправку сигнала о достижении цены штатной горизонтальной линии на графике на другое устройство с этим же счетом,

спасибо заранее, благодарю

 
BIOs #:

Прошу подсказать где "копать" про отправку сигнала о достижении цены штатной горизонтальной линии на графике на другое устройство с этим же счетом,

спасибо заранее, благодарю

два терминала через сервер DC, разделяют только только торговое состояние и историю счёта.

если Алиса хочет передать мессендж Бобу, то выставляет отложку. 

или как Дубровский ищет иное дупло :-)

 

Вопрос возник. Задача. На депозите 2000 долларов, плечо 100. Выставляемый лот - 20% от суммы, т.е. на 400 долларов расчет лотов. Как расчитать уровень стоплоса, что бы убыток составил 50% для пар обратной котировки eurusd, прямой usdjpy и кросс gbpchf. 

И еще вопрос, контрл Т, на закладке актив мы видим реальное количество денег на депозите, а в терминале можно увидеть количество денег с плечом и уровень плеча? 

Понятно что можно сделать запрос и все получить.)))

 
Valeriy Yastremskiy #:

Вопрос возник. Задача. На депозите 2000 долларов, плечо 100. Выставляемый лот - 20% от суммы, т.е. на 400 долларов расчет лотов. Как расчитать уровень стоплоса, что бы убыток составил 50% для пар обратной котировки eurusd, прямой usdjpy и кросс gbpchf. 

И еще вопрос, контрл Т, на закладке актив мы видим реальное количество денег на депозите, а в терминале можно увидеть количество денег с плечом и уровень плеча? 

Понятно что можно сделать запрос и все получить.)))

на депозите 2000, плечо 100, уровень маржи 60% (надо знать где маржин-кол). в исходном посыле этого отчего-то нет.Если имелось в виду "нагрузка депозита", сиречь использование средств.

PS/ считается от максимально-возможного к открытию и поддержке лота по инструменту. Он 100% от него вы хотите открыть 1/5 (задействовать 20% средств) и с этого объёма на основе цены тика на лот, посчитать уровень стоп-лосс

 
Maxim Kuznetsov #:

на депозите 2000, плечо 100, уровень маржи 60% (надо знать где маржин-кол). в исходном посыле этого отчего-то нет.Если имелось в виду "нагрузка депозита", сиречь использование средств.

Хех, да, точно, не учел что на 1100 где то само остановится))) при минимльном лоте 0,01, как раз 1000 получается. Ну можно 30% убытку. Вопрос был про расчет прямых обратных и кросс курсов формулы. Умом понимаю, но формулы приходится выводить, и иногда с ошибками получается)))

 
Как рассчитать кодом загрузку депозита в тестере МТ5? Она же Deposit Load Спасибо!
 
Valeriy Yastremskiy #:

Хех, да, точно, не учел что на 1100 где то само остановится))) при минимльном лоте 0,01, как раз 1000 получается. Ну можно 30% убытку. Вопрос был про расчет прямых обратных и кросс курсов формулы. Умом понимаю, но формулы приходится выводить, и иногда с ошибками получается)))

Нужно брать в расчёт стоимость пункта

Могу дать код, но будете долго разбираться в нём, он большой, также принимает во внимание максимально возможный лот на маржу