Избранное трейдера _xXx_

ГК (ст. 141.1): Цифровыми правами признаются названные в таком качестве в законе обязательственные и иные права, содержание и условия осуществления которых определяются в соответствии с правилами информационной системы, отвечающей установленным законом признакам. Осуществление, распоряжение, в том числе передача, залог, обременение цифрового права другими способами или ограничение распоряжения цифровым правом возможны только в информационной системе без обращения к третьему лицу.
ЦФА — цифровые финансовые активы.
ЦФА признаются цифровые права, включающие:
которые предусмотрены решением о выпуске ЦФА в порядке, установленном настоящим ФЗ, выпуск, учет и обращение которых возможны только путем внесения (изменения) записей в информационную систему на основе распределенного реестра, а также в иные информсистемы.
Цифровая валюта — признается совокупность электронных данных в отношении которых отсутствует лицо, обязанное перед каждым обладателем таких электронных данных, за исключением оператора и/или узлов информсистемы.
Что НЕ регулируется в законе о ЦФА:
local stopped
game = {
cell = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
best = 0,
-- key = nil,
-- t = nil,
colors = { [0] = QTABLE_DEFAULT_COLOR,
[2] = RGB(248,248,255),
[4] = RGB(255,239,213),
[8] = RGB(255,222,173),
[8] = RGB(255,218,185),
[16] = RGB(205,92,92),
[32] = RGB(255,69,0),
[64] = RGB(238,238,0),
[128] = RGB(238,118,33),
[256] = RGB(255,160,122),
[512] = RGB(255,0,0),
[1028]= RGB(238,18,137),
[2048]= RGB(139,0,0)
},
create_table =
function(self)
self.t = AllocTable()
for i = 1,4 do
AddColumn(self.t, i, "", true, QTABLE_INT_TYPE, 10)
end
CreateWindow(self.t)
SetWindowPos(self.t,100,100,300,130)
for i = 1,4 do
InsertRow(self.t,i)
end
SetTableNotificationCallback(self.t,
function(_t, msg, _p, key)
if msg == QTABLE_VKEY then
self.key = key
elseif msg == QTABLE_CLOSE then
stopped = true
end
end)
SetWindowCaption(self.t, "2048 game by www.bot4sale.ru")
end,
draw =
function(self)
local cell = self.cell
for row=1,4 do
for column=1,4 do
local value = cell[(row-1)*4 + column]
SetCell(self.t,row,column,value==0 and "" or tostring(value))
SetColor(self.t,row,column,game.colors[value],0,game.colors[value],0)
end
end
end,
incr =
function(self)
local t,open = self.cell,{}
for i=1,16 do
if t[i]==0 then
open[#open+1]=i
end
end
t[open[math.random(#open)]] = math.random()<0.1 and 4 or 2
end,
pack =
function(self,ofr,oto,ost,ifr,ito,ist)
local t = self.cell
for outer=ofr,oto,ost do
local skip = 0
for inner=ifr,ito,ist do
local i = outer+inner
if t[i]==0 then
skip=skip+1
else
if skip>0 then
t[i-skip*ist],t[i],self.diff = t[i],0,true
end
end
end
end
end,
comb =
function(self,ofr,oto,ost,ifr,ito,ist)
local t = self.cell
for outer=ofr,oto,ost do
for inner=ifr,ito-ist,ist do
local i,j = outer+inner,outer+inner+ist
if t[i]>0 and t[i]==t[j] then
t[i],t[j],self.diff,self.best = t[i]*2,0,true,math.max(self.best,t[i]*2)
end
end
end
end,
move =
function(self,dir)
local loopdata = { {0,12,4,1,4,1},
{0,12,4,4,1,-1},
{1,4,1,0,12,4},
{1,4,1,12,0,-4}
}
local ofr,oto,ost,ifr,ito,ist = table.unpack(loopdata[dir])
self:pack(ofr,oto,ost,ifr,ito,ist)
self:comb(ofr,oto,ost,ifr,ito,ist)
self:pack(ofr,oto,ost,ifr,ito,ist)
end,
full =
function(self)
local t = self.cell
for r=0,12,4 do
for c=1,4 do
local i,v = r+c,t[r+c]
if (v==0) or (c>1 and t[i-1]==v) or (c<4 and t[i+1]==v) or (r>0 and t[i-4]==v) or (r<12 and t[i+4]==v) then
return false
end
end
end
return true
end,
play =
function(self)
math.randomseed(os.time())
self:incr()
self:incr()
while not stopped do
self:draw()
if self.best == 2048 then
message("Поздравляю!\n\nwww.bot4sale.ru")
break
end
if self:full() then
message("Game Over!")
break
end
self.diff = false
if self.key==0x25 then -- Left
self:move(1)
elseif self.key==0x27 then -- Right
self:move(2)
elseif self.key==0x26 then -- Up
self:move(3)
elseif self.key==0x28 then -- Down
self:move(4)
end
self.key = nil
if self.diff then
self:incr()
end
sleep(100)
end
end,
rules =
function()
message("Правила игры:\n\nВ каждом раунде появляется плитка номинала «2» или «4». Нажатием стрелки игрок может скинуть все плитки игрового поля в одну из 4 сторон. Если при сбрасывании две плитки одного номинала «налетают» одна на другую, то они превращаются в одну, номинал которой равен сумме соединившихся плиток. После каждого хода на свободной секции поля появляется новая плитка номиналом «2» или «4». Если при нажатии кнопки местоположение плиток или их номинал не изменится, то ход не совершается. Если в одной строчке или в одном столбце находится более двух плиток одного номинала, то при сбрасывании они начинают соединяться с той стороны, в которую были направлены.\nЛевый столбец с номерами строк участия в игре не принимает.\n\ns_mike@rambler.ru")
end
}
local game = game
--------------------------------------------------
function main()
game:create_table()
game:rules()
game:play()
end
Оригинал здесь
Добрый день. Немного о себе. В торговлю пришел примерно 1,5 года назад через известный конкурс, где мосбиржа дает несколько тысяч рублей и главная задача — их не растерять. Как то сразу стал работать через известного брокера на «О» . Конечно же ничего не выиграл, но задачу минимум выполнил только потому, что выехал на опционах. К тому же по одному из образований я математик. Так и стал приверженцем опционной торговли. Сейчас потихоньку торгую опционами Si и BR.
Пока разбирался с опционами, очень помогал известный сайт опшн, потом там перестали считать ГО, и это меня подтолкнуло к написанию собственного приложения. Но я не стал делать еще один сайт. Решил написать бота в телеграмм.
Итак, предлагаю вашему вниманию телеграмм бота для анализа опционного портфеля @test09062020bot, который имеет необычное название «опционный портфель». Инструкция по работе внутри бота после стартового приветствия. Ее надо читать очень внимательно, потому что по первым отзывам пользователей, не все очевидно.