• Тинькофф Банк-лучшие банковские продукты еще выгоднее
    Выбирайте продукт от банка Тинькофф
  • Уважаемые форумчане, друзья и посетители!
    Поступило предложение ( ссылка на обсуждение ) на сбор средств поддержания форума в рабочем состоянии с 1 июня ( оплата хостинга, бэкап ежедневный на другой хостинг и тд), отчетность будет предоставляться ежемесячно. Пока на ЮMoney ( яндекс деньги), доступно картой перевод, далее добавлю другие способы. Сумму перевода указывайте на ваш выбор исходя из своих возможностей.
    Форум продолжает свою работу благодаря Вашим пожертвованиям.

Вопросы что бы не плодить новые темы

Правильно ли я пишу - если цена открытия текущего бара больше или ровна открытию бара дня, то открывает длинную позицию?

Код:
{
					 if (Open[0] >= Open[Bars.BarsSinceSession])
           			{	
                	EnterLong(DefaultQuantity, "");
           		    }
 
Скажите, можно ли подключиться к котировкам NT из сторонней программы?
Ситуация: есть свой робот на C# в виде исполняемого файла. Хочу ему дать данные поводыря из NT. Можно ли это сделать и где можно почитать или посмотреть примеры? Спасибо.
 
Владимир, сформулируйте , пожалуйста, на Си# выражение:
если позиция находится в минусовой зоне и расстояние до нулевой отметки 10 тиков, открыть лонг в 2 раза больше предыдущего кол-ва контрактов.
Очень благодарен
 
Mike сказал(а):
Скажите, можно ли подключиться к котировкам NT из сторонней программы?
Можно. Через индикатор экспортировать данные куда-либо и уже из "куда-либо" забирать своей программой. Читать об этом во встроенной справке.

anik сказал(а):
Владимир, сформулируйте , пожалуйста, на Си# выражение:
Сформулируйте сами.
Код:
Position.GetProfitLoss(Close[0], PerformanceUnit.Points)
- кол-во +/- тиков в позиции.
Код:
Position.Quantity
- кол-во контрактов в позиции.
 
Владимир, я правильно понял, что убыточную позицию для шортов описать как:
if ( Position.Quantity>0 && Position.MarketPosition == MarketPosition.Short
&& Position.GetProfitLoss(Close[0], PerformanceUnit.Points)>0)
а для лонгов:
if ( Position.Quantity>0 && Position.MarketPosition == MarketPosition.Long
&& Position.GetProfitLoss(Close[0], PerformanceUnit.Points)<0)
или для обоих направлений (Position.GetProfitLoss(Close[0], PerformanceUnit.Points)<0) ???
 
anik сказал(а):
Владимир, я правильно понял, что убыточную позицию для шортов описать как:
if ( Position.Quantity>0 && Position.MarketPosition == MarketPosition.Short
&& Position.GetProfitLoss(Close[0], PerformanceUnit.Points)>0)
нет
anik сказал(а):
а для лонгов:
if ( Position.Quantity>0 && Position.MarketPosition == MarketPosition.Long
&& Position.GetProfitLoss(Close[0], PerformanceUnit.Points)<0)
да
anik сказал(а):
или для обоих направлений (Position.GetProfitLoss(Close[0], PerformanceUnit.Points)<0) ???  
да
Код:
 Position.Quantity>0
- везде лишнее
 
Владимир, а если поочередно открыты 2 и более позиции, то команда ExitLong("LossLong", "OpenLong");
закрывает все открытые позиции? или нужно конкретно указать, сколько позиций закрыть?
 
Столкнулся с ситуацией, что команда ExitLong может не только закрывать открытую позицию лонг, но одновременно с этим открывать встречную позицию шорт... Это можно объяснить повторным посылом команды на следующем тике, если сервер за это время не успел закрыть первоначальную позицию. Чтобы предупредить такие ситуации, нужно открывать и закрывать позиции не простой командой открыть или закрыть, а организовать циклы из нескольких попыток открытия и проверки результата (аналогично и для команды закрытия). Кто может сформулировать код такого цикла в открытом доступе (на форуме) ?
 
Здравствуйте.
не могу пододвинуть стоп.
хочу при входе в позицию сразу ставить стоп, и потом его тралить, если лонг, то за лоем свечи.
Вхожу
EnterLongLimit(DefaultQuantity, dPosition,"Enter Long");
Но функцию которую могла бы двигать стоп с идентификатором "Enter Long".

Может кто подсказать?
 
Ruslan сказал(а):
Здравствуйте.
не могу пододвинуть стоп.
хочу при входе в позицию сразу ставить стоп, и потом его тралить, если лонг, то за лоем свечи.
Вхожу
EnterLongLimit(DefaultQuantity, dPosition,"Enter Long");
Но функцию которую могла бы двигать стоп с идентификатором "Enter Long".

Может кто подсказать?

Неактуально
сделал так :
SetStopLoss("Enter Long", CalculationMode.Price, dSLPosition, false);
всегда запускал, когда Low рос менялись.
 
Добрый день.
Кто знает?
Существует в Ninja возможность установить сигнал (звук), если объем свечи преодолел указанный уровень? Или сигнал (звук), если свеча прошла отмеренное число пунктов?

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

Код:
EnterLong(DefaultQuantity, "");

А как выглядит на Си-шарп команда на закрытие позиции, содержащей 2 и более контрактов, если они были открыты не одновременно, а закрыть их надо все сразу ???
Спасибо за оперативность.
 
[ExitShort("", "")]
так пишется команда на закрытие шорта. Куда вставить Position.Quantity ???
 
Вроде о лонгах шла речь, а не о шортах, но не суть...

Смотрим хелп и видим там много чего.

ExitLong()
ExitLong(int quantity)
ExitLong(string fromEntrySignal)
ExitLong(string signalName, string fromEntrySignal)
ExitLong(int quantity, string signalName, string fromEntrySignal)
 
Подскажите как сделать стоплос в стратегии чтобы при позиции лонг выход был на 1 тик больше Минимума, а при шорте више Максимума. В Wizard SetStopLoss только User Inputs и Variables как и где нужно просписать последняя цена > High[0]+Tick? Стоп лос не должен изменятся. И я так поинмаю чно нужно 2 раза написать SetStopLoss для шорта и лонга?
 
Просто прописывайте стоплосс отдельно при входе в позицию для лонга
Код:
SetStopLoss(CalculationMode.Price,Low[0]-TickSize);

и для шорта
Код:
SetStopLoss(CalculationMode.Price, High[0]+TickSize);
 
Назад
Верх Низ