Вопрос по мультивалютному советнику - страница 8

 

пишите, мой email в #property link индикатора

 

наверное последний вопрос перед стартом!

Все ограничения учел. И лоты, и ордера, и время тестирования, и проч.

Осталось FreeMargin учесть. Вставил :

 if(AccountFreeMargin()<(500*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }

Прикинул, что если депозит упадет до 5000$, то лот у меня падает примерно до 0.5

Но советник все время продолжает делать попытки открыть позицию! И открывает. До самого конца депозита..

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

p.s Только пож. не предлагайте посмотреть "как это сделано в советнике ProtoType.mq4"

Смотрел.

 
rid:
 if(AccountFreeMargin()<(500*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }

500 маловато будет, и в Вашем варианте эксерт будет жаловаться на недостаток средств в лог на каждом тике. Но когда их будет недостаточно, значения для Вас это не будет иметь никакого - только спамить торговый сервер будете лишними запросами, да и то терминал их не пропустит на сервер ...

 
rid:

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

А какой именно случай Вы имеете ввиду?
 

Хотя бы так:

как только средства депозита упадут ниже 50% - чтобы эксперт элементарно отключался!

 
if(AccountFreeMargin()<5000)return;
 
rid:

Хотя бы так:

как только средства депозита упадут ниже 50% - чтобы эксперт элементарно отключался!

А смысл?

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

 

Да..., не всё так просто.... Вылезла под конец проблема, откуда и не ждал.!

Я понимаю дело так: нужно чтобы когда открывались позиции, то всякий раз залоговая сумма от лотов была меньше, чем половина текущих средств на счету. Причем не зависимо от того, сколько открыто позиций. В моем мультивалютном работают до пяти пар. Среди них есть фунт, - самая затратная.

но для простоты предположим ,что в среднем общее число лотов уменьшается (как у меня) с размером депозита. Пусть в среднем 1 лот тратит 1500$ залога.

Если депозит упал до 5000$, то я вправе открыть три позиции не более, чем на 2500$ залога. Иначе говоря я могу открыть три позиции размером не более, чем каждая по 0.5 лота

3*0.5*1500=2250$<2500$

Если депозит упал до 3000, то я могу открыть лишь три позиции по 0.3 лота и т.д.

Надеюсь я правильно теперь смог сформулировать задачу. Так что же делать?

 

Прошу прощения! Снимаю все вопросы! Оказывается, Именно так, как я выше описал и работает мой советник!

Используя библиотеку расчета лота.

 
rid:

Я понимаю дело так: нужно чтобы когда открывались позиции, то всякий раз залоговая сумма от лотов была меньше, чем половина текущих средств на счету. Причем не зависимо от того, сколько открыто позиций. В моем мультивалютном работают до пяти пар. Среди них есть фунт, - самая затратная.

но для простоты предположим ,что в среднем общее число лотов уменьшается (как у меня) с размером депозита. Пусть в среднем 1 лот тратит 1500$ залога.

Если депозит упал до 5000$, то я вправе открыть три позиции не более, чем на 2500$ залога. Иначе говоря я могу открыть три позиции размером не более, чем каждая по 0.5 лота

3*0.5*1500=2250$<2500$

Если депозит упал до 3000, то я могу открыть лишь три позиции по 0.3 лота и т.д.

Надеюсь я правильно теперь смог сформулировать задачу. Так что же делать?

Не совсем правильно: такого (выделенного) ограничения нет. Это уровень стопаут наступает, когда сумма залога более чем в два раза превышает средства на счету. Т.е. когда Ваш депозит упал до 5К и нет открытых позиций, то открыться Вы можете на 10.0 лотов, если средства = 3К, то открыться можно 6-ю лотами (суммарно). Это всё при плече 100:1 (как на конкурсе). Корректируйте расчёты.

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