Скачать MetaTrader 5

Вопрос по фиксированию прибыли

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Понравилась статья? Поделись ею с друзьями!
new-rena
3372
new-rena 2012.01.17 07:11 

Написав прибыльного советника встал вопрос по фиксации прибыли.

В моём случае он выглядит так (использован индикатор эквити Хирурга, за что ему огромное спасибо)

На графике эквити - серым средства, а красным - баланс.


Из рисунка видно, что были моменты, когда нужно зафиксировать прибыль (серая полоска), т.е. закрыть все открытые ордеры и перезапустить советника с начала.

Однако если этого не сделать - появляется просадка по эквити, хотя в это время советник мог дальше зарабатывать, так скажем с "нуля"

Помогите, пожалуйста советом, статьёй или еще лучше программкой или выдержкой из кода программы

михаил потапыч
19488
михаил потапыч 2012.01.17 07:22  
new-rena:

Написав прибыльного советника встал вопрос по фиксации прибыли.



Балансом является эквити . То что именуется балансом в терминале балансом не считайте. Просто примите как постулат.
new-rena
3372
new-rena 2012.01.17 07:28  
Mischek:

Балансом является эквити . То что именуется балансом в терминале балансом не считайте. Просто примите как постулат.

Принято
Dmitiry Ananiev
6586
Dmitiry Ananiev 2012.01.17 13:51  

ну фиксировать прибыль можно либо по сигналам, либо при достижении определенных целей. либо тралом.

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

Роман
7939
Роман 2012.01.17 13:55  
new-rena:

Написав прибыльного советника встал вопрос по фиксации прибыли.

Попробуйте фиксировать прибыль тралом по эквити. Посмотрите поиском: Трал по эквити. На сайте Ким И.В. такой трал есть.
new-rena
3372
new-rena 2012.01.17 15:54  
dimeon:

ну фиксировать прибыль можно либо по сигналам, либо при достижении определенных целей. либо тралом.

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


Ордеров под 100 штук одновременно пашет ))), да и график тут ниже показываю.

И всё-таки - как подтянуть эквити к балансу?


Deposit/Withdrawal: 5 000.00 Credit Facility: 0.00
Closed Trade P/L: 2 837.43 Floating P/L: -1 698.58 Margin: 1 439.05
Balance: 7 837.40 Equity: 6 138.82 Free Margin: 4 699.77

new-rena
3372
new-rena 2012.01.17 16:19  
Roman.:
Попробуйте фиксировать прибыль тралом по эквити. Посмотрите поиском: Трал по эквити. На сайте Ким И.В. такой трал есть.


Покопалллл в инете.... Желающих найти такое куча, а ответ на страницах текущего форума ))))

Как говорится - только если поменять линии индикатора местами - тогда возможно.

А на этом индикаторе - линия баланса в данном случае ничего не значит

Но возможно ли такое и что это за стратегия?

Одно лишь пока приходит на ум - лот не линейно увеличивать, а параболой с вершиной в начале координат и вдоль оси Х:

а при стабилизации размера лота - выводить прибыль

MathSqrt(Текущий расчет размера лота)
Роман
7939
Роман 2012.01.18 01:31  
new-rena:

MathSqrt(Текущий расчет размера лота)

Интересно... Я пока такой расчет не смотрел - попробую на своих сОвушках...
AlexHacker007
105
AlexHacker007 2012.01.18 02:31  
double profitclose;
double profitcloseы=1;
double ProfFree;
int init()
{ 

ProfFree=AccountBalance(); при инициализации советника баланс это отправная точка

return(0);
  }

if (РУБИТЬ)
{
 if (profitcloses==0) profitclose=AccountEquity()/10000000; если в настройках ноль то расчитать процент автоматически... 
 else profitclose=profitcloses/100;  иначе взять из настроек значение
 if (profitclose<0.01) profitclose=0.01;  закрытие в % минимальное например не менее 1 % к предыдущему эквики
 if (profitclose>0.1) profitclose=0.1; максимальное значение в % то есть 10%
 if (iVolume(Symbol(),60,0)<2)           // Проверка каждый час на соответстие ПРИБЫЛИ
 {
 for( int h=OrdersTotal()-1;h>=0;h--)
   {
      if(OrderSelect(h,SELECT_BY_POS,MODE_TRADES)==false)        break;
      //if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
      //---- check order type 
      if(OrderType()==OP_BUY && AccountEquity()>(1+profitclose)*ProfFree)//  Если  текущий Жквики больше чем Прошлый эквити  на Х%
        {
         OrderClose(OrderTicket(),OrderLots(),Bid,3,White); // то закрыть нафик плечо бай
         if (h==0) ProfFree=AccountBalance(); запоинмть новое значение эквити в память
        }
      if(OrderType()==OP_SELL && AccountEquity()>(1+profitclose)*ProfFree)
        { 
         OrderClose(OrderTicket(),OrderLots(),Ask,3,White); // закрыть нафик плечео селл
         if (h==0) ProfFree=AccountBalance(); запомнить новое значение эквити в память

        }
     }
Так дернул тебе кусок кода ... Смысл простой помнить последний закрытый баланс и от него плясать .. твой робот рубит рубит но как только эквити достигнет расетнй величины произойдет чистка всего что есть ... и начинай сначала.. будут вопросы стучите.. у нас открыто %))))))
new-rena
3372
new-rena 2012.01.18 06:29  
AlexHacker007:
Так дернул тебе кусок кода ... Смысл простой помнить последний закрытый баланс и от него плясать .. твой робот рубит рубит но как только эквити достигнет расетнй величины произойдет чистка всего что есть ... и начинай сначала.. будут вопросы стучите.. у нас открыто %))))))

Очень симпатично. Спасибо. Результаты будут здесь.... испытать надо )))

Есть хорошая идея в этом коде, от которой трудно отказаться...

AlexHacker007
105
AlexHacker007 2012.01.18 08:22  

как видно каждая фиксация выше предыдущей то есть с нуля старт

new-rena:

Очень симпатично. Спасибо. Результаты будут здесь.... испытать надо )))

Есть хорошая идея в этом коде, от которой трудно отказаться...

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