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


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

СообщениеДобавлено: Вс Май 18, 2014 6:50 pm Ответить с цитатой Вернуться к началу

Я в том примере показал просто метод и как его по простому можно использовать.
Разумеется под каждую конкретную задачу требуется доработка. При чем часто серьезная.

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



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

СообщениеДобавлено: Вс Май 18, 2014 8:26 pm Ответить с цитатой Вернуться к началу

Я сделал как на Финлабе, этот Д.Власов реально очень крут...

Спред формула в ютубе грааль!

Завтра буду добивать тестер, график строится просто загляденье.
Посмотреть профиль Отправить личное сообщение
VladVol



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

СообщениеДобавлено: Пт Янв 13, 2017 4:45 pm Ответить с цитатой Вернуться к началу

Всем привет!!!

Хочу реанимировать тему!!!

есть ряд вопросов, который сходу как-то не удается решить

вот часть кода

if (TimeNum() > 060000 AND TimeNum() < 220000)
{
if (Name() == "BZ")
{
SetPositionSize(1, spsShares);

Buy = DwSig1;
Buy = DwSig2;
Sell = CloseDw;
Short = UpSig1;
Short = UpSig2;
Cover = CloseUp;
}
if (Name() == "CL")
{
SetPositionSize(1, spsShares);

Short = DwSig1;
Short = DwSig2;
Cover = CloseDw;
Buy = UpSig1;
Buy = UpSig2;
Sell = CloseUp;
}

}

1. как правильно прописать торговое время?! задача - пара открывается и закрывается в течении торговой сессии или в течении дня. В коде выше выдает во такую ошибку в первой строке
http://prntscr.com/dv4yah

2. как проверить наличие активной Лонг или Шорт позиции по инструменту? это нужно для того, чтобы в конце сессии закрыть принудительно позицию

3. открытие парной позиции предполагает дооткрытие (доливка) по следующему, более высокому уровню индикатора... как прописать это вариант!?

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


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

СообщениеДобавлено: Пт Янв 13, 2017 10:33 pm Ответить с цитатой Вернуться к началу

1. Функция If не может работать с массивами а TimeNum() это массив.
Надо сделать типа так
Код:
Condition1 = imeNum() > 060000 AND TimeNum() < 220000;
Buy = DwSig2 AND Condition1;


Дальше.
Почему у тебя 2 раза задается Buy и Short?
Код:
Buy = DwSig1;
Buy = DwSig2;
Sell = CloseDw;
Short = UpSig1;
Short = UpSig2;

Второй раз полностью анулирует первый.
2. Не надо проверять наличие позиции. Закрывай ее и все. Если позиции не было, то закрытие будет проигнорировано.
3. Тут очень много про это писали. Воспользуйся поиском по слову SigScaleIn можно и в хелпере посмотреть.

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



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

СообщениеДобавлено: Сб Янв 14, 2017 3:05 pm Ответить с цитатой Вернуться к началу

Спасибо за помощь!

Buy и Short двоятся, поскольку открітие позиции предполагается не на одном уровне осцилятора, а на 2-х. Как тогда прописать доливку по другому уровню??

вот полный код

Код:
BZoil = Foreign("BZ", "Close");
CLoil = Foreign("CL", "Close");

//Indicator constraction
Spred = BZoil / CLoil;
//Plot(Spred, "Spread BZoil/CLoil", colorAqua, style = styleLine,  width = 2);

periodEMA = 20;
emaSpred = EMA(Spred,20);
//Plot(emaSpred, "EMASpread BZoil/CLoil", colorGreen, style = styleLine,  width = 1);

DeltaSpredEMA = Spred - emaSpred;
//Plot(DeltaSpredEMA, "DeltaSpread BZoil/CLoil", colorAqua, style = styleLine,  width = 2);

periodStDev = 20;
b = StDev( Spred, 20);
//Plot(b, "StDev BZoil/CLoil", colorAqua, style = styleLine,  width = 2);

MainDeltaInd = DeltaSpredEMA/b;
Plot(MainDeltaInd, "MainDeltaInd BZoil/CLoil", colorAqua, style = styleLine,  width = 2);

MainDeltaIndLevelUP1 = 1;
MainDeltaIndLevelUP2 = 2;
MainDeltaIndLevelDOWN1 = -1;
MainDeltaIndLevelDOWN2 = -2;
Plot(MainDeltaIndLevelUP1, "MainDeltaInd BZoil/CLoil", colorGold, style = styleLine,  width = 1);
Plot(MainDeltaIndLevelUP2, "MainDeltaInd BZoil/CLoil", colorGold, style = styleLine,  width = 1);
Plot(MainDeltaIndLevelDOWN1, "MainDeltaInd BZoil/CLoil", colorGold, style = styleLine,  width = 1);
Plot(MainDeltaIndLevelDOWN2, "MainDeltaInd BZoil/CLoil", colorGold, style = styleLine,  width = 1);
Plot(0, "MainDeltaInd BZoil/CLoil", colorGold, style = styleLine,  width = 1);

//Trade signals
UpSig1 = Cross(MainDeltaInd, MainDeltaIndLevelUP1);
UpSig2 = Cross(MainDeltaInd, MainDeltaIndLevelUP2);
CloseUp = Cross(0, MainDeltaInd);

DwSig1 = Cross(MainDeltaIndLevelDOWN1, MainDeltaInd);
DwSig2 = Cross(MainDeltaIndLevelDOWN2, MainDeltaInd);
CloseDw = Cross(spred, 0);

//Remove signals
UpSig1 = ExRem(UpSig1, CloseUp);
UpSig2 = ExRem(UpSig2, CloseUp);
CloseUp = ExRem(CloseUp, UpSig1);
CloseUp = ExRem(CloseUp, UpSig2);

DwSig1 = ExRem(DwSig1, CloseDw);
DwSig2 = ExRem(DwSig2, CloseDw);
CloseDw = ExRem(CloseDw, DwSig1);
CloseDw = ExRem(CloseDw, DwSig2);

//Time Condition
//TimeCond = TimeNum() > 060000 AND TimeNum() < 220000;

if (TimeNum() > 060000 AND TimeNum() < 220000)
{
   if (Name() == "BZ")
   {
      SetPositionSize(1, spsShares);

      Buy = DwSig1;
      Buy = DwSig2;
      Sell = CloseDw;
      Short = UpSig1;
      Short = UpSig2;
      Cover = CloseUp;
   }
   if (Name() == "CL")
   {
      SetPositionSize(1, spsShares);

      Short = DwSig1;
      Short = DwSig2;
      Cover = CloseDw;
      Buy = UpSig1;
      Buy = UpSig2;
      Sell = CloseUp;
   }

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


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

СообщениеДобавлено: Вс Янв 15, 2017 10:04 am Ответить с цитатой Вернуться к началу

Код:
Buy = DwSig1;
Buy = IIf(DwSig2, SigScaleIn, Buy);


Код:
Short = UpSig1;
Short = IIf(UpSig2, SigScaleIn, Short);

Вот в таком ключе.

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



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

СообщениеДобавлено: Пн Янв 16, 2017 7:30 pm Ответить с цитатой Вернуться к началу

Спасибо за подсказки!

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

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

Код:

//Time Condition
Condition1 = TimeNum() > 160000 AND TimeNum() < 220000;
Condition2 = TimeNum() > 220000;
 
// trade on next bar open
SetTradeDelays( 1, 1, 1, 1 );

if (Name() == "BZ")
{
   SetPositionSize(1, spsShares);
   Buy = DwSig1 AND Condition1;
   Sell = CloseDw OR Condition2;
   Short = UpSig1 AND Condition1 ;
   Cover = CloseUp OR Condition2;

}
if (Name() == "CL")
{
   SetPositionSize(1, spsShares);
   Buy = UpSig1 AND Condition1;
   Sell = CloseUp OR Condition2;
   Short = DwSig1 AND Condition1;
   Cover = CloseDw OR Condition2;
   
}
PlotShapes(Buy * shapeUpArrow, colorGreen, 0, Open, -8);
PlotShapes(Sell * shapeHollowDownArrow, colorAqua, 0, Open, -24);
PlotShapes(Short * shapeDownArrow, colorRed, 0, Open, -8);
PlotShapes(Cover * shapeHollowUpArrow, colorYellow, 0, Open, -24);


Спасибо!
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пн Янв 16, 2017 11:31 pm Ответить с цитатой Вернуться к началу

Если решил пойти простым путем, то просто прогони тест этой системы и выведи стрелки сделок по результатам теста на график из анализатора.
Вот тут http://www.amisite.ru/begin/bk_test1sumb.php, ближе к концу написано как это сделать.

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



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

СообщениеДобавлено: Ср Янв 18, 2017 10:42 am Ответить с цитатой Вернуться к началу

000 писал(а):
Если решил пойти простым путем, то просто прогони тест этой системы и выведи стрелки сделок по результатам теста на график из анализатора.
Вот тут http://www.amisite.ru/begin/bk_test1sumb.php, ближе к концу написано как это сделать.


Спасибо!
Но пишет, что ссылка не рабочая http://prntscr.com/dx34lp

ЗЫ: если зайти через сайт, то на указанную страницу запускает...
Выбрать то выбрал нужное (как рассказано в статье), но не очень понятно, на какой график запускаются сделки!?
Рабочий ТФ с двумя инструментами открыт в соседнем окне
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Янв 20, 2017 7:34 am Ответить с цитатой Вернуться к началу

http://www.amisite.ru/begin/chart.php
Show trading arrows

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


 Перейти:   



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


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

File Attachment © by Meik Sievertsen