ПредишенСледващото

Относно: Изчисляване на разпространението

Моля, помогнете с написването на сценария на Луа, който щеше да измисли средно разпространение на определени запаси.
Той трябва да работи по такъв алгоритъм:

1. Дава списъка с наблюдавани запаси. Например, "GAZP, RASP, LKOH, TGKE"
2. Всеки интервал от време (например 10 минути) върху тях разпространение изчислява по формулата (поиска-оферта) * 100 / офертата и се записва във файла.
3. Тъй като натрупването на стойности във файла (или веднъж в края на деня) на всяка ценна книга, се счита за средната аритметична стойност на разпространението му и показва на други места, например в близкия файл.

Ще бъда много благодарен за всяка помощ!

"Всеки период от време (например 10 минути) за тях се изчисляват разпространение" - означава, че те се интересуват само от стойността на това, което е било 1 пъти в тези 10 минути? т.е. само една точка, взе разпространение и да се помни? Или всички тези 10 минути, разпространението също трябва по някакъв начин да бъде средната стойност на всички стойности на всички? не е ясно от описанието.

броене не се провежда в рамките на това време.
Веднъж на всеки 10 минути се реже. И така целият ден за търговия.
10 минути - тази опция, времето може да се увеличават или намаляват.

Re: Изчисляване на разпространението

за се счита всяка хартия, за да се приема средноаритметичната стойност на разпространението му и показва на други места, например в близкия файл.

или до една маса в SWIR.

Също така би било чудесно да преподават сценария, за да следите на екстремните стойности:
-най-широк разпространението на деня за търгуване
-най-тясната разпространението на търговския ден.

Re: Изчисляване на разпространението

Лежах това, което е, след няколко чу допълнен.

Първоначално постоянна файл, те трябва да са подходящи да ви попитам.

Резултатите са записани във файла. Въпреки че се подразбира, че скриптът ще работят по цял ден, когато рестартирате изчисляването започва всичко отначало. След известно време, повишаване на него, така че при стартиране се чете изхода му като файл и по този начин получи предишните данни за деня.

Ограничения и условия на употреба:

Задайте хартията и клас, но всички котировки трябва да са различни;

чаши за инструменти, които се наблюдават трябва да се вижда; tskan ако не се отвори - разпространението не се следи и се регистрира;

Ако стъклото е празна, или тя съдържа само поискване или просто предложение - разпространението на такъв инструмент, не се е влязъл.

Запазване на текст в спред-дървар-1.lua и стартирате файла. Изходът ще бъде записано във файла за разпространение-дървар-1.lua.log в същата директория, където скрипта се изпълнява.

изходната ред на файла сега се съхранява в следния формат:

Въпроси, предложения, оплаквания - пишете, не се колебайте.

Re: Изчисляване на разпространението

Възможност за коригиране на скрипт рестарта в рамките на дни (с четенето вече съхранени данни от файл) ли е подходящ?
Визуално (таблетка) - нужда? (В някои форма)

Относно рестарта би било хубаво.
Plate. ако е възможно. Но всичко е ясно от файла.
Друг много интересен скрипт, който даде екстремни стойности - най-малкият и най-широко разпространение в момента, в който той бе наблюдавал действието.
И това може да наблюдава хартия с различни кодове класа от един и същ скрипт.

Re: Изчисляване на разпространението

Рестарт с прочитането на дневника не е направено. Ние трябва да мислим, че от тази нужда, има достатъчно данни.

За правилно се рестартира, за да влезете е необходима информация:
1) Спред времето за запис (за да можете да sobludat честота, ако това е от решаващо значение)
2) инструмент махало и класа
3) Брой записани спредове (колко записи на този инструмент)
4) Брой средния ток

Ако всички тези данни ще ви спрат да използват данните за по-нататъшна обработка, е възможно да се направи това: един лог файл (наричаме технически) е написана с цел да бъде в състояние да направи рестарт, вторият Pischel в удобен формат, което трябва.

Re: Изчисляване на разпространението

-- местно QT = getQuoteLevel2 (клас, сек) - премахване на призива на стъклото
-- ако ((qt.bid_count + 0> 0) и (qt.offer_count + 0> 0)), след това - премахване от условия
-- местно оферта = qt.bid [qt.bid_count + 0] .price - премахване от чашата получаване на офертата
-- местно оферта = qt.offer [1] .price - премахване от чашата получаване Питане

местно кандидатурата = getParamEx (клас, сек, "купува")
местно оферта = getParamEx (клас, сек, "оферта")

местно p_spread = (оферта - два пъти дневно) / оферта * 100

местно ключ = сек. "". клас
местни ELEM = намазване [ключ]
ако ELEM == нула след това
намазване [ключ] =
ELEM = намазване [ключ]
още
elem.Spread = p_spread
elem.Avr = (elem.Avr * elem.Count + p_spread) / (elem.Count + 1)
elem.Count = elem.Count + 1
ако elem.Min> p_spread след elem.Min = p_spread край
ако elem.Max край

файл: запис ( "AVR_" сек "=" ToString (elem.Avr) "\ Н" .... ".")
файл: записване ( "[" ToString (elem.Count) .. "]" сек .. ":". клас "=" ToString (p_spread) "AVR =" ToString (elem.Avr) "мин ..... = ". ToString (elem.Min)." макс = ". ToString (elem.Max)." \ п ")

-- край - ние премахваме окончателните условия на изпитване

Re: Изчисляване на разпространението

Моите инструменти са дадени в следната последователност:

SEC [ "APTK"] = "EQNL"
SEC [ "AVAZP"] = "EQNL"
SEC [ "БДЗП"] = "EQNL"
SEC [ "GAZP"] = "EQNE"
SEC [ "HYDR"] = "EQBR"
SEC [ "KMAZ"] = "EQBS"
SEC [ "LKOH"] = "EQBR"
SEC [ "LSNG"] = "EQNL"
SEC [ "Magn"] = "EQNL"
SEC [ "MrKK"] = "EQNL"
SEC [ "MSRS"] = "EQBR"
SEC [ "OGKB"] = "EQBR"
SEC [ "Opin"] = "EQNL"
SEC [ "RASP"] = "EQNL"
SEC [ "RTKM"] = "EQBR"
SEC [ "sběr"] = "EQBR"
SEC [ "SNGs"] = "EQNL"
SEC [ "SNGSP"] = "EQNL"
SEC [ "SYNG"] = "EQNL"
SEC [ "TGKA"] = "EQBR"
SEC [ "TGKE"] = "EQNL"
SEC [ "TGKF"] = "EQNL"
SEC [ "TRMK"] = "EQBR"
SEC [ "URKA"] = "EQBR"
SEC [ "VTBR"] = "EQNL"
SEC [ "VZRZ"] = "EQBS"

Защо в крайна файл, те са на парче?

AVR_APTK = .2068627406292
AVR_OGKB = .16652977902568
AVR_VZRZ = .32100360912737
AVR_RASP = .11919033845793
AVR_URKA = .058398588662547
AVR_LKOH = .024594674588463
AVR_AVAZP = .27888853122047
AVR_SNGSP = .05923011085541
AVR_LSNG = .70180301215612
AVR_TGKE = .53887543384184
AVR_TGKA = .32988383264019
AVR_TRMK = .44494026965039
AVR_MSRS = .86604488170569
AVR_TGKF = .5589009518343
AVR_OPIN = 1.5116186775737
AVR_MAGN = .068115489441876
AVR_HYDR = .029428833146793
AVR_VTBR = .027005381309969
AVR_SYNG = .8848156772472
AVR_RTKM = .066976460702493
AVR_SBER = .013652757755115
AVR_BSPB = .14493702671554
AVR_SNGS = .049061792735469
AVR_KMAZ = .34151044356869
AVR_GAZP = -0,00053292169463214

Как да се уверите, че те отиват в реда, попитах ги?

Публикации 1 до 25 от 35

Свързани статии

Подкрепете проекта - споделете линка, благодаря!