As opções sĂŁo um tipo de tĂtulo que desperta interesse constante, mesmo entre os operadores novatos. Muitos artigos foram escritos sobre opções, portanto, omitiremos a parte introdutĂłria e assumiremos que o leitor está familiarizado com os termos básicos da negociação de opções. Na verdade, sua interpretação Ă© fácil de encontrar na Internet.
Após o primeiro contato com a teoria, os operadores novatos em opções têm uma pergunta: sob quais condições esse conjunto de opções dará lucro, e de que tipo. Mesmo um negociador de opções experiente não pode responder imediatamente a esta pergunta se você tiver mais de uma opção. Isso requer uma análise da carteira de opções (um conjunto de opções e, possivelmente, futuros), o que é mais claramente feito na forma gráfica, no diagrama da dependência do lucro / perda sobre o valor do ativo subjacente. Atualmente, existem vários sites para isso, além de programas individuais.
O autor do artigo implementou a análise de opções por meio de um bot de telegramas , que permite obter rapidamente informações sobre a carteira de investimentos em um smartphone.
Vamos supor que, além das opções, o leitor esteja familiarizado com bots de telegramas. Portanto, não haverá descrição de como criar um bot, desde o recebimento de um token até o processamento do teclado. Em vez disso, listamos os problemas conceituais que surgiram durante a criação do programa e como resolvê-los.
Lembrando o estado do bot entre webhooks
O bot recebe mensagens do usuário por meio do mecanismo de webhook embutido no telegrama. Cada webhook reinicia o programa, mas cada usuário precisa de um conjunto diferente de dados. Os usuários são identificados ao visualizar o fluxo de entrada:
$id_init = file_get_contents('php://input');
$id=sbs($id_init, '"from":{"id":',',"is_bot":'); //
function sbs ($str,$m1,$m2){ // str - m1 m2
$p1=strpos($str,$m1)+strlen($m1); // -
$p2=strpos($str,$m2);
return substr($str,$p1,$p2-$p1);
}
A seguinte estrutura de dados Ă© construĂda para cada usuário:
: – , , ( message_Id) , ( , ..),
( , , , , )
.
, y=kx+b,
y – /
–
png GD :
1) - (, )
2) ( , , Y)
3) , X , Y – , :
$typ – ,
$q – ( )
$cena –
$strike –
$x0 –
$sx –
function pparr($typ, $q, $cena, $strike,$x0,$sx){ // - x=>y
// , ( ), ( )
if ($q<0) { $q=-$q;
$drct='-';
}
else $drct='+';
$a=array();
$b=array();
$delta=$sx; // $scalx
for ($i=0;$i<740;$i++){ // 740
$xkk=$x0+$delta*$i; // X
if ($typ=='fut') {
if ($drct=='+') $a[$xkk]=($xkk-$cena)*$q;
else $a[$xkk]=(-$xkk+$cena)*$q;
}
if ($typ=='call'){
if ($drct=='+') { if ($xkk<=$strike) $a[$xkk]=-$cena*$q; else $a[$xkk]=$q*($xkk-$strike-$cena);}
else { if ($xkk<=$strike) $a[$xkk]=$q*$cena; else $a[$xkk]=(-$xkk+$strike+$cena)*$q;}
}
if ($typ=='put'){
if ($drct=='+') { if ($xkk<=$strike) $a[$xkk]=(-$xkk+$strike-$cena)*$q; else $a[$xkk]=-$q*$cena;}
else { if ($xkk<=$strike) $a[$xkk]=($xkk-$strike+$cena)*$q; else $a[$xkk]=$cena*$q;}
}
$b[(string)$xkk]=(string)$a[$xkk];
}
return $b;
};
4) , ( ) ( ). , know-how , / Y. - X+,X-,Y+,Y- . , .
. . – , . , , (). , , , , ( , ). , . ( - ) , . , ( , , ) () . . , -, , .
- , .
, :
=+(-_)*;
_ ,
– , , , ,
– , , , ,
, , . , , , .
- : , , , . , , . .
:
=23.
: ( ) [] 03.06.2021 75000 , 23 . 75023 , .
: 23. , , 23.
– .
.
= 5436.
, 72750 44. 72706 . .
– , 72706. ! (5436), .
? 5436 44? , . , 3 .
.
?
!
– – , 72700 ( «») 75190 ( «»).
, .
, 72700 75190, , .
-
:
«», , ( )
, , png,
, , : « », « », « »
«» InlineKeyboard.
:
«-» , ,
«» . ,
.
.
, « »( , ).
- . , : (Si), (BR), (RI). .
- , .
- / (P/L ).
- t.me/@test09062020bot. « ».