Rostislav Kudryashov
Rostislav Kudryashov личный блог
Вчера в 23:29

GOLD-Cтpaтeгия пoвтopeния пoкa ... не очень

Прочитали smart-lab.ru/blog/1300862.php и решили не поверить на слово.
Поскольку индекс IMOEX неторгуемая «фишка», скачали часовики IMOEXF с финама и написали скрипт WealthLab. Т.к. график IMOEX индицируется только до 19:00, то направление позиции определяем на часовиках IMOEXF по Close бара, начинающегося в 18:00 (т.е. по цене в 19:00).
namespace WealthLab.Strategies
{
public class GOLDoneDayTrend : WealthScript {
  Position pos;
  protected override void Execute()	{
    Prepare();
    int preBar = pos.EntryBar;
    for (int bar = preBar+1; bar < Bars.Count-1; ++bar) {
      if (Date[bar].Hour != 18) continue;
      if (Close[bar] > Close[preBar] &&
          pos.PositionType != PositionType.Long) {
        ExitAtClose (bar, pos);
        pos = BuyAtClose (bar);
      } else
      if (Close[bar] < Close[preBar] &&
          pos.PositionType != PositionType.Short) {
        ExitAtClose (bar, pos);
        pos = ShortAtClose (bar);
      }
      preBar = bar;
    }
    if (IsLastPositionActive)
      ExitAtClose (Bars. <a name="cut"></a> Count-1, LastPosition);
  } // Execute()
    
  void Prepare() {
    ClearDebug(); PrintDebug (Bars.Symbol);
    if (! Bars.IsIntraday || Bars.BarInterval != 60)
      throw new Exception ("Hourly only.");
    int preBar = -1; int bar1 = -1; int bar2 = -1;
    for (int bar = 0; bar < Bars.Count; ++bar) {
      if (Date[bar].Hour == 18) {
        if (preBar < 0) {
          SetBackgroundColor (bar, Color.Yellow);
          bar1 = bar;
        } else {
          if (Close[bar] > Close[preBar])
            SetBackgroundColor (bar, Color.LightGreen);
          else
            SetBackgroundColor (bar, Color.Pink);
          if (preBar > 0)
            DrawLine (PricePane, preBar, Close[preBar]
              ,bar, Close[bar], Color.Black, LineStyle.Solid, 1);
          if (bar2 < 0) bar2 = bar;
        }
        preBar = bar;
      } // if (Date[bar].Hour
    } // for (int bar = 0
    PrintDebug (bar1 + " " + bar2);
    pos = Close[bar2] >= Close[bar1]
      ? BuyAtClose (bar2) : ShortAtClose (bar2);
  } // Prepare()
} // class GOLDoneDayTrend
} // namespace WealthLab.Strategies
С начала марта по вчера получилась такая картинка
GOLD-Cтpaтeгия пoвтopeния пoкa ... не очень
Для большей наглядности
GOLD-Cтpaтeгия пoвтopeния пoкa ... не очень
Будьте бдительны. Не поддавайтесь мошенникам на Смарт-лабе, которые могут втравить вас в убытки.

PS С-Л как всегда не может обойтись, чтобы не напакостить. Последние две строки в Execute() должны быть
    if (IsLastPositionActive)
      ExitAtClose (Bars.Count-1, LastPosition);

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.

13 Комментариев
  • NOT A HAMSTER
    Вчера в 23:54
    А вы поковыряйте её как следует. Может что и выковыряете. 
    Например: на 100-летний  истории не даёт, а вот на 1000-летней уже глядишь и в + пошла. Жаль только что до этого момента не получится  сохраниться в здравом уме и бодрой памяти.
  • NoobSaibotGAZPSBERLKOH
    Сегодня в 06:27
    «Будьте бдительны. Не поддавайтесь мошенникам на Смарт-лабе, которые могут втравить вас в убытки.»
    Чувачок, за клевету можно и присесть. Тебя кто-то прогревал, заставлял? Или говорил что на дистанции сработает? Наш рынок в принципе не прогнозируемый с такой главной фин отдела и ЦБ. Поэтому ты всегда будешь со своим говном и кодом около нуля
  • Михаил Михалев
    Сегодня в 07:27
    Так это что получается, «Не всё то золото, что зовётся GOLD»?:)
  • В.Спицын
    Сегодня в 07:57
    Хуже нет, если педанты и скептики начнут вдруг проверять на вшивость каждого смартлабовского спикера… эт как санкции ввести против Смартлаба)))Так и вижу -  Девиз Смартлаба: Мы делаем деньги на бирже и убиваем балаболов возле неё!!!

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн