[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 361

 
costy_ писал(а) >>

Помогите

int Minute( )
Возвращает текущую минуту (0,1,2,..59) последнего известного серверного времени на момент старта программы (в процессе выполнения программы это значение не меняется).

Замечание: при тестировании последнее известное время сервера моделируется.

Но в индикаторе, при тестировании, последнее известное время сервера не моделируется.Так и должно быть?

В индикаторе тоже моделируется, если индикатор вызывается из советника в режиме тестера или оптимизатора. Если в визуальном режиме, то берется реальное.

 

Поеду в Минск на следующей электричке....

Вот, оцените написал блок приблизительного контроля уровня иквити на том участке где сливал с контролем даёт прибыль 100% от депо за 4 месяца

Посмотрите если не затруднит правильно там всё написано...

Файлы:
 

Может ещё появятся мысли по улучшению

Вроде перспективный советник, как думаете??????

 
Vinin >>:

В индикаторе тоже моделируется, если индикатор вызывается из советника в режиме тестера или оптимизатора. Если в визуальном режиме, то берется реальное.

Жаль, а каким простым способом сделать один раз в день срабатывание функции в индикаторе (тестер)?

 

Требуется закрыть часть открытой позиции (20, 30, 50 и т.д. %).

Для этого необходимо чтобы оставшаяся часть лота соответствовала требованиям брокера:

- У одного брокера - минимальный лот и шаг: 0.1 и 0.01 соответственно.

- У другого брокера - 0.01 и 0.01

- У третьего - 0.1 и 0.1


Есть ли у кого-нибудь идея как выполнить проверку наиболее простым способом?

 
chief2000 >>:

Требуется закрыть часть открытой позиции (20, 30, 50 и т.д. %).

Для этого необходимо чтобы оставшаяся часть лота соответствовала требованиям брокера:

- У одного брокера - минимальный лот и шаг: 0.1 и 0.01 соответственно.

- У другого брокера - 0.01 и 0.01

- У третьего - 0.1 и 0.1


Есть ли у кого-нибудь идея как выполнить проверку наиболее простым способом?





1. Можно открыть Х (0,15 и т.п.) в туже сторону. получаем ~0,25 (0,3 или скок там надо... ) в сумме. - открываем в другую сторону скок надо.. закрываем потом нескок ордеров.

2. Как мона от ниже плинтуса еще закрыть ? 

3. Ни как.

 
chief2000 писал(а) >>

Требуется закрыть часть открытой позиции (20, 30, 50 и т.д. %).

Для этого необходимо чтобы оставшаяся часть лота соответствовала требованиям брокера:

- У одного брокера - минимальный лот и шаг: 0.1 и 0.01 соответственно.

- У другого брокера - 0.01 и 0.01

- У третьего - 0.1 и 0.1

Есть ли у кого-нибудь идея как выполнить проверку наиболее простым способом?

Самый просто вариант.

1. Считаем нужную доля (которая должна остаться после закрытия)

2. Отнимаем от полученного числа минимальный лот

3. Эту разность округляем до требуемой точности

4. прибавляем минимальный лот.

Получили размер позиции после закрытия.

Если нужно в коде, то позже сделаю.

Алгоритм будет вполне рабочий, и можно будет использовать при работе практически с любым ДЦ

 
BARS >>:

1. Можно открыть Х (0,15 и т.п.) в туже сторону. получаем ~0,25 (0,3 или скок там надо... ) в сумме. - открываем в другую сторону скок надо.. закрываем потом нескок ордеров.

2. Как мона от ниже плинтуса еще закрыть ?

3. Ни как.

Боюсь открытие новых ордеров все еще более усложнит :)

 
Vinin >>:

Самый просто вариант.

1. Считаем нужную доля (которая должна остаться после закрытия)

2. Отнимаем от полученного числа минимальный лот

3. Эту разность округляем до требуемой точности

4. прибавляем минимальный лот.

Получили размер позиции после закрытия.

Если нужно в коде, то позже сделаю.

Алгоритм будет вполне рабочий, и можно будет использовать при работе практически с любым ДЦ

Процент (20, 30, 50 и т.д.) устанавливается заранее, по крайней мере сейчас так.

Вопрос упирается в основном в определение "требуемой точности" исходя из требований брокера по мин. лоту и шагу (чтобы при этом

была универсальность решения). Допустим необходимо закрыть 25% позиции с 0.72 лота: шаг 0.01 и минимальный лот 0.1.

 
chief2000 писал(а) >>

Процент (20, 30, 50 и т.д.) устанавливается заранее, по крайней мере сейчас так.

Вопрос упирается в основном в определение "требуемой точности" исходя из требований брокера по мин. лоту и шагу (чтобы при этом

была универсальность решения). Допустим необходимо закрыть 25% позиции с 0.72 лота: шаг 0.01 и минимальный лот 0.1.

extern double CloseProcent=20.0; // Заданный процент лота для закрытия

//=====================================================================
// Функция для расчета закрываемой доли позиции с учетом минимального |
// лота и шага                                                        |
// На входе размер позиции, на выходе закрываемая часть               |
//---------------------------------------------------------------------
//                        Copyright © 2009, Victor Nicolaev aka Vinin |
//                                              e-mail: vinin@mail.ru |
//=====================================================================
double CalculateCloseLots(double LotSize){
   double LotMin  = MarketInfo(Symbol(), MODE_MINLOT);
   double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
   
   double Res;
   
   Res=LotSize*(100.0-CloseProcent)/100.0;   // Считаем сколько должно остаться
   Res-=LotMin;                              // Убираем миниальный лот
   Res=MathRound(Res/LotStep)*LotStep;       // Округляем до заданой точности 
   Res+=LotMin;                              // Получаем размер позиции после закрытия
   Res=LotSize-Res;                          // Считаем размер к закрытию
   return(Res);
}

Что-то примерно так у меня получилось.

Причина обращения: