Избранное трейдера WooDoo
#property copyright "Copyright 2019, Example Inc."
#property link "https://www.example.com"
input int LotSize = 1;
input int Period = 30;
input double VolatilityThreshold = 0.1;
input int ExitAfterMinutes = 60;
int buyOrderId;
int sellOrderId;
datetime entryTime;
void OnTick()
{
// Get the last Period candlesticks
ArraySetAsSeries(candles, true);
CopyRates(Symbol(), PERIOD_M1, TimeCurrent() - Period, Period, candles);
// Calculate the maximum and minimum prices
double maxPrice = High(candles);
double minPrice = Low(candles);
// Calculate the standard deviation of the closing prices
double stdev = iStdDev(candles, MODE_CLOSE, 0);
// Check if the volatility is above the threshold
if (stdev > VolatilityThreshold)
{
// Check if the current ask price is higher than the maximum price
if (Ask > maxPrice)
{
// Place a buy order
if (OrderSend(Symbol(), OP_BUY, LotSize, Ask, 3, 0, 0, "My order", 16384, 0, Green))
{
Print("Buy order placed");
buyOrderId = OrderTicket();
entryTime = TimeCurrent();
}
else
{
Print("Error placing buy order : ", ErrorDescription(GetLastError()));
}
}
// Check if the current bid price is lower than the minimum price
if (Bid < minPrice)
{
// Place a sell order
if (OrderSend(Symbol(), OP_SELL, LotSize, Bid, 3, 0, 0, "My order", 16384, 0, Red))
{
Print("Sell order placed");
sellOrderId = OrderTicket();
entryTime = TimeCurrent();
}
else
{
Print("Error placing sell order : ", ErrorDescription(GetLastError()));
}
}
}
if (buyOrderId > 0)
{
if (TimeCurrent() - entryTime >= ExitAfterMinutes * 60)
{
if (OrderClose(buyOrderId, LotSize, Bid, 3, clrNONE))
{
Print("Buy order closed");
buyOrderId = 0;
}
else
{
Print("Error closing buy order : ", ErrorDescription(GetLastError()));
}
}
}
if (sellOrderId > 0)
{
if (TimeCurrent() - entryTime >= ExitAfterMinutes * 60)
{
if (OrderClose(sellOrderId, LotSize, Ask, 3, clrNONE))
{
Print("Sell order closed");
sellOrderId = 0;
}
else
{
Print("Error closing sell order : ", ErrorDescription(GetLastError()));
}
}
}
}Сегодня вышла версия OptionVictory (OptionFVV) 2.3.7 с поддержкой моделирования позиций в новых премиальных опционах на акции.
ВАЖНО: новая версия требует изменения настроек таблицы текущих торгов в Quik: нужно добавить последним столбец Код класса.
Чтобы работать с премиальными опционами, нужно добавить в начало таблицы соответствующую акцию (туда же, куда добавляем фьючи), базовые активы должны идти в таблице первыми, а потом добавить интересующие серии опционов на акции (их можно найти по хвосту _CLT).
Получится что-то такое:

Дальше открываем OptionVictory и запускаем вывод по DDE из Quik.
Собираем моделируемую опционную позицию из премиальных опционов

В прошлом гайде мы разбирались с разными способами использования крипты за рубежом. Напомню, что в этом мне помог опрос более 60 участников нашего сообщества RationalAnswer, которые поделились своим опытом экстренной релокации. В этом же материале я скомпоновал семь избранных историй переезда с использованием крипты от подписчиков (с их разрешения, конечно; и некоторые имена изменены).

где:
Srate,t – значение Ставки в день t;
SWAPt – средневзвешенное значение валютного свопа, рассчитанное Биржей на основании сделок заключенных с валютным свопом в день t;
NCCRATEt – значение Центрального курса НКЦ, установленное на день t;
Dnorm – количество календарных дней со дня расчетов по первой части валютного свопа (исключая день расчетов по первой части сделки) по день расчетов по второй части валютного свопа (включая день расчетов по второй части сделки), относящееся к невисокосному году;
Обратил внимание, что многие не знают, как правильно оценить вечную облигацию. Однако, ее оценка существенно проще, чем оценка обычных облигаций. Давайте разберемся, как можно оценить бессрочную облигацию.
Как мы знаем внутреннюю (приведенную стоимость) облигации можно оценить с помощью следующей формулы потока платежей:
Где:
CFn – купоны
NOMINAL – сумма, которую получит инвестор при погашении облигации
i – ставка доходности
n – год получения купона
N – последний год
PV – приведенная стоимость облигации
В бессрочной облигации нет погашения номинала – NOMINAL, и количество платежей бесконечно, тогда формула принимает вид:

