Скачать MetaTrader 5

Вопрос знатокам MQL4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
nys2000
133
nys2000 2011.07.10 14:32 
Существует ли в языке функция, возвращающая параметры закрытия последнего ордера - профит или лос. Или алгоритмическое решение проблемы. Заранее благодарен.
Роман
7939
Роман 2011.07.10 14:34  
nys2000:
Существует ли в языке функция, возвращающая параметры закрытия последнего ордера - профит или лос. Или алгоритмическое решение проблемы. Заранее благодарен.

существует см. здесь.- стр. №4 ф-ии №№ 3,4.
Alexandr Bryzgalov
29395
Alexandr Bryzgalov 2011.07.10 14:37  

Функция определения закрытия ордера по стоплоссу()

1. Ищем последний закрытый ордер

2. Если цена закрытия равна стоплосу

то правда,

иначе кривда


)

Роман
7939
Роман 2011.07.10 14:45  
sanyooooook:

Функция определения закрытия ордера по стоплоссу()

1. Ищем последний закрытый ордер

2. Если цена закрытия равна стоплосу

то правда,

иначе кривда


)


А если по ценам открытия и крайняя свеча "закрытия" эдак пп на 50 выше/ниже стопа как нож прошла...и поза кроется с убытком... :-))) Тогда как?... :-)))
Alexandr Bryzgalov
29395
Alexandr Bryzgalov 2011.07.10 14:53  
Roman.:

А если по ценам открытия и крайняя свеча "закрытия" эдак пп на 50 выше/ниже стопа как нож прошла...и поза кроется с убытком... :-))) Тогда как?... :-)))
в этом случае стоп передвигается ДЦ и поза закрывается по стопу с новой ценой )
Роман
7939
Роман 2011.07.10 14:57  
sanyooooook:
в этом случае стоп передвигается ДЦ и поза закрывается по стопу с новой ценой )

О, Сейчас стало понятно... :-)))
Рита
438
Рита 2011.09.20 11:21  

Доброе утро!

Мне поручили вставить в советник ограничение по времени работы.

Причем так, чтобы позиции открывались без временного ограничения, а трал строго работал в заданное время.

Если я вставлю в код вот так ограничение, в самом конце ф-и СТАРТ:

int start()
{

ОСНОВНОЙ АЛГОРИТМ СОВЕТНИКА

 
 //====== Задаем время работы ТРАЛА  - 
// если время (в часах) больше Start и меньше End - то не работаем
if    (Hour()<Start || Hour()>End)  return(0);
 if (UseTrailing)  TrailPositions(); // выключатель трейлинг стопа

  return (0);    
 }
//=========================== конец функции СТАРТ  ======

Будет ли это ограничение действовать только строго на трал, а не на весь алгоритм?

Или здесь лучше скобками { ...... } задать ограничение по времени для работы трала?

Всеволод
648
Всеволод 2011.09.20 11:38  
Rita:

Доброе утро!

Мне поручили вставить в советник ограничение по времени работы.

Причем так, чтобы позиции открывались без временного ограничения, а трал строго работал в заданное время.

Если я вставлю в код вот так ограничение, в самом конце ф-и СТАРТ:

Будет ли это ограничение действовать только строго на трал, а не на весь алгоритм?

Или здесь лучше скобками { ...... } задать ограничение по времени для работы трала?

Всего алгоритма не видно, так что лучше скобочками... или в самой функции TrailPositions или условием

if (UseTrailing || Hour()>=Start || Hour() <=End)

Рита
438
Рита 2011.09.20 11:41  
Спсб.
Sergey Guliaev
2301
Sergey Guliaev 2011.09.20 12:57  
splxgf:

Всего алгоритма не видно, так что лучше скобочками... или в самой функции TrailPositions или условием

if (UseTrailing || Hour()>=Start || Hour() <=End)


Вам ещё необходимо учесть переход через 0.

То-есть если разрешено время торговли, например, с 23.00 до 01.00, то ваше условие не сработает.

На мой взгляд лучше создать функцию, которая в соответствии со временем меняет флаги, на входе функции - время работы, на выходе true/false

А уже флаги вставлять в условие.

Sergey Guliaev
2301
Sergey Guliaev 2011.09.20 13:09  
nys2000:
Существует ли в языке функция, возвращающая параметры закрытия последнего ордера - профит или лос. Или алгоритмическое решение проблемы. Заранее благодарен.

OrderProfit()
1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий