트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 2288

 
이고르 마카누 :

왜요? 이제 "2 번의 클릭으로" OHLC가 있고 내 사용자 지정 차트의 이 데이터에 스프레드가 있습니다. 주문을 열거나 닫을 때 스프레드를 뺍니다.

TP가 작동하면 어디에서 빼나요? 테스터가 그린 균형 및 자본 라인에서? 그리고 그들의 최종 가치에서? 방법을 알아봐야겠네요...
 
레나트 파트훌린 :

당신은 프로그래밍 언어와 그들의 미래에 대해 이야기하지만 TIOBE 지수 가 프로그래밍 언어의 인기에 대한 가장 권위있는 지수라는 것을 스스로는 모릅니다.

당신을 위해 이것은 이름이 없습니다.

이번에도 TIOBE Index 에 갔다
하나의 언급을 찾았습니다.

다음 50가지 프로그래밍 언어

다음 언어 목록은 #51 ~ #100 을 나타냅니다 . 차이가 상대적으로 작기 때문에 l 프로그래밍 언어 만 나열됩니다(알파벳 순서로) .

  • 4차원/4D, ABC, ActionScript, Alice, Applescript, AutoLISP, B4X, bc, Bourne shell, CIL, CL(OS/400), Clojure, CoffeeScript, Common Lisp, Crystal, cT, Elixir, Emacs Lisp, Erlang, F# , 팩터, 해킹, 아이콘, Io, J, Korn shell, Ladder Logic, LiveCode, Maple, ML, MQL4 , NATURAL, Nim, OpenCL, OpenEdge ABL, PILOT, PL/I, PostScript, Q, Ring, RPG, S, Simulink, Small Basic, SPARK, SPSS, Stata, Tcl, Verilog

 
도서관 :

모든 높음 및 낮음 도착 시간 순서를 지켜야 합니다. 내가 쓴 순서가 아닐 수도 있습니다.

이것이 내 스크립트가하는 일입니다

 for ( int i = ArraySize (ticks) - 1 ; i >= 0 ; i--)
   {
      ticks[i].bid = ticks[i].ask;
   }

무엇을 테스트하고 있습니까? 파이썬이나 R에서? - 원래 심볼의 OHLC를 언로드 한 다음 차트에 스크립트를 던집니다 .

이 사용자 정의 차트를 자신에게 업로드하십시오 - 이 OHLC   완전 동기

 

일반적으로 내 생각은 다소 모호하고 함정이 있을 수 있습니다. 가격이 내려갔다가 거의 낮음에 도달했다가 다시 높음으로 올라갔다가 다시 낮음으로 돌아갔습니다.
모든 틱이 없으면 첫 번째 TP 또는 SL이 무엇인지 추정하는 것은 불가능합니다.

내 MO 모델에서 TP와 SL이 모두 막대에서 작동하면 먼저 작동하는 수익성없는 옵션이었습니다. 에스엘.


그러나 나 외에 그러한 실제 OHLC가 누군가에게 유용하다면 그것에 대해 생각할 수 있습니다 ...

 
이고르 마카누 :

이것이 내 스크립트가하는 일입니다

무엇을 테스트하고 있습니까? 파이썬이나 R에서? - 원래 심볼의 OHLC를 언로드 한 다음 차트에 스크립트를 던집니다 .

이 사용자 정의 차트를 자신에게 업로드하십시오 - 이 OHLC   완전 동기

파일에 업로드한 다음 적어도 R에서는 파이썬으로, 적어도 DLL로, 적어도 원격 서버 로 업로드합니다.
 
도서관 :

일반적으로 내 생각은 다소 모호하고 함정이 있을 수 있습니다. 가격이 하락하고 거의 낮음에 도달한 다음 높음으로 올라갔다가 낮음으로만 가는 등의 함정이 있을 수 있습니다.
모든 틱이 없으면 첫 번째 TP 또는 SL이 무엇인지 추정할 수 없습니다.

내 MO 모델에서 TP와 SL이 모두 막대에서 작동하면 먼저 작동하는 수익성없는 옵션이었습니다. 에스엘.


그러나 나 외에 그러한 실제 OHLC가 누군가에게 유용하다면 그것에 대해 생각할 수 있습니다 ...

물론 틱 도착 시간이 없으면 OHLC만으로는 이전의 High 또는 Low를 평가할 수 없습니다.

나는 나 자신을 위해 같은 작업을 했다 https://www.mql5.com/ru/forum/282062/page34#comment_20079886

 #define OPEN   0
#define HIGH   1
#define LOW     2
#define CLOSE   3

MqlTick HistoryData[];
MqlTick bar[ 4 ];
const datetime t_bar[] = { 0 , 20 , 40 , 59 };
//+------------------------------------------------------------------+
int OnInit ()
{
   ArrayResize (HistoryData, 1 , 2000000 );
   return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
{
   int handle = FileOpen ( _Symbol + "_tick.bin" , FILE_WRITE | FILE_BIN | FILE_COMMON );
   if (handle < 0 )
   {
       Print ( "Erorr write array # " , GetLastError ());
       return ;
   }
   FileWriteArray (handle, HistoryData, 1 );
}
//+------------------------------------------------------------------+
void OnTick ()
{
   MqlTick tick;
   if (! SymbolInfoTick ( _Symbol , tick)) return ;
   static datetime LastBarM1 = 0 ;
   datetime d_minutes = tick.time / 60 ;
   if (LastBarM1 == 0 )   // первый запускt
   {
       for ( int i = 0 ; i < 4 ; i++) bar[i] = tick; // проинициализируем
      LastBarM1 = d_minutes;
   }

   if (d_minutes != LastBarM1) //--- если новая минута
   {
       if (bar[HIGH].time_msc > bar[LOW].time_msc)   // поменяем местами по времени тика
      {
         MqlTick tmp = bar[LOW];
         bar[LOW] = bar[HIGH];
         bar[HIGH] = tmp;
      }
       datetime t = LastBarM1 * 60 ;   // посчитаем вренмя, sec = 0
       for ( int i = 0 ; i < 4 ; i++)     // подменим время тика
      {
         bar[i].time = t + t_bar[i];
         bar[i].time_msc = bar[i].time * 1000 ;
      }
       ArrayInsert (HistoryData, bar, ArraySize (HistoryData));   // добавим в массив
       for ( int i = 0 ; i < 4 ; i++) bar[i] = tick;                 // проинициализируем
      LastBarM1 = d_minutes;                                   // запомним минуты
   }

   if (tick.ask > bar[HIGH].ask) bar[HIGH] = tick;
   if (tick.ask < bar[LOW].ask)  bar[LOW]  = tick;
   bar[CLOSE] = tick;
}
//+------------------------------------------------------------------+

이 스크립트는 이전에 누가 있었는지에 따라 원하는 순서로 높음/낮음을 언로드합니다.

 
이고르 마카누 :

물론 틱 도착 시간이 없으면 OHLC만으로는 이전의 High 또는 Low를 평가할 수 없습니다.

나는 나 자신을 위해 같은 작업을 했다 https://www.mql5.com/ru/forum/282062/page34#comment_20079886

이 스크립트는 이전에 누가 있었는지에 따라 원하는 순서로 높음/낮음을 언로드합니다.

고마워, 나는 곧 이런 일을 할 것이다.
 
도서관 :

일반적으로 실제 틱의 두 번째 버전이 필요하지만 틱이 6개뿐입니다.
열기: 입찰 및 요청

높은 입찰가

높은 질문

낮은 입찰가

낮은 질문

닫기: 입찰 및 요청

모든 높음 및 낮음 도착 시간 순서를 지켜야 합니다. 내가 쓴 순서가 아닐 수도 있습니다.

이 도구를 사용하면 실제 눈금의 정확도로 막대를 평가할 수 있습니다. 훨씬 적은 트래픽으로. 그리고 물론 테스터는 그들과 거래하는 방법을 배워야 하지만 실제 진드기의 엔진은 수정 없이 작동할 것이라고 생각합니다.

fxsaber는 MT4에서도 이 작업을 수행했습니다.

이제 전혀 문제가 없습니다. 실제 틱에서 얇은 버전을 사용자 정의 도구로 조합하고 테스트할 수 있습니다.

 
레나트 파트훌린 :

OpenCL 및 DirectX에 대해 했던 것처럼 WinML과의 직접 통합을 개발할 것입니다.

또한 다른 언어와 유사한 C++ 모듈/패키지를 포함하는 큰 프로젝트가 있습니다. 즉, 많은 오픈 소스 라이브러리를 패키지로 변환하는 것이 가능합니다.

최소한 CPU/Multithreads/AVX에서 매트릭스 작업이 가능하지만 GPU에서는 가능합니다.

강조 표시된 소리는 영감을 줍니다. 특히 C ++ 또는 적어도 Tensor Flow 라이브러리에 유사한 Keras 라이브러리가 있는 경우. 고맙습니다.

추신 WinML은 교육 없이 온라인 작업만 하는 것입니다. 그러나 그것이 좋다 해도 모델은 점점 더 무거워지고 있습니다. OS API의 지원은 손상되지 않습니다.

 
막심 드미트리예프스키 :

실제 차트는 어디에 있으며 생성된 차트는 어디에 있습니까?


상위 생성, 하위 시장

사유: