장점 정리???? - 페이지 11

 
Dmi3 # :

Zerich는 올해 1월까지 전체 주문 로그를 보유하고 있습니다. 아무 날이나 시간을내어 Opening-MT5의 아카이브 데이터와 비교하십시오.

문제는 무엇입니까?

그리고 아마도 링크?

 
Dmitriy Skub # :

그리고 아마도 링크?

https://ftp.zerich.com/pub/Terminals/QScalp/History/

 
Dmi3 # :

Zerich는 올해 1월까지 전체 주문 로그를 보유하고 있습니다. 아무 날이나 시간을내어 Opening-MT5의 아카이브 데이터와 비교하십시오.

문제는 무엇입니까?

문제는 당신이 "비누와 송곳"을 비교할 것을 제안하는데, QScalp는 지표가 아니며 원본 데이터가 필요하다는 것입니다.

즉, 거래소의 데이터, 그렇지 않으면 블라디미르의 데이터를 더 신뢰합니다.

 
prostotrader # :

문제는 당신이 "비누와 송곳"을 비교할 것을 제안하는데, QScalp는 지표가 아니며 원본 데이터가 필요하다는 것입니다.

즉, 데이터 교환

친구, 여기 이끼로 덮여 있지만 이 데이터는 이미 3세대 알고리즘 트레이더가 사용하고 있습니다. 하지만 발전하지 않을 핑계를 찾을 수 있습니다. :)

 
Dmi3 # :

친구, 여기 이끼로 덮여 있지만 이 데이터는 이미 3세대 알고리즘 트레이더가 사용하고 있습니다. 하지만 발전하지 않을 핑계를 찾을 수 있습니다. :)

나는 당신의 친구가 아니며 당신이 어떻게 발전했는지 상관하지 않습니다 ...

 
prostotrader # :

나는 당신의 친구가 아니며 당신이 어떻게 발전했는지 상관하지 않습니다 ...

예, 물론 여기에는 항상 매우 특정한 분위기가 있습니다.

 
Dmi3 # :

예, 물론 여기에는 항상 매우 특정한 분위기가 있습니다.

당신과 당신 같은 사람들과 달리 나는 코드, 코드의 결과 및 기타 관련 정보를 게시합니다.

물론 내가 뭔가 잘못 알고 있을 수 있지만, 당신은 단지 허공을 흔들고 있을 뿐입니다!

 

블라디미르!

MT-5가 따옴표를 여전히 올바르게 브로드캐스트하지만 기록에 올바르게 입력하지 않기를 바라며 틱 수집기가 작성했습니다.

나는 매일 GAZR-12.21에서 달릴 것이다.

가능하면 편한 시간에 파일을 보내십시오.

 //+------------------------------------------------------------------+
//|                                                 FS_Collector.mq5 |
//|                                     Copyright 2021, prostotrader |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, prostotrader"
#property link        " https://www.mql5.com "
#property version    "1.00"
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots    3
//--- plot Label1
#property indicator_label1    "ASK"
#property indicator_type1    DRAW_LINE
#property indicator_color1    clrRed
#property indicator_style1    STYLE_SOLID
#property indicator_width1    1
//--- plot Label2
#property indicator_label2    "BID"
#property indicator_type2    DRAW_LINE
#property indicator_color2    clrBlue
#property indicator_style2    STYLE_SOLID
#property indicator_width2    1

//--- plot Label3
#property indicator_label3    "LAST"
#property indicator_type3    DRAW_LINE
#property indicator_color3    clrYellow
#property indicator_style3    STYLE_SOLID
#property indicator_width3    1
//---
#define on_call - 111
//---
input string StTime =   "10:00:00" ;   //Начало сбора тиков
input string EndTime = "23:50:00" ;   //Конец сбора тиков
//--- 
struct MARKET_DATA
{
   int cnt;
   datetime time[];
   double ask[];
   double bid[];
   double last[];
}m_data;
string spot_symbol;
bool fut_book;
double AskBuff[], BidBuff[], LastBuff[];
int event_cnt;
double ask_price, bid_price, last_price;
int f_handle; 
datetime start_time, end_time;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
{
  event_cnt = 0 ;
  m_data.cnt = 0 ;
   ArrayResize (m_data.time, 50000000 , 50000000 );
   ArrayResize (m_data.ask, 50000000 , 50000000 );
   ArrayResize (m_data.bid, 50000000 , 50000000 );
   ArrayResize (m_data.last, 50000000 , 50000000 );
   if ( Period () != PERIOD_M1 )
  {
     Alert ( "Индикатор использует таймфрейм М1!" );
     return ( INIT_FAILED );
  }
  fut_book = MarketBookAdd ( Symbol ());
   if (fut_book == false )
  {
     Alert ( "Не добавлен стакан фьючерса!" );
     return ( INIT_FAILED );
  }
   IndicatorSetInteger ( INDICATOR_DIGITS , 2 );
   IndicatorSetString ( INDICATOR_SHORTNAME , "FS_Collector" );
//---  
   SetIndexBuffer ( 0 , AskBuff, INDICATOR_DATA );
   PlotIndexSetDouble ( 0 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries (AskBuff, true ); 
  
   SetIndexBuffer ( 1 , BidBuff, INDICATOR_DATA );
   PlotIndexSetDouble ( 1 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries (BidBuff, true );
  
   SetIndexBuffer ( 2 , LastBuff, INDICATOR_DATA );
   PlotIndexSetDouble ( 2 , PLOT_EMPTY_VALUE , EMPTY_VALUE );
   ArraySetAsSeries (LastBuff, true );
  f_handle = FileOpen ( "AB_Colletor.csv" , FILE_WRITE | FILE_CSV );
   if (f_handle == INVALID_HANDLE )
  {
     Alert ( "Не создан *.CSV файл!" );
     return ( INIT_FAILED );
  }
   else
  {
     FileWrite (f_handle, "Symbol: " , Symbol ());
     FileWrite (f_handle, "Date" , "Time" , "ASK" , "BID" , "LAST" );
  }
  start_time = StringToTime (StTime);
  end_time = StringToTime (EndTime);
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   if (f_handle != INVALID_HANDLE )
  {
     for ( int i = 0 ; i<m_data.cnt;i++)
    {
       FileWrite (f_handle, TimeToString (m_data.time[i], TIME_DATE ), TimeToString (m_data.time[i], TIME_SECONDS ) , DoubleToString (m_data.ask[i],
                 Digits ()), DoubleToString (m_data.bid[i], Digits ()), DoubleToString (m_data.last[i], Digits ()));
    }
     FileClose (f_handle);
     ArrayResize (m_data.time, 0 , 0 );
     ArrayResize (m_data.ask, 0 , 0 );
     ArrayResize (m_data.bid, 0 , 0 );
     ArrayResize (m_data.last, 0 , 0 );
  } 
   if (fut_book == true ) MarketBookRelease ( Symbol ());
   if (reason == REASON_INITFAILED )
  {
     Print ( "Индикатор удалён! Причина - ошибка инициализации." );
     string short_name = ChartIndicatorName ( ChartID (), 1 , 0 );
     ChartIndicatorDelete ( ChartID (), 1 , short_name); 
  }
}
//+------------------------------------------------------------------+
// Custom indicator Get data function                                |
//+------------------------------------------------------------------+
/*ulong GetStakan(const string a_symb, double &ask_pr, double &bid_pr)
{
  MqlBookInfo book_price[];
  if(MarketBookGet(a_symb, book_price) == true)//getBook )
  {
  }
  return(0);
}*/
//+------------------------------------------------------------------+
// Custom indicator Get data function                                |
//+------------------------------------------------------------------+
bool GetData()
{
   datetime cur_time = TimeTradeServer ();
   if ((cur_time >=start_time)&&(cur_time<end_time))
  {
    ask_price = SymbolInfoDouble ( Symbol (), SYMBOL_ASK );
    bid_price = SymbolInfoDouble ( Symbol (), SYMBOL_BID );
    last_price = SymbolInfoDouble ( Symbol (), SYMBOL_LAST );
     if ((ask_price > 0 )&&(bid_price > 0 )&&(last_price > 0 ))
    {
      m_data.time[m_data.cnt] = cur_time;
      m_data.ask[m_data.cnt] = ask_price; 
      m_data.bid[m_data.cnt] = bid_price;
      m_data.last[m_data.cnt] = last_price;
      m_data.cnt++;
       return ( true );
    }
  }  
   return ( false );
}
//+------------------------------------------------------------------+
// Custom indicator On book event function                           |
//+------------------------------------------------------------------+
void OnBookEvent ( const string & symbol)
{
   if (symbol == Symbol ())
  {
    GetData();
     double price[]; 
     OnCalculate (event_cnt, event_cnt, on_call, price);
  }
}  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,
                 const int prev_calculated,
                 const int begin,
                 const double &price[])
{
   if (prev_calculated == 0 )
  {
     ArrayInitialize (AskBuff, EMPTY_VALUE );
     ArrayInitialize (BidBuff, EMPTY_VALUE );
     ArrayInitialize (LastBuff, EMPTY_VALUE );
  }
   if (begin != on_call) GetData(); 
  AskBuff[ 0 ] = ask_price;
  BidBuff[ 0 ] = bid_price;
  LastBuff[ 0 ] = last_price;
  event_cnt = rates_total;
   return (rates_total);
}
//+------------------------------------------------------------------+
 
prostotrader # :

당신과 당신과 같은 다른 사람들과 달리 나는 코드, 코드의 결과 및 기타 관련 정보를 게시합니다.

물론 내가 뭔가 잘못 알고 있을 수 있지만, 당신은 단지 허공을 흔들고 있을 뿐입니다!

정상적인 분위기의 장소에서는 트레이더가 필요로 하는 정보를 충분히 공유합니다. 물론 코드는 아니지만 여기에서 나는 당신처럼 약한 능력을 가지고 있습니다.
링크를 이용해서 고맙다는 말만 하면 어렵지 않아요 🙂
 
Dmi3 # :
정상적인 분위기의 장소에서는 트레이더가 필요로 하는 정보를 충분히 공유합니다. 물론 코드는 아니지만 여기에서 나는 당신처럼 약한 능력을 가지고 있습니다.
링크를 이용해서 고맙다는 말만 하면 어렵지 않아요 🙂
그것이 당신이 당신과 같은 사람들을 보고 생각하는 방식입니다. 음 ... 또 다른 똑똑한 사람 또는 우리의 경우 볼트 학자! 그런 범주의 시민이 있습니다. 나는 특히 당신이 다른 사람들에 대해 결론을 내리는 방식을 좋아했습니다. 심리학에는 사람이 성장하고 성격을 형성하는 과정에서 구축된 자신의 범주의 멘탈 맵에서 생각하고 누군가에 대해 말할 때 가장 먼저 자신에 대해 이야기하는 것과 같은 예가 있다는 것을 알고 있습니까? 왜냐하면 당신은 세계에 대한 인식의 정신적 지도를 사용하기 때문입니다. 누군가를 비난하기 전에 항상 이것을 생각하십시오!!!