Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Объемы сделки Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
ID
Советник


Зарегистрирован: 07.01.2008
Сообщения: 370

СообщениеДобавлено: Вт Ноя 24, 2009 3:03 pm Ответить с цитатой Вернуться к началу

Код:
лот доливки = лот первоначальный * первональный стоп / ( разница между ценой доливки и ценой открытия позы )


Олег, я кажется допер как это сделать (с помощью метода научного тыка Smile Smile )

setPositionSize ( первональный стоп / ( разница между ценой доливки и ценой открытия позы ) , spsPersenOfPosition );

Проверю отпишусь.

Но ты свой вариант напиши
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Ноя 25, 2009 1:12 am Ответить с цитатой Вернуться к началу

Как то так
Код:

Buy = Array; // правила покупки
BuyPrice = Array; // цена покупки
BuyIn = Array; // правила доливки
BuyInPrice = Array; // цена доливки
LotBuy = ...;
Stop = Array;  // стоп (абсолютное значение на графике цены)

pos = 0;

for(i = 1; i < BarCount; i++)
{
  if(pos == 0) {
    if(Buy) {
      Buy[i] = 1; // просто так. Это можно не писать
      pos = 1;  // флаг показывающий позицию системы
      PriceOpen = BuyPrice[i]; // цена открытия
      stopOpen = PriceOpen - Stop[i]; // стоп при открытии
      LotOpen = LotBuy[i]; // лот при открытии
      Lot[i] = LotBuy[i]; // размер позиции при открытии для последующего использования в SetPositionSize()
    }
  }
  else if(pos == 1) {
    if(BuyIn) { // сигнал на доливку
      pos = 2; // флаг показывающий позицию системы
      Lot[i] = LotOpen * stopOpen/(BuyInPrice[i] - PriceOpen);
    }
  }
  else
    Buy[i] = 0; // убираем лишние Buy. Не обязательно.
}
SetPositionSize(Lot, .....);

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ID
Советник


Зарегистрирован: 07.01.2008
Сообщения: 370

СообщениеДобавлено: Ср Ноя 25, 2009 4:55 am Ответить с цитатой Вернуться к началу

ID писал(а):

Проверю отпишусь.


В общем, я проверил. В моем случае все оказалось просто:

Код:
setPositionSize ( первональный стоп / ( разница между ценой доливки и ценой открытия позы ) * 100 , spsPersenOfPosition );


работает Smile
Посмотреть профиль Отправить личное сообщение
ID
Советник


Зарегистрирован: 07.01.2008
Сообщения: 370

СообщениеДобавлено: Ср Ноя 25, 2009 4:58 am Ответить с цитатой Вернуться к началу

000 писал(а):
Как то так


Не совсем понятно. Для первоначального лота надо ведь знать капитал.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Ноя 25, 2009 8:40 am Ответить с цитатой Вернуться к началу

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

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen