Уровни Пивот (уровни камарилья) для Квик.

Могу продолжить выкладывать интересные наработки для квик. Если участникам форума интерес подобный материал, то ваше голосование за топик  покажет, стоит ли продолжать 


 


PORTFOLIO_EX pivot_sberp;
DESCRIPTION pivot_sberp;
CLIENTS_LIST  ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;

PROGRAM

' Настраиваемые параметры
ClassCodeList=«EQBR» ' код класса инструмента
Instrument=«SBERP03» ' название инструмента
Interval_day=-1' интервал (таймфрейм) на графике
Interval=30
DayToFind=30 ' сколько дней назад искать свечи (можно уменьшить, чтоы ускорить работу программы)
CandleToFind=2 ' сколько свечей надо найти

DELETE_ALL_ITEMS()
DELETE_ALL_LABELS («sberp_day»)

CandleCount=0
CurYear=get_value(GET_DATETIME(), «YEAR»)
CurMonth=get_value(GET_DATETIME(), «MONTH»)
CurDay=get_value(GET_DATETIME(), «DAY»)
CurHour = GET_VALUE(GET_DATETIME(), «Hour»)
CurMin = GET_VALUE(GET_DATETIME(), «Min»)
CurMin = Interval*Floor(CurMin/Interval) ' округляем минуты до «интервальных»
for i from 1 to DayToFin d
  TextData=fTextData(CurYear,CurMonth,CurDay) &""
  TextTime=fTextTime(CurHour,CurMin) & ""
  if (CandleCount<CandleToFind) ' если нашли сколько нам надо свечей — гоняем пустой цикл
    Candle=GET_CANDLE(ClassCodeList,Instrument, "", Interval_day & "", «PRICE», TextData, "")
    Open=GET_VALUE (Candle, «Open»)+0
    if (Open>0)  
      CandleCount=CandleCount+1
      if (CandleCount>1)
      H=GET_VALUE (Candle, «High»)+0
      L=GET_VALUE (Candle, «Low»)+0
      C=GET_VALUE (Candle, «Close»)+0
      output=CREATE_MAP()
      output=SET_VALUE(output,«Date»,TextData)
      output=SET_VALUE(output,«Time»,TextTime)
      output=SET_VALUE(output,«Open»,Open)
      output=SET_VALUE(output,«High»,H)
      output=SET_VALUE(output,«Low»,L)
      output=SET_VALUE(output,«Close»,C)
P = (H + L + C) / 3
R1 = 0+apply_scale(((2*P) — L),4)
R2 = 0+apply_scale ((P + H — L),4)
R3 = 0+apply_scale((H + 2*(P — L)),4)
S1 = 0+apply_scale(((2*P) — H),4)
S2 = 0+apply_scale((P — H + L),4)
S3 = 0+apply_scale((L — 2*(H — P)),4)
label_params=create_map()
label_params=set_value(label_params,«TEXT», «R3 = „&R3)
'label_params=set_value(label_params,“IMAGE_PATH», «image.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», 70)
label_params=set_value(label_params,«DATE», 20110525)
label_params=set_value(label_params,«TIME», "")
label_params=set_value(label_params,«R», 255)
label_params=set_value(label_params,«G», 255)
label_params=set_value(label_params,«B», 255)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «MS Sans Serif»)
label_params=set_value(label_params,«FONT_HEIGHT», 8)
label_params=set_value(label_params,«HINT», «Сопротивление 3»)
id=ADD_LABEL(«sberp_day», label_params)

label_params=create_map()
label_params=set_value(label_params,«TEXT», «R2 = „&R2)
'label_params=set_value(label_params,“IMAGE_PATH», «image.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», 71)
label_params=set_value(label_params,«DATE», 20110525)
label_params=set_value(label_params,«TIME», "")
label_params=set_value(label_params,«R», 255)
label_params=set_value(label_params,«G», 255)
label_params=set_value(label_params,«B», 255)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «MS Sans Serif»)
label_params=set_value(label_params,«FONT_HEIGHT», 8)
label_params=set_value(label_params,«HINT», «Сопротивление 2»)
id=ADD_LABEL(«sberp_day», label_params)

label_params=create_map()
label_params=set_value(label_params,«TEXT», «R1 = „&R1)
'label_params=set_value(label_params,“IMAGE_PATH», «image.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», 72)
label_params=set_value(label_params,«DATE», 20110525)
label_params=set_value(label_params,«TIME», "")
label_params=set_value(label_params,«R», 255)
label_params=set_value(label_params,«G», 255)
label_params=set_value(label_params,«B», 255)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «MS Sans Serif»)
label_params=set_value(label_params,«FONT_HEIGHT», 8)
label_params=set_value(label_params,«HINT», «Сопротивление 1»)
id=ADD_LABEL(«sberp_day», label_params)

label_params=create_map()
label_params=set_value(label_params,«TEXT», «Pivot = „&P)
'label_params=set_value(label_params,“IMAGE_PATH», «image.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», 73)
label_params=set_value(label_params,«DATE», 20110525)
label_params=set_value(label_params,«TIME», "")
label_params=set_value(label_params,«R», 255)
label_params=set_value(label_params,«G», 255)
label_params=set_value(label_params,«B», 255)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «MS Sans Serif»)
label_params=set_value(label_params,«FONT_HEIGHT», 8)
label_params=set_value(label_params,«HINT», «Pivot»)
id=ADD_LABEL(«sberp_day», label_params)

label_params=create_map()
label_params=set_value(label_params,«TEXT», «S1 = „&S1)
'label_params=set_value(label_params,“IMAGE_PATH», «image.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», 74)
label_params=set_value(label_params,«DATE», 20110525)
label_params=set_value(label_params,«TIME», "")
label_params=set_value(label_params,«R», 255)
label_params=set_value(label_params,«G», 255)
label_params=set_value(label_params,«B», 255)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «MS Sans Serif»)
label_params=set_value(label_params,«FONT_HEIGHT», 8)
label_params=set_value(label_params,«HINT», «Поддержка 1»)
id=ADD_LABEL(«sberp_day», label_params)

label_params=create_map()
label_params=set_value(label_params,«TEXT», «S2 = „&S2)
'label_params=set_value(label_params,“IMAGE_PATH», «image.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», 75)
label_params=set_value(label_params,«DATE», 20110525)
label_params=set_value(label_params,«TIME», "")
label_params=set_value(label_params,«R», 255)
label_params=set_value(label_params,«G», 255)
label_params=set_value(label_params,«B», 255)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «MS Sans Serif»)
label_params=set_value(label_params,«FONT_HEIGHT», 8)
label_params=set_value(label_params,«HINT», «Поддержка 2»)
id=ADD_LABEL(«sberp_day», label_params)

label_params=create_map()
label_params=set_value(label_params,«TEXT», «S3 = „&S3)
'label_params=set_value(label_params,“IMAGE_PATH», «image.bmp»)
label_params=set_value(label_params,«ALIGNMENT», «RIGHT»)
label_params=set_value(label_params,«YVALUE», 76)
label_params=set_value(label_params,«DATE», 20110525)
label_params=set_value(label_params,«TIME», "")
label_params=set_value(label_params,«R», 255)
label_params=set_value(label_params,«G», 255)
label_params=set_value(label_params,«B», 255)
label_params=set_value(label_params,«TRANSPARENCY», 0)
label_params=set_value(label_params,«FONT_FACE_NAME», «MS Sans Serif»)
label_params=set_value(label_params,«FONT_HEIGHT», 8)
label_params=set_value(label_params,«HINT», «Поддержка 3»)
id=ADD_LABEL(«sberp_day», label_params)

      ADD_ITEM(CandleCount,output)
      WRITELN(OutFile, TextData  & "," & TextTime & "," & Open & "," & H & "," & L & "," & C)
      end if
'      Return
    end if
    ' откат на «интервал» назад
    
        CurDay=CurDay-1
        if curDay<1
          CurDay=31
          CurMonth=CurMonth-1
          if CurMonth<1
            CurMonth=12
            CurYear=CurYear-1
            if CurYear<0
              message («Не найдены котировки до рождества Христова!  »,1)
                    end if
      end if
    end if
  end if
end for

' функция перевода даты в текстовый формат
func fTextData(Year,Month,Day)
  if (LEN(Month) < 2)
    Month = «0» & Month
  end if
    if (LEN(Day) < 2)
    Day = «0» & Day
  end if
  result = Year & Month & Day
end func

' функция перевода времени в текстовый формат
func fTextTime(Hour,Min,Sec)
  if (LEN(Hour) < 2)
    Hour = «0» & Hour
  end if
    if (LEN(Min) < 2)
    Min = «0» & Min
  end if
  result = Hour & Min & «00»
end func

END_PROGRAM

PARAMETER Date;
PARAMETER_TITLE Дата;
PARAMETER_DESCRIPTION Дата;
PARAMETER_TYPE STRING(30);
END

PARAMETER Time;
PARAMETER_TITLE Время;
PARAMETER_DESCRIPTION Время;
PARAMETER_TYPE STRING(30);
END

PARAMETER Open;
PARAMETER_TITLE Open;
PARAMETER_DESCRIPTION Open;
PARAMETER_TYPE NUMERIC(10,4);
END

PARAMETER High;
PARAMETER_TITLE High;
PARAMETER_DESCRIPTION High;
PARAMETER_TYPE NUMERIC(10,4);
END

PARAMETER Low;
PARAMETER_TITLE Low;
PARAMETER_DESCRIPTION Low;
PARAMETER_TYPE NUMERIC(10,4);
END

PARAMETER Close;
PARAMETER_TITLE Close;
PARAMETER_DESCRIPTION Close;
PARAMETER_TYPE NUMERIC(10,4);
END

END_PORTFOLIO_EX


 


 сохраняете в файле с расширением qpl и открываете в Квик.


буду признателен, если  отметите мои старания, плюсиками в моем профиле )) 

















    Другие статьи по темам:
  • хорошо
    +3
    плохо

35 комментариев

avatar
++ перенес в алтрейдинг
avatar
Поясните, пожалуйста, для непродвинутых людей, что это такое и как оно может быть полезно?
Благодарю. 
avatar
Присоединяюсь, думаю, лучше давать более подробное описание.
avatar
  • Patriarx
  • 0
зачем описывать уровни пивота, если они на каждом шагу в инете есть?
Если кто из новичков, про них не слышал, то надо основы изучать, а это не для таких топиков.
Последний раз редактировалось
avatar
Я извиняюсь… а это точно ваш материал? 
avatar
  • Patriarx
  • 0
тоже сейчас пытаюсь изучать программирование на купайле. Поэтому интересны любые  топики на эту тему.  В инете мало информации с готовыми кодами. В основном это платные ресурсы.
Иногда в интернете попадаются неплохие варианты кодов, доработав которые можно написать алгоритм под себя.
жду продолжения.
Последний раз редактировалось
avatar
Спасибо за минус)). Материал не принадлежит автору и по крайней мере некорректно (со стороны копипастера) выдавать его за свой… freeman.li/stati/programnoe-obespechenie/rasshirenija-dlja-quik/novyi-indikator-dlja-quik-urovni-pivot.html ссылка датированная аж 2010 годом с подробными объяснениями и дополнениями, которые необходимо внести и который я использовал еще два года назад.
Опубликованный украденнный материал работает не так, как должен, а именно он только печатает уровни, а не рисует их и потому, что копипастер об этом не упомянул у него мало опыта в програмировании… необходим дополнительный файл рисунка, который в архиве по ссылке вместе  с скриптом.
 
Отдельная просьба к владельцу ресурса убрать у меня необоснованый минус.
Последний раз редактировалось
avatar
  • Patriarx
  • +2
я сравнил два кода и они совершенно разные :)
avatar
поставил плюс… да действительно… сслылка другая, в ней зато есть инструкция )))
Нужную ссылку я похоже удалил, но! по именно этому скрипту я делал свои первые шаги в програмировании для квика и фразу  message («Не найдены котировки до рождества Христова!  »,1) согласитесь очень трудно забыть… а так же путь обращения к  файлу рисунка...
я только «ЗА» если появляется много полезной инфы, но присваивать себе чужие труды, да еще просить плюсы в профиль за старания это свинство.
Последний раз редактировалось
avatar

«но присваивать себе чужие труды, да еще просить плюсы в профиль за старания это свинство.»


Свинство, это  врать как ты и утверждать, что это один и тот же код, а потом оправдываться и говорить, что ты потерял ссылку и выдумывать все остальное.

Последний раз редактировалось
avatar
Заметьте, я не утверждал, что это мой код… я лишь обвиняю Вас в присвоении… и настаиваю, что пользовался именно этим кодом несколько лет назад… если это именно этот код и вдруг Вы решили его сдесь выложить, то честь и хвала, но я практически уверен, что он присвоен и таки да, очень жаль что первоисточник у меня не сохрпнился.
avatar
Ты можешь теперь утверждать и настаивать все что угодно, после того как тебя поймали на вранье! 
avatar
 я потратил свое время...2 июня 2011  http://s30859454336.whotrades.com/blog/43518277521 я же говорил что автор вор. сравнивайте. и таки да, я жду извинений.
avatar
  • Patriarx
  • 0
а по той ссылке, разве указан истинный автор? :)
там тоже  просто выложили код :)

ты напрасно тратишь свое время, так как подобные коды не обладают правоприемничеством и их могут использовать все кто угодно. На форуме разработчиков Квика много кодов, бери и пользуйся :))
Последний раз редактировалось
avatar
раскрыть комментарий
avatar
а где сказано, что это мои разработки? Я такого слова даже не использовал или с русским языком у тебя проблемы?
avatar
  • Patriarx
  • 0
Последний раз редактировалось
avatar
кстати как и писал раньше, в коде есть надоработки, детские ))) но их не упомянули))) 
avatar

ну так ты упомяни, или сомневаешься? 


покажи на что ты способен

Последний раз редактировалось
avatar
в этом коде болжен быть закомментпрован рисунок уровня и выводится только цифра, для того, чтобы уровень рисовался необходимо создать файл с рисунком, например "-" или "___" кому как угодно и прописать путь к нему.
avatar
  • Patriarx
  • +1
лично я ничего не понял из того, что ты сказал.
напиши код как это должно выглядеть именно в этом коде. Но походу в этом коде есть закоментированный рисунок, но ты его не увидел :)
Последний раз редактировалось
avatar
Сменили тему с «ты клевещешь на автора» на «покажи как надо» )))… в этом скрипте(когда я им пользовался) уровни не рисовались, а выводилась просто цифра. нужно создать рисунок, убрать комментарии и прописать к нему путь будет красиво и информативно… вот то что я читал давно… автору мега спасибо http://www.h2t.ru/blog/2652.html
avatar
  • Patriarx
  • 0
так тебя и попросили «показать как надо», но ты всеми способами уходишь от ответа. Когда и чем ты пользовался, никого не интересует, может ты им и не пользовался ))

тебя попросили написать исправленный код всего на три строчки, но ты видать не можешь, а только повторяешь  одно и тоже. Скорее всего ты не знаком с языком программирования

вот кому мега спасибо www.h2t.ru/blog/2653.html
Последний раз редактировалось
avatar
господа, на этом ресурсе не стоит ругаться, — иначе все участники уйдут в бан
если хотите ругаться, делайте это через личку
avatar
Георгий, что то ресурс стал комон на заре троллинга мне напоминать, может все таки вводить жесткие правила. Мне они там надоели… и тут на тебе…
Последний раз редактировалось
avatar
  • Patriarx
  • 0
можно узнать, под каким ником вы были на комоне?
avatar
stormbrindger
комментарий был удален
avatar
раскрыть комментарий
avatar
ник, явки пароли…
avatar
раскрыть комментарий
avatar
да, уже забанил
avatar
несколько странное администрирование. В этом топике не увидел каких либо нарушений. Обычная дискуссия.  Если тут банят за отсутствие нарушений, то о какой разумной синергии идет речь. Так можно клиентов растерять
Последний раз редактировалось
avatar
Михаил, у вас перебор с негативной активностью по части минусов. Постарайтесь впредь быть посдержанней, поаккуратней и попозитивней.
комментарий был удален

Добавить комментарий