Скальпинг на крипто - подумаем вместе? - страница 2

 
Vladimir Karputov:

Лучше ответит @Alexey Volchanskiy - он долго пытался прикрутить расчёт маржи в индикаторе.

Вот именно --- "Расчёт" А расчёт, это ни что иное как информация, а не торговая операция. Когда рассчитывает показания МА для принятия решения для входа в рынок, это тоже торговая операция?

Мы же взрослые люди, и должны реально думать и осознавать, что копировать чьи-то ошибки - не нужно.

 

А, сорри, ну тогда так?

double MarginCalculate(string symbol,double volume)
{
  double leverage=(double)AccountInfoInteger(ACCOUNT_LEVERAGE);
  double contract=SymbolInfoDouble(symbol,SYMBOL_TRADE_CONTRACT_SIZE);
  return(contract*SymbolInfoDouble(symbol,SYMBOL_BID)*volume/leverage);
}
 

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

Но есть и плохие стороны -
очень большое отличие в виде баланса счёта - у вас не будет основной валюты аккаунта. Вы можете держать деньги одновременно в долларах, биткоинах, лайткоинах, эфириумах, итд. И у криптобиржи доступна куча пар для взаимообмена этого зоопарка.
И соответственно нету таких понятий как открыть или закрыть сделку - вместо этого лимитником обмениваете одну криптовалюту на другую, и на этом всё, у вас в кошельке они хранятся отдельно. Стопов и тейков тоже нету, это нужно организовывать самому опять через лимитники.
Плеча не будет, только 1:1

Но для написания робота и общением с биржей вам придётся освоить REST API (запросы и команды через html), в принципе стандартный апи, примеров работы с ним в интернете куча. Все крупные криптобиржи этот апи поддерживают, но у некоторых есть лимит на частоту запросов, для скальпинга могут подойти не все.
Работ для создания такого советника будет много, но по-моему вы так получите более самостоятельную торговую систему чем через дц.

 
Vitaly Muzichenko:

Вот именно --- "Расчёт" А расчёт, это ни что иное как информация, а не торговая операция. Когда рассчитывает показания МА для принятия решения для входа в рынок, это тоже торговая операция?

Мы же взрослые люди, и должны реально думать и осознавать, что копировать чьи-то ошибки - не нужно.


1. Смотрим в книгу: Справочник MQL5 - Торговые функции - OrderCalcMargin 

2. Пытаемся запунуть OrderCalcMargin в индикатор

3. Возмущаться можно только после прохождения квеста 1 и 2.

 
Vladimir Karputov:

1. Смотрим в книгу: Справочник MQL5 - Торговые функции - OrderCalcMargin 

2. Пытаемся запунуть OrderCalcMargin в индикатор

3. Возмущаться можно только после прохождения квеста 1 и 2.

Владимир, перечитайте ещё раз:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Скальпинг на крипто - подумаем вместе?

Vitaly Muzichenko, 2017.11.13 17:00

Вот именно --- "Расчёт" А расчёт, это ни что иное как информация, а не торговая операция. Когда рассчитывает показания МА для принятия решения для входа в рынок, это тоже торговая операция?

Мы же взрослые люди, и должны реально думать и осознавать, что копировать чьи-то ошибки - не нужно.


 
Vitaly Muzichenko:

Владимир, перечитайте ещё раз:



Вот вынудил всё таки написать проверку!

//+------------------------------------------------------------------+
//|                                         Test OrderCalcMargin.mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ResetLastError();
   double margin=-100.0;
   if(OrderCalcMargin(ORDER_TYPE_BUY,Symbol(),1.0,1.16611,margin))
      Comment("Margin ",DoubleToString(margin,2));
   else
      Comment("Error # ",GetLastError());
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
//---

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Файлы:
 
Vladimir Karputov:

Вот вынудил всё таки написать проверку!

Ну так всё верно работает, это баг.

А теперь напишите то-же самое, только в советнике, чтобы она начала торговать без всяких Send, чистая торговля OrderCalcMargin, можно даже фиксированным лотом, ну или хотя-бы напишите чтоб она модифицировала ордер, она-же ТОРГОВАЯ

Если торговать не будет, значит она не торговая, у не нужно утверждать обратное, вопреки здравому смыслу!
 

Торговые функции

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

OrderCalcMargin

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

bool  OrderCalcMargin(

   ENUM_ORDER_TYPE       action,           // тип ордера

   string                symbol,           // имя символа

   double                volume,           // объем

   double                price,            // цена открытия

   double&               margin            // переменная для получения значения маржи

   );

 
Alexey Volchanskiy:

Какие-то непонятки с маржой на крипто-счетах. Может кто чего подсказать?

На MQ demo плечо 1:100, на iCMarket 1:500. 

Индикатор мой, считает маржу так. По валютным парам все ОК по крипто какая-то ерунда. 


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

Торговые функции

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

OrderCalcMargin

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

bool  OrderCalcMargin(

   ENUM_ORDER_TYPE       action,           // тип ордера

   string                symbol,           // имя символа

   double                volume,           // объем

   double                price,            // цена открытия

   double&               margin            // переменная для получения значения маржи

   );

Завтра отвечу, сегодня уже поздно. Как совет, избавьтесь от стадного инстинкта, и думайте головой.