Чувак Хачинбек

Читают

User-icon
31

Записи

82

Трагическая реальность богатства: почему не каждый может стать богатым

Деньги всегда были неуловимой мечтой для многих людей. Несмотря на ежедневную усердную работу и следование традиционным правилам финансового успеха, не каждый способен достичь финансовой независимости и процветания.

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

Например, человек, родившийся в семье с низким доходом, может испытывать трудности с доступом к качественному образованию, что оставляет его с ограниченными возможностями трудоустройства и более низким потенциалом заработка. С другой стороны, человек, родившийся в богатой семье, может иметь доступ к первоклассному образованию, возможностям общения и наследству, что увеличивает его шансы на финансовый успех.

Кроме того, нынешняя экономика затруднила для многих людей сбережение и инвестирование своих денег, что привело к увеличению задолженности и финансовым трудностям. Увеличивающийся разрыв в благосостоянии и стремительный рост стоимости жизни затруднили продвижение среднестатистического человека.



( Читать дальше )

SVD-разложение для одного актива

Разложение по сингулярным значениям (SVD) может быть применено к одному активу в алгоритмической торговле. Вот пример того, как SVD можно использовать для анализа ежедневной доходности одной акции.

Сжатие данных: Рассмотрим матрицу, которая представляет ежедневную доходность одной акции за определенный период времени. SVD можно использовать для уменьшения размерности данных, чтобы их было легче анализировать. Например, SVD можно использовать для определения наиболее важных факторов, определяющих доходность акций, таких как экономические показатели или настроения на рынке. Затем эта информация может быть использована для разработки торгового алгоритма, который учитывает эти факторы при принятии инвестиционных решений.

Извлечение признаков: SVD также можно использовать для извлечения признаков при анализе отдельного актива. Например, рассмотрим матрицу, которая представляет ежедневную доходность одной акции и нескольких экономических показателей. SVD можно использовать для извлечения наиболее важных характеристик данных, таких как взаимосвязи между запасами и экономическими показателями. Затем эта информация может быть использована для разработки торгового алгоритма, который учитывает эти взаимосвязи при принятии инвестиционных решений.



( Читать дальше )

SVD-разложение в алготрейдинге

Разложение по сингулярным значениям (SVD) — это широко используемый математический метод в области алгоритмической торговли. Это разложение вещественной или комплексной матрицы на сингулярные значения и соответствующие сингулярные векторы. SVD широко используется для сжатия данных, шумоподавления и уменьшения размерности, что является важными задачами в области алгоритмической торговли.

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

Наиболее распространенное использование SVD в алгоритмической торговле — это извлечение признаков. Уменьшая размерность данных, SVD позволяет трейдерам определять наиболее важные характеристики, которые управляют рынком. Затем эта информация может быть использована для разработки торговых алгоритмов, которые используют эти функции для принятия более обоснованных решений.



( Читать дальше )

Применение линейной алгебры в трейдинге

Алгоритмическая торговля — это быстро развивающаяся область, которая использует математические модели и компьютерные алгоритмы для совершения сделок на финансовых рынках. Линейная алгебра — это фундаментальная математическая концепция, которая играет решающую роль во многих алгоритмических торговых стратегиях.

Линейная алгебра — это раздел математики, который имеет дело с линейными уравнениями и их представлениями в векторных пространствах. В алгоритмической торговле линейная алгебра используется для моделирования финансовых рынков и прогнозирования будущих рыночных тенденций. Например, линейная регрессия является популярным методом, используемым для моделирования взаимосвязи между зависимой переменной и одной или несколькими независимыми переменными. Этот метод может быть использован для прогнозирования цен на акции, курсов иностранных валют или других финансовых инструментов.

Другим важным применением линейной алгебры в алгоритмической торговле является анализ главных компонент (PCA). PCA — это статистический метод, который уменьшает размерность набора данных путем нахождения основных компонентов, которые представляют собой линейные комбинации исходных переменных, объясняющих наибольшие различия в данных. В алгоритмической торговле PCA может использоваться для определения наиболее важных факторов, влияющих на цены финансовых инструментов. Уменьшая размерность данных, PCA позволяет трейдерам сосредоточиться на наиболее важных переменных и делать более точные прогнозы относительно будущих рыночных тенденций.



( Читать дальше )

Применение теории вероятностей в алготрейдинге

Теория вероятностей является важным инструментом в мире алгоритмической торговли. Он обеспечивает математическую основу для понимания риска и управления им, что является важнейшим аспектом любой торговой стратегии. В этой статье мы обсудим, как теория вероятностей используется в алгоритмической торговле и как она может помочь трейдерам принимать более обоснованные решения.

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

Теория вероятностей предоставляет способ количественной оценки риска в алгоритмической торговле. Это позволяет трейдерам присваивать вероятности различным исходам и принимать решения, основанные на этих вероятностях. Например, трейдер может использовать теорию вероятностей для расчета вероятности того, что данная акция вырастет или упадет в цене за определенный период времени. Затем эта информация может быть использована для принятия обоснованных торговых решений, таких как покупка или продажа конкретной акции.



( Читать дальше )

Исходный код рабочего торгового робота на mql4

//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
#property version   "1.00"
//+------------------------------------------------------------------+
input double    Risk             =1;         //          //
input double    Exponenta        =1.3;
input double    TPproc           =0.2;
input int       Step             =5; 
input int       n                =100; 
input int       Magic            =2017; 
//+------------------------------------------------------------------+
string comment ="System";
int r, D;
datetime NewBar =0;
double NewLot;
//+------------------------------------------------------------------+
int OnInit(){
D=1;
if (Digits==5 || Digits==3)D=10;
return(INIT_SUCCEEDED);}
//+------------------------------------------------------------------+
void OnDeinit(const int reason){}
//+------------------------------------------------------------------+
void OnTick(){
//+------------------------------------------------------------------+
double Lot=0;
Lot=NormalizeDouble(AccountBalance()/100*Risk/(MarketInfo(Symbol(),MODE_TICKVALUE)*100*D),2);
if (Lot<MarketInfo(Symbol(),MODE_MINLOT))Lot=MarketInfo(Symbol(),MODE_MINLOT);
//+------------------------------------------------------------------+
if(MarketInfo(Symbol(),MODE_LOTSTEP)==0.01) int dig =2;
if(MarketInfo(Symbol(),MODE_LOTSTEP)==0.10)     dig =1;
if(MarketInfo(Symbol(),MODE_LOTSTEP)==1.00)     dig =0;
//+------------------------------------------------------------------+
if(NewBar!= iTime(Symbol(),0,0) ) 
{NewBar = iTime(Symbol(),0,0) ;
//+------------------------------------------------------------------+
bool Sell=false; bool Buy=false;
if(Open[n+1]<Close[n+1] && Open[n]<Close[n]) {Buy=true;}
if(Open[n+1]>Close[n+1] && Open[n]>Close[n]) {Sell=true;}
//+------------------------------------------------------------------+
bool minus=false, plus=false;

if(LastProfit()<0)
{minus=true;}
if(LastProfit()>=0)
{plus=true;}
//+------------------------------------------------------------------+
if(plus || CountH(-1)==0)
{NewLot=Lot;}

if(minus && CountH(-1)>0)
{NewLot=NormalizeDouble(LastLot()*Exponenta, dig);}
//+------------------------------------------------------------------+
double P_Max=(AccountBalance()/100)*TPproc;

if(Count(OP_SELL)==0 && Sell && LastType()!=OP_SELL && (Profit(OP_BUY)>P_Max*Count(OP_BUY) || CountH(-1)==0))
  {r=OrderSend(Symbol(),OP_SELL,NewLot,Bid,10,0,0,comment,Magic,0,Red);
  CloseBuy();}
if(Count(OP_BUY)==0 && Buy && LastType()!=OP_BUY && (Profit(OP_SELL)>P_Max*Count(OP_SELL) || CountH(-1)==0))
  {r=OrderSend(Symbol(),OP_BUY,NewLot,Ask,10,0,0,comment,Magic,0,Green);
  CloseSell();}
//+------------------------------------------------------------------+
if(Count(OP_BUY)>0 && Ask+Step*D*Point<=BuyPric())
   {r=OrderSend(Symbol(),OP_BUY,NewLot,Ask,10,0,0,comment,Magic,0,Green);}  
if(Count(OP_SELL)>0 && Bid-Step*D*Point>=SellPric())
   {r=OrderSend(Symbol(),OP_SELL,NewLot,Bid,10,0,0,comment,Magic,0,Red);}
//+------------------------------------------------------------------+
}}
//+------------------------------------------------------------------+ 
//| Считаем количество ордеров по типу                               | 
//+------------------------------------------------------------------+ 
int Count(int type)
{int count=0;
 for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {if(Symbol()==OrderSymbol() && Magic==OrderMagicNumber() && (type==-1 || OrderType()==type)) count++;}
   return(count);}
//+------------------------------------------------------------------+ 
//| Функция закрытия ордеров                                         |
//+------------------------------------------------------------------+
void CloseBuy()
{double priceB;
for(int i=OrdersTotal()-1;i>=0;i--)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(Symbol()==OrderSymbol() && OrderType()==OP_BUY && Magic==OrderMagicNumber())
{priceB=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID), Digits);
bool clos=OrderClose(OrderTicket(),OrderLots(),priceB,100,0);}}}
return;}
//+------------------------------------------------------------------+
void CloseSell()
{double priceS;
for(int i=OrdersTotal()-1;i>=0;i--)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(Symbol()==OrderSymbol() && OrderType()==OP_SELL && Magic==OrderMagicNumber())
{priceS=NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK), Digits);
bool clos=OrderClose(OrderTicket(),OrderLots(),priceS,100,0);}}}
return;}
//+------------------------------------------------------------------+ 
//| Определяем тип последнего ордера                                 | 
//+------------------------------------------------------------------+ 
int LastType()
{int type=-1;
datetime dt=0;
for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic) 
   {if(OrderOpenTime()>dt)
   {dt=OrderOpenTime();
    type=OrderType();}}}
return(type);}
//+------------------------------------------------------------------+ 
//| Определяем лот последнего ордера                                 | 
//+------------------------------------------------------------------+ 
double LastLot()
{int type=-1;
double lots;
datetime dt=0;
for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic) 
   {if(OrderOpenTime()>dt)
   {dt=OrderOpenTime();
    type=OrderType();
    lots=OrderLots();}}}
return(lots);}
//+------------------------------------------------------------------+ 
//| Определяем профит последнего ордера                                 | 
//+------------------------------------------------------------------+ 
double LastProfit()
{int type=-1;
double profit;
datetime dt=0;
for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic) 
   {if(OrderOpenTime()>dt)
   {dt=OrderOpenTime();
    type=OrderType();
    profit=OrderProfit();}}}
return(profit);}
//+------------------------------------------------------------------+ 
//| Определяем цену последнего ордера бай                            | 
//+------------------------------------------------------------------+ 
double BuyPric() {
   double oldorderopenprice;
   int oldticketnumber;
   double unused = 0;
   int ticketnumber = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      bool clos=OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) {
         oldticketnumber = OrderTicket();
         if (oldticketnumber > ticketnumber) {
            oldorderopenprice = OrderOpenPrice();
            unused = oldorderopenprice;
            ticketnumber = oldticketnumber;}}}
   return (oldorderopenprice);}
//+------------------------------------------------------------------+ 
//| Определяем цену последнего ордера селл                           | 
//+------------------------------------------------------------------+ 
double SellPric() {
   double oldorderopenprice;
   int oldticketnumber;
   double unused = 0;
   int ticketnumber = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      bool clos=OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL) {
         oldticketnumber = OrderTicket();
         if (oldticketnumber > ticketnumber) {
            oldorderopenprice = OrderOpenPrice();
            unused = oldorderopenprice;
            ticketnumber = oldticketnumber;}}}
   return (oldorderopenprice);}
//+------------------------------------------------------------------+ 
int CountH(int type)
{int count=0;
 for(int i=OrdersHistoryTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
  {if(Symbol()==OrderSymbol() && Magic==OrderMagicNumber() && (type==-1 || OrderType()==type)) count++;}
   return(count);}
//--------------------------------------------------------------------+
double Profit(int type) 
{double Profit = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
      {if (Symbol()==OrderSymbol() && OrderMagicNumber()==Magic && (OrderType() == type || type==-1)) Profit += OrderProfit()+OrderSwap()+OrderCommission();}}
       return (Profit);} 

Лучшая страна для трейдера

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

Соединенные Штаты: В США находится крупнейший фондовый рынок в мире, NYSE, а также несколько других крупных бирж. В стране также стабильная политическая и экономическая обстановка, что делает ее популярным местом для торговцев.

Соединенное Королевство: Лондонская фондовая биржа является одной из крупнейших в мире, и Великобритания имеет долгую историю финансового центра. В стране стабильный политический и экономический климат, и правительство оказывает поддержку финансовой индустрии.

Сингапур: Сингапур имеет высокоразвитый финансовый сектор и является одним из крупнейших торговых центров в Азии. В стране стабильный политический и экономический климат, и правительство оказывает поддержку финансовой индустрии.



( Читать дальше )

Обвал американского фондового рынка в 2023 году

Обвал американского фондового рынка — это событие, которому еще предстоит произойти, но многие эксперты считают, что это вопрос «когда», а не «если». Этот надвигающийся экономический спад является источником беспокойства как для инвесторов, так и для политиков, поскольку фондовый рынок играет жизненно важную роль в общем состоянии экономики. В этом эссе мы рассмотрим некоторые факторы, которые потенциально могут спровоцировать крах рынка в 2023 году, и обсудим последствия этих событий для будущего фондового рынка и мировой экономики.

Одним из наиболее значимых факторов, который может привести к обвалу рынка в 2023 году, является экономическая нестабильность. Если мировая экономика вступит в рецессию, это может спровоцировать снижение потребительского доверия и расходов, что приведет к снижению цен на акции. Кроме того, растущая инфляция может привести к повышению процентных ставок, что затруднит компаниям доступ к капиталу и негативно скажется на их прибыльности. Это, в свою очередь, может привести к снижению доверия инвесторов и дальнейшему падению фондового рынка.



( Читать дальше )

Сказка о трейдинге

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

Однажды Максимус услышал о легендарной торговой площадке под названием Базар, где собирались самые мудрые и успешные торговцы, чтобы обменять свои товары. Говорили, что Базар расположен глубоко в сердце леса, и мало кому удавалось его найти. Но Максима это не остановило. Он собрал свои вещи и отправился в путешествие, чтобы найти Базар и узнать его секреты.

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

Наконец, после многих испытаний и невзгод, Максимус прибыл на Базар. Он был поражен тем, что увидел: ряды за рядами прилавков, каждый из которых был переполнен экзотическими товарами из далеких стран. Воздух был наполнен звуками торгов, когда торговцы со всего мира вели дела.



( Читать дальше )

Как не быть придурком в трейдинге

Торговля — это конкурентная деятельность, требующая навыков, стратегии и терпения. Однако некоторые трейдеры могут стать чрезмерно агрессивными и демонстрировать плохое поведение, что может нанести ущерб их репутации и отношениям с другими. Вот несколько советов о том, как не быть придурком в торговле:

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

Будьте честны: Честность — лучшая политика, особенно в торговле. Не манипулируйте и не обманывайте других ради личной выгоды, так как это может иметь серьезные последствия в долгосрочной перспективе.

Держите эмоции под контролем: такие эмоции, как жадность, страх и гнев, могут затуманить суждения и привести к неправильным решениям. Очень важно сохранять спокойствие и уравновешенность при совершении сделок.

Избегайте личных нападок: Обзывательство, оскорбления и другие личные нападки недопустимы в любой ситуации, включая торговлю. Относитесь к другим с уважением, даже если вы с ними не согласны.



( Читать дальше )

теги блога Чувак Хачинбек

....все тэги



UPDONW
Новый дизайн