У вас не стоит Flash Player
Page 11 of 17 < 1 2 ... 9 10 11 12 13 ... 16 17 >
Настройки
#12229 - Wed Sep 08 2010 07:36 PM Re: Насчёт создания скриптов и индикаторов [Re: Nektodron]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Не правильно сформулировал. Задача, определить сколько баров прошло с открытия позиции по запущенному скрипту. Стратегия, переворотная, в любой момент или один лонг, или один шорт. Как это связать с предложенным Вами методом:

var BarEntry = 0;

for(int k = 0; order.Date < sec.Bars[k].Date; k++)
{
BarEntry = k;
}

Наверх
#12232 - Wed Sep 08 2010 08:59 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Может, наконец, вы все же наймете программиста и сформулируете ему задачу? Вместо того, чтобы по каждому пустяку здесь задавать вопросы. Все же это не форум обучения программированию на С#.
Либо используйте встроенный в программу механизм управления позициями.

Наверх
#12254 - Thu Sep 09 2010 12:10 AM Re: Насчёт создания скриптов и индикаторов [Re: Nektodron]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Это не серьёзно из-за пустяка отправлять к программисту. Да, циклы foreach и for предназначены для разных целей. Подскажите, что необходимо указать для использования order.Date без ошибки и использования foreach?

Наверх
#12381 - Thu Sep 09 2010 11:18 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Господа разработчики, можно попросить вас после ответов на другие "многочисленные" вопросы пользователей относительно использования API TSLab, подсказать, как определить сколько баров прошло с момента открытия позиции по запущенному скрипту? Стратегия переворотная, в любой момент или один лонг, или один шорт. Как довести до рабочего состояния предложенный методом:

var BarEntry = 0;

for(int k = 0; order.Date < sec.Bars[k].Date; k++)
{
BarEntry = k;
}

Наверх
#12471 - Fri Sep 10 2010 12:23 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
В Metatrader количество бар с момента открытия позиции определяется следующим образом (подсказали на форуме):
Code:
int iBarShift_Ticket(int ticket, int timeframe)
{
   OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
   bool exact;
   int b = iBarShift(OrderSymbol(), timeframe, OrderOpenTime(), exact);
   return(b);
}
Но в Metatrader свой функционал API предусматривающий следующие элементы:
OrderSelect(int index, int select, int pool=MODE_TRADES) - Функция выбирает ордер для дальнейшей работы с ним.
int iBarShift( string symbol, int timeframe, datetime time, bool exact=false) Поиск бара по времени.

Подскажите, как подобный не хитрый трюк проделать с испольованием API TSLab?

Наверх
#12599 - Sat Sep 11 2010 07:17 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
anothar Offline
journeyman

Registered: Thu Jan 07 2010
Записи: 85
Как я понял у Вас в каждый момент времени открыта только одна позиция, а потому должно сойти следующее:
Code:
int barShift=-1;
if(sec.Positions.LastPositionActive!=null)
 barShift=k-sec.Positions.LastPositionActive.EntryBarNum;

где k-номер текущего бара


Отредактировано anothar (Sat Sep 11 2010 07:18 PM)

Наверх
#12600 - Sat Sep 11 2010 07:24 PM Re: Насчёт создания скриптов и индикаторов [Re: anothar]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
anothar, спасибо за помощь, в понедельник попробую.

Наверх
#12633 - Sun Sep 12 2010 10:48 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
Stas Offline
journeyman

Registered: Sat Aug 21 2010
Записи: 64
Как узнать цену последней закрытой сделки? Не моей, а любой, для определения цены в настоящий момент.

Наверх
#13572 - Mon Sep 20 2010 04:45 PM Re: Насчёт создания скриптов и индикаторов [Re: Nektodron]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Originally Posted By: Nektodron
Ну получается, что у вас для ВСЕХ заявок одна переменная BarEntry, в которую попадает дата последней заявки. В чем смысл?
Нашлись отзывчивые люди, которые подсказали вариант бесплатно, за платно программистов что-то не нашлось.

Вот, код:
Code:
int BarEntry = 0;
IOrder lastOrder=null;
foreach (IOrder order in secRt.Orders)
lastOrder=order;
if(lastOrder.IsExecuted)
{
	for(int k = 0; lastOrder.Date < sec.Bars[k].Date; k++)
	{
	BarEntry = k;
	}
}

if(lastOrder.IsExecuted), теперь-то Nektodron, что не так? Почему BarEntry=0 на каждом баре после открытия позиции показывает???

Наверх
#13592 - Mon Sep 20 2010 05:55 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
ну потому что если lastOrder IsExecuted false то ваш цикл поиска не исполняется

Наверх
#13599 - Mon Sep 20 2010 06:35 PM Re: Насчёт создания скриптов и индикаторов [Re: Nektodron]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Ну, как правильно оформить, подскажите? Одну-две строчки изменить надо обладая Вашим знанием программы, я уже всех людей замучил.

Наверх
#13605 - Mon Sep 20 2010 07:05 PM Re: Насчёт создания скриптов и индикаторов [Re: Nektodron]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
int BarEntry = 0;
IOrder lastOrder=null;
foreach (IOrder order in secRt.Orders)
{
if(order.IsExecuted)
{
for(int k = 0; order.Date < sec.Bars[k].Date; k++)
{
BarEntry = k;
}
}
}

например так

Наверх
#13613 - Mon Sep 20 2010 08:11 PM Re: Насчёт создания скриптов и индикаторов [Re: Nektodron]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Есть ещё, какой-нибудь пример? Этот:
Code:
int BarEntry = 0;
//IOrder lastOrder=null;
foreach (IOrder order in secRt.Orders)
{
	if(order.IsExecuted)
	{
		for(int k = 0; order.Date < sec.Bars[k].Date; k++)
		{
			BarEntry = k;
		}
	}
}
при открытой позиции показывает BarEntry = 0.

Наверх
#13618 - Mon Sep 20 2010 09:28 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
И так пробовал чтобы IOrder lastOrder=null; учесть:
Code:
int BarEntry = 0;
IOrder lastOrder=null;
foreach (IOrder order in secRt.Orders)
lastOrder=order;
{
	if(lastOrder.IsExecuted)
	{
		for(int k = 0; lastOrder.Date < sec.Bars[k].Date; k++)
		{
			BarEntry = k;
		}
	}
}

Наверх
#13838 - Wed Sep 22 2010 12:06 PM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Nektodron, можете как-то прокомментировать 2 поста выше или это должно работать 100%?

Наверх
#14111 - Sun Sep 26 2010 11:27 AM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Ребят, давайте не будем мудаками, а будем удовлетворять запросы пользователей.

Наверх
#14135 - Mon Sep 27 2010 11:11 AM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
andy Offline

Pooh-Bah

Registered: Mon Feb 16 2009
Записи: 2130
Originally Posted By: fx_trader
Ребят, давайте не будем мудаками, а будем удовлетворять запросы пользователей.


1. За Клиентов разработчики скрипты не пишут.

2. Будем грубить. Будет бан.

Наверх
#14469 - Wed Sep 29 2010 11:26 PM Re: Насчёт создания скриптов и индикаторов [Re: andy]
Nektodron Offline

Carpal Tunnel

Registered: Thu Oct 23 2008
Записи: 5492
Советую вам посмотреть новые настройки в скриптах. Там уже давно можно выставлять вместо условных заявок лимитные.

Наверх
#14478 - Thu Sep 30 2010 02:02 AM Re: Насчёт создания скриптов и индикаторов [Re: Nektodron]
fx_trader Offline
journeyman

Registered: Thu May 27 2010
Записи: 84
Ок, Nektodron, по разбираюсь. Ещё увидел новый Интерфейс TSLab.Script.Realtime.IPositionRt, предчувствия меня не подводят, это интерфейс можно использовать для определения кол-ва баров после открытия и закрытия позиции в реал-тайм или ошибаюсь?

Наверх
#14479 - Thu Sep 30 2010 07:45 AM Re: Насчёт создания скриптов и индикаторов [Re: fx_trader]
Stas Offline
journeyman

Registered: Sat Aug 21 2010
Записи: 64
Как то странно работают функции CloseAtStop и BuyIfGreater .
Вход и выход осуществляется уже только на закрытом баре, а не на текущем. Как сделать чтобы были возможны операции с текущим баром

Наверх
Page 11 of 17 < 1 2 ... 9 10 11 12 13 ... 16 17 >


Moderator:  ViL, sar