В Вашей системе кодирования отсутствует информация о типе ценового уровня свечи. Этих типов четыре: Open, High, Low и Close. Их тоже надо закодировать, например 0, 1, 2, 3 или 0, 1, 2, 4 и вплести в общий код свечи.
Нашел !
Достаточно сравнить Open и Close .
//+------------------------------------------------------------------+ //| CANDLECODE.mq4 | //| Copyright © 2006, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { Comment( COD(1) ," " , COD(2) ," " , COD(3) ); return(0); } //+------------------------------------------------------------------+ int WW(int L1 , int S , double O1 , double C1) { int k=1 ; int W0 = 0 ; if (O1 > C1)k=+1 ; if (O1 < C1)k=-1 ; if (0 < L1 && L1 <= 10 ){W0 = 1 ;return(W0*k ) ;} if (10 < L1 && L1 <= 20 ){W0 = 2 ;return(W0*k ) ;} if (20 < L1 && L1 <= 30 ){W0 = 4 ;return(W0*k ) ;} if (30 < L1 && L1 <= 40 ){W0 = 8 ;return(W0*k ) ;} if (40 < L1 && L1 <= 50 ){W0 = 16 ;return(W0*k ) ;} if (50 < L1 && L1 <= 60 ){W0 = 32 ;return(W0*k ) ;} if (60 < L1 && L1 <= 70 ){W0 = 64 ;return(W0*k ) ;} if (70 < L1 && L1 <= 80 ){W0 = 128 ;return(W0*k ) ;} if (80 < L1 && L1 <= 90 ){W0 = 256 ;return(W0*k ) ;} if (90 < L1 && L1 <= 100 ){W0 = 512 ;return(W0*k ) ;} } //+------------------------------------------------------------------+ int COD(int ind ) //+------------------------------------------------------------------+ { double P[11] ; P[0] = Close[1] ; P[1] = Close[2] ; P[2] = Close[3] ; P[3] = Open[1] ; P[4] = Open[2] ; P[5] = Open[3] ; P[6] = High[1] ; P[7] = High[2] ; P[8] = High[3] ; P[9] = Low[1] ; P[10] = Low[2] ; P[11] = Low[3] ; double max = P[ ArrayMaximum(P) ]; double min = P[ ArrayMinimum(P) ]; double D = max - min ; double S = (max - min)/10 ; int L1 = 100*(max - Low[ind] )/D ; int O1 = 100*(max - Open[ind] )/D ; int C1 = 100*(max - Close[ind] )/D ; int H1 = 100*(max - High[ind] )/D ; int WL1 = WW(L1 , S, O1 , C1 ) ; int WO1 = WW(O1 , S, O1 , C1 ) ; int WC1 = WW(C1 , S, O1 , C1 ) ; int WH1 = WW(H1 , S, O1 , C1 ) ; int CC = WL1+WO1+WC1+WH1 ; ObjectCreate ("CANDLECODE"+Time[ind ], OBJ_TEXT,0,Time[ind ],Open[ind ]); ObjectSetText("CANDLECODE"+Time[ind ], DoubleToStr(CC,0), 10, "Times New Roman", Green); return(CC) ; }
А зачем вам это надо?
По моему свечки рисовали японци когда еще небыло даже калькуляторов не говоря о компутерах.
А зачем вам это надо?
По моему свечки рисовали японци когда еще небыло даже калькуляторов не говоря о компутерах.
Да вот есть предположение, что после того как на графике отрисуется пара свечек с кодами -576 и -1028, то есть смысл сделать BUY :) .
Это к примеру .
И, похоже, есть еще несколько удачных комбинаций, после которых можно попытаться что-то заработать .
А кодирование сделано для того, что бы "работать" не глазами, а скриптом или советником .
Чтобы советник сам "смотрел", различал и запоминал.
Тогда на достаточном временном интервале можно провести исследование на эту тему, а заодно проверить и японцев, поскольку при таком кодировании
японские свечи - это частный случай, вдобавок полностью формализованный .
Вобщем хочу проверить ....
Не шибко ли избыточное кодирование получается? При таком колве вариантов не затруднительно ли будет их дальнейшее использование, как-то поиск паттернов, анализ и т.д.? Хотя может у Вас совсем другие планы...Чем Вас не устроил метод Лиховидова (http://www.forextimes.ru/article/a14727.htm)? Кстати не встречали его реализацию для МТ? Где-то видел, но давно, а у самого руки никак не доходят:)
З.Ы. Снова кстати), варианты кодирования групп свечей пока не рассматривали?
Не шибко ли избыточное кодирование получается? При таком колве вариантов не затруднительно ли будет их дальнейшее использование, как-то поиск паттернов, анализ и т.д.? Хотя может у Вас совсем другие планы...Чем Вас не устроил метод Лиховидова (http://www.forextimes.ru/article/a14727.htm)? Кстати не встречали его реализацию для МТ? Что-то у самого руки никак не доходят:)
Готов согласится :)
Вместо 10 разрядов сделать 8 или 6 .
Чем Вас не устроил метод Лиховидова (http://www.forextimes.ru/article/a14727.htm)? Кстати не встречали его реализацию для МТ? Где-то видел, но давно, а у самого руки никак не доходят:)
Устраивает, но я увидел, что есть еще вариант . И хочу с ним поработать .
Мне тоже попадалась реализация Лиовидова, при случае дам ссылку .
Очень интересная идея! Попробую использовать как нейрон.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Обдумываю варианты кодирования :
Если вторая свеча будет белая, то ее код все равно будет 408 . А надо чтобы был другой . Как это сделать ?