avatar
с альпари не работаю, у них на ndd такие свечки рисуют, аж жуть))
про финам не знаю
f4u пока четко выводят на след день
roboforex еще тестирую, пока неплохо
avatar
недописал..)
также на обычных счетах часто бывает занят торговый поток и происходят реквоты.
на nnd-счетах исполнение гораздо лучше
avatar
ну да, надо понимать риски.
не заводить большие суммы.
обрывы случаются часто и у всех, поэтому те конторы, которые этим злоупотребляют, идут лесом.
так, на той неделе мной был закрыт счет и выведены средства с InstaForex.
я с ними больше не работаю по этой причине, а также потому, что они тянут с выводом средств.
а серваки у них (которых, кстати, прорва) ложатся все и четко в моменты движух.

также
avatar
ну, родители тоже частенько своих детишек не понимают))
avatar
f4u, два счета, один ndd-шный
avatar
а вот сложно сказать, т.к. у каждой части свои показатели, а в совокупности я на истории не тестировал, слишком сложно.
опять же, от значений параметров сильно зависит.
есть данные по некоторым форвард-тестам, но прошло слишком мало времени для того, чтобы судить о поведении в разных состояниях рынка.
в общем, я пока сам не совсем врубаюсь, как оно все работает))
основная задача стоит в определении оптимального плеча для каждого компонента, на большом промежутке совокупное матожидание положительное и уверенность в этом для меня — основное условие комфортной работы.
avatar
альфа это у нас что? альфадирект?
avatar
пашет уже на реале. лучший стресс-тест))
avatar
там сложная система, входы и выходы по частям на разных таймфреймах плюс хеджирование.
грубо говоря, в общей сложности это 8 отдельных оптимизированных алгоритма, работающих одновременно. идея состояла в диверсификации и сложения работы нескольких систем с положительным матожиданием.
avatar
ну да, я об этом же и писал, он наращивал шорты
avatar
ага, видел. красивый такой
avatar
кстати, заявку убрали через некоторое время.
попугали и ушли. а может, позу набирали
avatar
достаточно большое количество сделок и поведение при вчерашних движениях фунта уже позволяют сделать некоторые выводы
avatar
естественно. все только начинается)
avatar
Код в самом конце статьи.
Копирую:
using System;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using WealthLab.Properties;
using System.Drawing;
namespace WealthLab.Strategies
{
public class FirstStrategy: WealthScript
{
StrategyParameter paramMA;
StrategyParameter paramTime;
StrategyParameter paramTimeShort;
StrategyParameter paramRisk;
StrategyParameter paramRiskS;
public FirstStrategy()
{
paramMA = CreateParameter(«MA», 1, 1, 500, 10);
paramTime = CreateParameter(«Время», 12, 10, 19, 1);
paramTimeShort = CreateParameter(«Время_S», 11, 10, 19, 1);
paramRisk = CreateParameter(«Риск лонг», 0.2, 0.2, 1, 0.1);
paramRiskS = CreateParameter(«Риск шорт», 0.2, 0.2, 1, 0.1);
}
protected override void Execute()
{
DataSeries ma = SMA.Series(Open, paramMA.ValueInt);
PlotSeries (PricePane, SMA.Series(Open, paramMA.ValueInt), Color.Blue, LineStyle.Solid, 2);
double sp = 0;
double stop = 0;
PlotStops();
for(int bar = 1; bar < Bars.Count — 1; bar++)
{
if (Bars.IntradayBarNumber(bar) == 0)
{
sp = Bars.Open[bar];
}
\
if (IsLastPositionActive)
{
Position p = LastPosition;
if (p.PositionType == PositionType.Short)
{
if (!CoverAtStop(bar, p, stop))
{
if (Bars.IsLastBarOfDay(bar))
{
CoverAtMarket(bar, p);
}
}
}
else //Long
{
if (!SellAtStop(bar, p, stop))
{
if (Bars.IsLastBarOfDay(bar))
{
SellAtMarket(bar, p);
}
}
}
}
else
{
double high = Bars.High[bar];
double low = Bars.Low[bar];
if (!Bars.IsLastBarOfDay(bar) && high < sp)
{
if (Bars.Open[bar — 1] < Bars.Close[bar — 1] && Bars.Open[bar — 1] > Bars.Close[bar] &&
Bars.Date[bar + 1].Hour < paramTimeShort.ValueInt && Close[bar] < ma[bar] )
{
stop = Math.Max(Bars.High[bar], Bars.High[bar — 1]);
double openPrice = Bars.Open[bar + 1];
double exitPrice = stop;
if (openPrice / exitPrice > 1 — paramRiskS.Value / 100)
{
RiskStopLevel = stop;
ShortAtMarket(bar + 1);
}
else
{
stop = openPrice / (1 — paramRiskS.Value / 100);
RiskStopLevel = stop;
ShortAtMarket(bar + 1);
}
}
}
if (!Bars.IsLastBarOfDay(bar) && low > sp)
{
if (Bars.Open[bar — 1] > Bars.Close[bar — 1] && Bars.Open[bar — 1] < Bars.Close[bar] &&
Bars.Date[bar + 1].Hour < paramTime.ValueInt && Close[bar] > ma[bar] )
{
stop = Math.Min(Bars.Low[bar], Bars.Low[bar — 1]);
double openPrice = Bars.Open[bar + 1];
double exitPrice = stop;
if (exitPrice / openPrice > 1 — paramRisk.Value / 100)
{
RiskStopLevel = stop;
BuyAtMarket(bar + 1);
}
else
{
stop = (1 — paramRisk.Value / 100) * openPrice;
RiskStopLevel = stop;
BuyAtMarket(bar + 1);
}
}
}
}
}
}
}
}
avatar
на самом деле, это вчерашние сделки.
у них там сбой какой-то случился, и вчерашние сделки попали в сегодняшние.
мораль: нефига по воскресеньям работать)