Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо….Но…я очень начинающий:)))
тяжело только первые сто лет. дальше проще будет :)
читайте справку и смотрите примеры из МТ
Понятно. Т.е. трэйлинг стоп никак не реализован.. Надо все-таки будет писать самому .. :(
почему же не реализован? все как всегда - правой кнопкой по ордеру и в меню трал.
или же пишите свои тралы. общего решения конкретно для вас только штатный МТшный
Господа.
...
PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask - lastTick.bid) * MathPow(10, _Digits)));
Spread: 0, ask-bid: 55
55 - может быть другим (пара, время), но 0 - всегда .
Спасибо.
Господа.
...
PrintFormat("Spread: %i, ask-bid: %i", (int)SymbolInfoInteger(_Symbol, SYMBOL_SPREAD), (int)((lastTick.ask - lastTick.bid) * MathPow(10, _Digits)));
Spread: 0, ask-bid: 55
55 - может быть другим (пара, время), но 0 - всегда .
Спасибо.
SymbolInfoInteger
Возвращает соответствующее свойство указанного символа.
1. Непосредственно возвращает значение свойства.
long SymbolInfoInteger(
string name, // символ
int prop_id // идентификатор свойства
);
SYMBOL_SPREAD Размер спреда в пунктах int
я понял, что ф-ия возвращает значение из ENUM_SYMBOL_INFO_INTEGER
Хотелось бы понять, что разработчики хотели. Из описания неясно.
Спасибо.
long SymbolInfoInteger
функция возвращает не ENUM_SYMBOL_INFO_INTEGER, а конкретно число - значение спреда (если вы про SYMBOL_SPREAD).
ПримечаниеЕсли спред на указанном символе является плавающим, то выражение
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
вернет нулевое значение.
поэтому если вы хотите узнать текущий спред - то смотрите на разницу Бид и Аск
long SymbolInfoInteger
функция возвращает не ENUM_SYMBOL_INFO_INTEGER, а конкретно число - значение спреда (если вы про SYMBOL_SPREAD).
ПримечаниеЕсли спред на указанном символе является плавающим, то выражение
SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
вернет нулевое значение.
поэтому если вы хотите узнать текущий спред - то смотрите на разницу Бид и Аск
Кратенько, что пытаюсь реализовать:
3) графическое отоброжение позиции и сделок текущего инструмента на графике, а так же инфо по всем позициям в левом нижнем углу
MT5 мне нравится больше MT4, но всё не могу решить для себя проблему автоматизированного вывода на график истории сделок за один шаг. Помогите, пожалуйста, либо ссылкой на автоматизированное решение этой проблемы, либо если можно переделать эксперт в скрипт. Заранее, огромное спасибо!
Собственно оригинальный эксперт находится в первом сообщении данной темы - https://www.mql5.com/ru/forum/58.
Вот так это реализовано в MT4:
"Сделка из истории на графике. Вид -> Терминал -> История Счета. Хватаем ордер и перетягиваем его на график. Этого-же инструмента (если бросать на график другого инструмента, он заменится на выбранный).
Ордер отображается в виде стрелок открытия и закрытия ордера, соединенных отрезком трендовой линии. На одной вертикальной оси с ценой открытия отображаются уровни Stop Loss и Take Profit.
Если перетаскивать ордер с прижатой клавишей Shift, на графике отобразится вся история торговли по этому инструменту (поверьте, это очень наглядно)."
Не будет ли кто-либо любезен, подсказать решение небольшой задачки для начинающего.
Первое условие.
Имеется в наличии Индикатор фракт-зигзаг разв-та, написан в «четверке».
После применения «автомат-переводчика» кода в MQL5, удалось получить некоторый код, который имеет некоторую претензию называться кодом «пятерки».
Особенно «порадовали» вот эти две части:
// UP ФРАКТАЛЫ
if (iFractals(NULL,0,MODE_UPPER, ПОЗ)!=0)
{
Фрактал1В=iFractals(NULL,0,MODE_UPPER, ПОЗ);
ПОЗФрактал1В=ПОЗ;
}
i=1;
while(i<40)
{
if (iFractals(NULL,0,MODE_UPPER, ПОЗФрактал1В+i)!=0)
{
Фрактал2В=iFractals(NULL,0,MODE_UPPER, ПОЗФрактал1В+i);
ПОЗФрактал2В=ПОЗФрактал1В+i;
break;
}
i++;
}
i=1;
while(i<40)
{
if (iFractals(NULL,0,MODE_UPPER, ПОЗФрактал2В+i)!=0)
{
Фрактал3В=iFractals(NULL,0,MODE_UPPER, ПОЗФрактал2В+i);
ПОЗФрактал3В=ПОЗФрактал2В+i;
break;
}
i++;
}
и
// DOWN ФРАКТАЛЫ
if (iFractals(NULL,0,MODE_LOWER, ПОЗ)!=0)
{
Фрактал1Н=iFractals(NULL,0,MODE_LOWER, ПОЗ);
ПОЗФрактал1Н=ПОЗ;
}
i=1;
while(i<40)
при попытке компиляции получаем :
'MODE_UPPER' - undeclared identifier FZR2.mq5 164 37
'MODE_LOWER' - undeclared identifier FZR2.mq5 192 37
Второе условие. Здесь на сайте имеется код индикатора Fractals, который заполняет буферы раздельно данными о верхних и нижних фракталах. Вот часть его кода:
if(prev_calculated<7)
{
limit=2;
//--- clean up arrays
ArrayInitialize(ExtUpperBuffer,0.0);
ArrayInitialize(ExtLowerBuffer,0.0);
}
else limit=rates_total-5;
for(i=limit;i<rates_total-3;i++)
{
//---- Upper Fractal
if(High[i]>High[i+1] && High[i]>High[i+2] && High[i]>=High[i-1] && High[i]>=High[i-2])
ExtUpperBuffer[i]=High[i];
else ExtUpperBuffer[i]=0.0;
//---- Lower Fractal
if(Low[i]<Low[i+1] && Low[i]<Low[i+2] && Low[i]<=Low[i-1] && Low[i]<=Low[i-2])
ExtLowerBuffer[i]=Low[i];
else ExtLowerBuffer[i]=0.0;
}
//--- OnCalculate done. Return new prev_calculated.
return(rates_total);
}
Вопрос: имеются ли в этих буферах (буферах индикатора Фракталы) данные о времени и цене бара-фрактала, и если «да», то как написать цикл, чтобы в индикаторе ФЗР буферы заполнялись данными из буферов индикатора Фракталы?