una estrategia de negociación basada en la teoría de las ondas de Elliott - página 64
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Y poco a poco me voy inclinando hacia ese punto de vista. Queda algo por aclarar, a saber. Supongamos, razonando por analogía, que Close[] es el nivel de agua de un embalse. No tenemos forma de medir la afluencia exacta (lluvias, numerosos ríos, etc.), pero estimaremos la afluencia, por el nivel.
Cuando el nivel del agua aumenta, todo está claro: la afluencia será una diferencia positiva. Pero si empezamos la observación en un verano seco y como consecuencia - valores negativos del cambio de nivel. Al fin y al cabo, un descenso del nivel no significa que no haya habido afluencia, sino que ha salido más de lo que ha entrado. La afluencia media debe ser igual al volumen liberado del embalse cada año. De nuevo surge algo de ciclicidad.
Quiero aclarar cuál es la metodología correcta a tomar como entrada para mi caso:
- Solo la diferencia
- Solo la diferencia modulo
- Solo la diferencia positiva
Intuitivamente, entiendo que lo principal es determinar correctamente la entrada.
También dudo que haya una correlación entre Close[] y Close[i]-Close[i+1]. Una vez traté de encontrarlo usando métodos DSP (como prueba, estaba depurando funciones para determinar la correlación y autocorrelación de señales en ese momento), el resultado del cálculo - no está relacionado de ninguna manera. Esto, en general, se puede ver a simple vista, si se observa la forma de la señal. Pero estos son métodos DSP, puede que no sea lógico utilizarlos en este caso.
Además, no se puede reconstruir la serie original sólo con Close[i]-Close[i+1] - la información necesaria se pierde, y el cálculo de Hearst se realiza, de hecho, con una serie diferente a la original.
-Sólo diferencia
- diferencia de módulo
- única diferencia positiva
Intuitivamente, entiendo que lo principal es determinar correctamente la afluencia.
También dudo que haya alguna correlación entre Close[] y Close[i]-Close[i+1].
...
Además, no se puede reconstruir la serie original sólo con Close[i]-Close[i+1] - la información necesaria se pierde, y el cálculo de Hearst se realiza, de hecho, con una serie diferente a la original.
Sólo aceptaría la diferencia. Además, si tienes una buena razón, no digas que no puedes usarla :)
http://forex.kbpauk.ru/showflat.php/Cat/0/Number/120077/an/0/page/0#Post120077
Y no soy un "digitalizador" profesional. Hace tres meses me encontré con un artículo que alababa el uso de DSP en el comercio. Me pareció interesante y decidí hacer un conjunto básico de filtros digitales. Bueno, se hizo. Fui a una librería, elegí dos libros más gruesos y los compré. Tras leer las primeras 200 páginas del primer libro que encontré, lo cerré y, murmurando palabrotas, fui a coger el polvoriento libro de matemáticas de dos volúmenes.
Me interesaba no comprar un producto ya hecho (tengo suficiente dinero para eso), sino hacer el mío propio, suponiendo que el estudio de esta área - aparecerán nuevas ideas. Y así sucedió. En 3 meses, sin ninguna distracción, conseguí lo que quería: indicadores basados en DSP y un montón de ideas.
Pero la perfección no conoce fronteras....) :о))) Quiero pedir a los profesionales (es más rápido o lo conseguiré yo mismo, pero más tarde) que definan algunas especificaciones de los filtros existentes y escriban un filtro realmente adaptable.
Por lo que se ofrece, nadie los tiene, es decir, no hay filtros adaptativos.
PD: Y pronto me pondré con los espectros :o))))
Sólo aceptaría la diferencia.
...
Yo pienso lo mismo. Son muchos datos correctos, bueno... casi correctos.
- Indicadores basados en DSP y un montón de ideas.
......
Por lo que se ofrece, nadie los tiene, es decir, no hay filtros adaptativos.
PD: Y pronto me pondré con los espectros :o))))
Aquí estoy, creo en el DSP y "no soy un "digitalizador" profesional"
uso esto:
"Paquete para el análisis técnico mediante métodos de filtrado digital"
Desarrollado gracias a Keny (Oleg, Krasnoyarsk, unclekenny@yandex.ru) y
Goodman (Zyabrev Ilya, Moscú, info@goodman.ru)
Ayuda en las pruebas - Tsygankov Andrey gypsy@mail.ru, Elizarov Oleg TOPpoint@yandex.ru
Distribuido gratuitamente según los principios "AS-IS".
Por favor, informe al autor sobre todas las observaciones y errores".
y hay una idea no realizada de cómo optimizar los filtros sobre la marcha:
No hay nada nuevo. Esto se ha hecho manualmente cientos de veces, pero ¿cómo automatizarlo? -
Estoy hablando de FATL SATL (FATL-SATL, FATL SATL CD ...) y ajustando sus parámetros
manualmente usando el analizador de espectro (incluido en el paquete).
Se necesita una biblioteca que realice el análisis del espectro, dando como salida los periodos de
de máxima densidad de señal (series temporales). Analizando estos datos
para diferentes fragmentos de series temporales se puede intentar adivinar los períodos, las fases, los coeficientes ponderados (amplitudes) de los componentes armónicos (¿cómo? Todavía no lo sé)
Cuantos más componentes armónicos se puedan determinar, más probable será predecir el desarrollo de las series. Eso es todo.
Yeshe. Si la previsión difiere mucho de la realidad, podemos suponer la reacción
del mercado a las noticias fuertes. Eso es todo.
No es un programador ni un matemático. :)
Esta rama está claramente más allá de mi comprensión. Hace una semana que lo estoy masticando. :(
Dos capturas de pantalla realizadas con una sola diferencia en la configuración de la versión de cálculo (OldVersion: true y false)
Puede ver que la versión antigua muestra los niveles habituales, mientras que la nueva muestra un fallo con los mismos parámetros: niveles "pegajosos" de Murray. ¿Puede comentar esta situación? ¿Los niveles de Murray "adheridos" en la nueva versión del indicador son sólo un fallo técnico o tienen un significado más profundo? Por ejemplo, hoy no pueden existir niveles de Murray debido al movimiento más fuerte y debemos esperar a que se calculen correctamente, por ejemplo, el lunes, y entonces podremos tomar decisiones sobre la entrada en el mercado? ¿Y hoy, por ejemplo, si no consiguió entrar ayer, sería mejor quedarse fuera del mercado? Me gustaría conocer su opinión sobre esta cuestión.
PD: Pero ahora con la nueva barra la nueva versión ha empezado a mostrar los mismos niveles de Murray que la antigua. Probablemente se trate de algún error técnico de la nueva versión de cálculo de los niveles de Murray.
PPS: Llegaron un par de barras más y los niveles en la nueva versión están pegados de nuevo.
¿dónde puedo verlo?
google no dice nada
...............................................
PS: Pero ahora con la llegada de la nueva barra y la nueva versión empezó a mostrar los mismos niveles de Murray que la antigua. Probablemente se trate de algún error técnico de la nueva versión del cálculo de los niveles de Murray.
PPS: Llegaron un par de barras más y los niveles en la nueva versión están pegados de nuevo.
Extraño, lo vigilaré, claro que no debería ser así. Tengo que mirar la inicialización de los arrays que voy a comprobar.
En realidad no lo tengo, pero no lo uso como un indicador separado - Acabo de construir el código en el Asesor de Expertos.
HH Encontré un lugar más donde había un error tipográfico. Tenías razón: el error es técnico. Aquí está el código corregido :
i//+------------------------------------------------------------------+ //| MMLevls_VG.mq4 | //| Copyright © 2006, Vladislav Goshkov (VG). | //| 4vg@mail.ru | //| Many thanks to Tim Kruzel | //+------------------------------------------------------------------+ #property copyright "Vladislav Goshkov (VG)." #property link "4vg@mail.ru" #property indicator_chart_window // ============================================================================================ // * Линии 8/8 и 0/8 (Окончательное сопротивление). // * Эти линии самые сильные и оказывают сильнейшие сопротивления и поддержку. // ============================================================================================ //* Линия 7/8 (Слабая, место для остановки и разворота). Weak, Stall and Reverse //* Эта линия слаба. Если цена зашла слишком далеко и слишком быстро и если она остановилась около этой линии, //* значит она развернется быстро вниз. Если цена не остановилась около этой линии, она продолжит движение вверх к 8/8. // ============================================================================================ //* Линия 1/8 (Слабая, место для остановки и разворота). Weak, Stall and Reverse //* Эта линия слаба. Если цена зашла слишком далеко и слишком быстро и если она остановилась около этой линии, //* значит она развернется быстро вверх. Если цена не остановилась около этой линии, она продолжит движение вниз к 0/8. // ============================================================================================ //* Линии 6/8 и 2/8 (Вращение, разворот). Pivot, Reverse //* Эти две линии уступают в своей силе только 4/8 в своей способности полностью развернуть ценовое движение. // ============================================================================================ //* Линия 5/8 (Верх торгового диапазона). Top of Trading Range //* Цены всех рынков тратят 40% времени, на движение между 5/8 и 3/8 линиями. //* Если цена двигается около линии 5/8 и остается около нее в течении 10-12 дней, рынок сказал что следует //* продавать в этой «премиальной зоне», что и делают некоторые люди, но если цена сохраняет тенденцию оставаться //* выше 5/8, то она и останется выше нее. Если, однако, цена падает ниже 5/8, то она скорее всего продолжит //* падать далее до следующего уровня сопротивления. // ============================================================================================ //* Линия 3/8 (Дно торгового диапазона). Bottom of Trading Range //* Если цены ниже этой лини и двигаются вверх, то цене будет сложно пробить этот уровень. //* Если пробивают вверх эту линию и остаются выше нее в течении 10-12 дней, значит цены останутся выше этой линии //* и потратят 40% времени двигаясь между этой линией и 5/8 линией. // ============================================================================================ //* Линия 4/8 (Главная линия сопротивления/поддержки). Major Support/Resistance //* Эта линия обеспечивает наибольшее сопротивление/поддержку. Этот уровень является лучшим для новой покупки или продажи. //* Если цена находится выше 4/8, то это сильный уровень поддержки. Если цена находится ниже 4/8, то это прекрасный уровень //* сопротивления. // ============================================================================================ extern bool OldVersion = false; extern int P = 90; extern int MMPeriod = 1440; extern int StepBack = 0; extern color mml_clr_m_2_8 = White; // [-2]/8 extern color mml_clr_m_1_8 = White; // [-1]/8 extern color mml_clr_0_8 = Aqua; // [0]/8 extern color mml_clr_1_8 = Yellow; // [1]/8 extern color mml_clr_2_8 = Red; // [2]/8 extern color mml_clr_3_8 = Green; // [3]/8 extern color mml_clr_4_8 = Blue; // [4]/8 extern color mml_clr_5_8 = Green; // [5]/8 extern color mml_clr_6_8 = Red; // [6]/8 extern color mml_clr_7_8 = Yellow; // [7]/8 extern color mml_clr_8_8 = Aqua; // [8]/8 extern color mml_clr_p_1_8 = White; // [+1]/8 extern color mml_clr_p_2_8 = White; // [+2]/8 extern int mml_wdth_m_2_8 = 2; // [-2]/8 extern int mml_wdth_m_1_8 = 1; // [-1]/8 extern int mml_wdth_0_8 = 2; // [0]/8 extern int mml_wdth_1_8 = 1; // [1]/8 extern int mml_wdth_2_8 = 1; // [2]/8 extern int mml_wdth_3_8 = 1; // [3]/8 extern int mml_wdth_4_8 = 2; // [4]/8 extern int mml_wdth_5_8 = 1; // [5]/8 extern int mml_wdth_6_8 = 1; // [6]/8 extern int mml_wdth_7_8 = 1; // [7]/8 extern int mml_wdth_8_8 = 2; // [8]/8 extern int mml_wdth_p_1_8 = 1; // [+1]/8 extern int mml_wdth_p_2_8 = 2; // [+2]/8 extern color MarkColor = Blue; extern int MarkNumber = 217; double dmml = 0, dvtl = 0, sum = 0, v1 = 0, v2 = 0, mn = 0, mx = 0, x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0, x6 = 0, y1 = 0, y2 = 0, y3 = 0, y4 = 0, y5 = 0, y6 = 0, octave = 0, fractal = 0, range = 0, finalH = 0, finalL = 0, mml[13]; string ln_txt[13], buff_str = ""; int bn_Lo = -1, bn_Hi = -1, extr_bn_Lo = -1, extr_bn_Hi = -1, OctLinesCnt = 13, mml_thk = 8, mml_clr[13], mml_wdth[13], mml_shft = 35, nT = 0, nB = 0, nP = 0, nDigits = 0, i = 0; int NewPeriod=0; int CurPeriod=0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators CurPeriod=Period(); if(MMPeriod>CurPeriod) NewPeriod = P*MathCeil(MMPeriod/CurPeriod); else NewPeriod = P; ln_txt[0] = "[-2/8]P";// "extremely overshoot [-2/8]";// [-2/8] ln_txt[1] = "[-1/8]P";// "overshoot [-1/8]";// [-1/8] ln_txt[2] = "[0/8]P";// "Ultimate Support - extremely oversold [0/8]";// [0/8] ln_txt[3] = "[1/8]P";// "Weak, Stall and Reverse - [1/8]";// [1/8] ln_txt[4] = "[2/8]P";// "Pivot, Reverse - major [2/8]";// [2/8] ln_txt[5] = "[3/8]P";// "Bottom of Trading Range - [3/8], if 10-12 bars then 40% Time. BUY Premium Zone";//[3/8] ln_txt[6] = "[4/8]P";// "Major Support/Resistance Pivotal Point [4/8]- Best New BUY or SELL level";// [4/8] ln_txt[7] = "[5/8]P";// "Top of Trading Range - [5/8], if 10-12 bars then 40% Time. SELL Premium Zone";//[5/8] ln_txt[8] = "[6/8]P";// "Pivot, Reverse - major [6/8]";// [6/8] ln_txt[9] = "[7/8]P";// "Weak, Stall and Reverse - [7/8]";// [7/8] ln_txt[10] = "[8/8]P";// "Ultimate Resistance - extremely overbought [8/8]";// [8/8] ln_txt[11] = "[+1/8]P";// "overshoot [+1/8]";// [+1/8] ln_txt[12] = "[+2/8]P";// "extremely overshoot [+2/8]";// [+2/8] //mml_shft = 3; mml_thk = 3; // Начальная установка цветов уровней октав и толщины линий mml_clr[0] = mml_clr_m_2_8; mml_wdth[0] = mml_wdth_m_2_8; // [-2]/8 mml_clr[1] = mml_clr_m_1_8; mml_wdth[1] = mml_wdth_m_1_8; // [-1]/8 mml_clr[2] = mml_clr_0_8; mml_wdth[2] = mml_wdth_0_8; // [0]/8 mml_clr[3] = mml_clr_1_8; mml_wdth[3] = mml_wdth_1_8; // [1]/8 mml_clr[4] = mml_clr_2_8; mml_wdth[4] = mml_wdth_2_8; // [2]/8 mml_clr[5] = mml_clr_3_8; mml_wdth[5] = mml_wdth_3_8; // [3]/8 mml_clr[6] = mml_clr_4_8; mml_wdth[6] = mml_wdth_4_8; // [4]/8 mml_clr[7] = mml_clr_5_8; mml_wdth[7] = mml_wdth_5_8; // [5]/8 mml_clr[8] = mml_clr_6_8; mml_wdth[8] = mml_wdth_6_8; // [6]/8 mml_clr[9] = mml_clr_7_8; mml_wdth[9] = mml_wdth_7_8; // [7]/8 mml_clr[10] = mml_clr_8_8; mml_wdth[10]= mml_wdth_8_8; // [8]/8 mml_clr[11] = mml_clr_p_1_8; mml_wdth[11]= mml_wdth_p_1_8; // [+1]/8 mml_clr[12] = mml_clr_p_2_8; mml_wdth[12]= mml_wdth_p_2_8; // [+2]/8 //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- TODO: add your code here Comment(" "); for(i=0;i<OctLinesCnt;i++) { buff_str = "mml"+i; ObjectDelete(buff_str); buff_str = "mml_txt"+i; ObjectDelete(buff_str); } //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ //========================================================================= int FindeExtrHi_bn(int n_bg, int n_nd ){ int ext_bn = -1; double ext_Hi = -10000000000000000000.0; int k = 0; int stop_bn = -1; int start_bn = -1; int cur_bn = n_bg; //Print(" FindeExtrHi_bn : n_bg = ", n_bg," n_nd = ", n_nd); if(n_bg<n_nd){ start_bn = n_bg+1; stop_bn = n_nd; //Print(" FindeExtrHi_bn (n_bg<n_nd): start_bn = ", start_bn," stop_bn = ", stop_bn); for(int j=start_bn;j<stop_bn;j++){ if( (High[j]>High[j+1])&&(High[j]>High[j-1])&&(High[j]>ext_Hi) ){ ext_bn = j; ext_Hi = High[j]; } }//for(int j=start_bn;j<stop_bn;j++){ }//if(n_bg<n_nd){ if(n_bg>n_nd){ start_bn = n_bg; stop_bn = n_nd+1; //Print(" FindeExtrHi_bn (n_bg>n_nd): start_bn = ", start_bn," stop_bn = ", stop_bn); for( j=start_bn;j>stop_bn;j--){ if( (High[j]>High[j+1])&&(High[j]>High[j-1])&&(High[j]>ext_Hi) ){ ext_bn = j; ext_Hi = High[j]; } }//for(int j=start_bn;j>stop_bn;j--){ }//if(n_bg>n_nd){ //Print(" FindeExtrHi_bn:=> ext_bn = ",ext_bn); return(ext_bn); } //========================================================================= int FindeExtrLo_bn(int n_bg, int n_nd ){ int ext_bn = -1; double ext_Lo = 10000000000000000000.0; int stop_bn = -1; int start_bn = -1; int cur_bn = n_bg; //Print(" FindeExtrLo_bn : n_bg = ", n_bg," n_nd = ", n_nd); if(n_bg<n_nd){ start_bn = n_bg+1; stop_bn = n_nd; //Print(" FindeExtrLo_bn (n_bg<n_nd): start_bn = ", start_bn," stop_bn = ", stop_bn); for(int j=start_bn;j<stop_bn;j++){ if( (Low[j]<Low[j+1])&&(Low[j]<Low[j-1])&&(Low[j]<ext_Lo) ){ ext_bn = j; ext_Lo = Low[j]; } }//for(int j=start_bn;j<stop_bn;j++){ }//if(n_bg<n_nd){ if(n_bg>n_nd){ start_bn = n_bg; stop_bn = n_nd+1; //Print(" FindeExtrLo_bn (n_bg>n_nd): start_bn = ", start_bn," stop_bn = ", stop_bn); for( j=start_bn;j>stop_bn;j--){ if( (Low[j]<Low[j+1])&&(Low[j]<Low[j-1])&&(Low[j]<ext_Lo) ){ ext_bn = j; ext_Lo = Low[j]; } }//for(int j=start_bn;j>stop_bn;j--){ }//if(n_bg>n_nd){ //Print(" FindeExtrLo_bn:=> ext_bn = ",ext_bn); return(ext_bn); } int start() { //---- TODO: add your code here if( (nT!=Time[0])||(nP!=Period())||(nB!=Bars) ) { CurPeriod=Period(); if(MMPeriod>CurPeriod) NewPeriod = P*MathCeil(MMPeriod/CurPeriod); else NewPeriod = P; //price //Print("MMLevls : NewPeriod = ",NewPeriod); if(OldVersion){ bn_Lo = Lowest(NULL,0,MODE_LOW,NewPeriod,StepBack); bn_Hi = Highest(NULL,0,MODE_HIGH,NewPeriod,StepBack); } else {// if(OldVersion){ extr_bn_Lo = FindeExtrLo_bn(NewPeriod+StepBack,StepBack); extr_bn_Hi = FindeExtrHi_bn(NewPeriod+StepBack,StepBack); if(extr_bn_Lo>=0){ bn_Lo = extr_bn_Lo; //Print("MMLevls : 1 bn_Lo = ",bn_Lo); for(int k=0;k<1;k++){ if(Low[k]<Low[extr_bn_Lo]) { bn_Lo = k; break; } } //Print("MMLevls : 2 bn_Lo = ",bn_Lo); } else bn_Lo = Lowest(NULL,0,MODE_LOW,NewPeriod,StepBack); if(extr_bn_Hi>=0){ bn_Hi = extr_bn_Hi; for(k=0;k<1;k++){ if(High[k]>High[extr_bn_Hi]) {//ошибка была здесь bn_Hi = k; // И здесь была описка break; } } } else bn_Hi = Highest(NULL,0,MODE_HIGH,NewPeriod,StepBack); // Пусть будет на всякий случай :). if(High[bn_Hi]<Low[bn_Lo]){ //Print("MM ??? HiLo :High[",bn_Hi,"] = ",High[bn_Hi]," Low",bn_Lo,"] = ",Low[bn_Lo]); bn_Lo = Lowest(NULL,0,MODE_LOW,NewPeriod,StepBack); bn_Hi = Highest(NULL,0,MODE_HIGH,NewPeriod,StepBack); } }//} else {// if(OldVersion){ //Print("MMLevls : Low[",bn_Lo,"] = ",Low[bn_Lo]," High[",bn_Hi,"] = ",High[bn_Hi]); v1 = Low[bn_Lo]; v2 = High[bn_Hi]; //determine fractal..... if( v2<=250000 && v2>25000 ) fractal=100000; else if( v2<=25000 && v2>2500 ) fractal=10000; else if( v2<=2500 && v2>250 ) fractal=1000; else if( v2<=250 && v2>25 ) fractal=100; else if( v2<=25 && v2>12.5 ) fractal=12.5; else if( v2<=12.5 && v2>6.25) fractal=12.5; else if( v2<=6.25 && v2>3.125 ) fractal=6.25; else if( v2<=3.125 && v2>1.5625 ) fractal=3.125; else if( v2<=1.5625 && v2>0.390625 ) fractal=1.5625; else if( v2<=0.390625 && v2>0) fractal=0.1953125; range=(v2-v1); //Print(" v2 = ",v2," v1 = ",v1," range = ",range ); sum=MathFloor(MathLog(fractal/range)/MathLog(2)); octave=fractal*(MathPow(0.5,sum)); mn=MathFloor(v1/octave)*octave; if( (mn+octave)>v2 ) mx=mn+octave; else mx=mn+(2*octave); // calculating xx //x2 if( (v1>=(3*(mx-mn)/16+mn)) && (v2<=(9*(mx-mn)/16+mn)) ) x2=mn+(mx-mn)/2; else x2=0; //x1 if( (v1>=(mn-(mx-mn)/8))&& (v2<=(5*(mx-mn)/8+mn)) && (x2==0) ) x1=mn+(mx-mn)/2; else x1=0; //x4 if( (v1>=(mn+7*(mx-mn)/16))&& (v2<=(13*(mx-mn)/16+mn)) ) x4=mn+3*(mx-mn)/4; else x4=0; //x5 if( (v1>=(mn+3*(mx-mn)/8))&& (v2<=(9*(mx-mn)/8+mn))&& (x4==0) ) x5=mx; else x5=0; //x3 if( (v1>=(mn+(mx-mn)/8))&& (v2<=(7*(mx-mn)/8+mn))&& (x1==0) && (x2==0) && (x4==0) && (x5==0) ) x3=mn+3*(mx-mn)/4; else x3=0; //x6 if( (x1+x2+x3+x4+x5) ==0 ) x6=mx; else x6=0; finalH = x1+x2+x3+x4+x5+x6; // calculating yy //y1 if( x1>0 ) y1=mn; else y1=0; //y2 if( x2>0 ) y2=mn+(mx-mn)/4; else y2=0; //y3 if( x3>0 ) y3=mn+(mx-mn)/4; else y3=0; //y4 if( x4>0 ) y4=mn+(mx-mn)/2; else y4=0; //y5 if( x5>0 ) y5=mn+(mx-mn)/2; else y5=0; //y6 if( (finalH>0) && ((y1+y2+y3+y4+y5)==0) ) y6=mn; else y6=0; finalL = y1+y2+y3+y4+y5+y6; for( i=0; i<OctLinesCnt; i++) { mml[i] = 0; } dmml = (finalH-finalL)/8; //Print("MMLevls : NewPeriod = ",NewPeriod," dmml = ",dmml," finalL = ",finalL); mml[0] =(finalL-dmml*2); //-2/8 for( i=1; i<OctLinesCnt; i++) { mml[i] = mml[i-1] + dmml; } for( i=0; i<OctLinesCnt; i++ ){ buff_str = "mml"+i; if(ObjectFind(buff_str) == -1) { ObjectCreate(buff_str, OBJ_HLINE, 0, Time[0], mml[i]); ObjectSet(buff_str, OBJPROP_STYLE, STYLE_SOLID); ObjectSet(buff_str, OBJPROP_COLOR, mml_clr[i]); ObjectSet(buff_str, OBJPROP_WIDTH, mml_wdth[i]); ObjectMove(buff_str, 0, Time[0], mml[i]); } else { ObjectMove(buff_str, 0, Time[0], mml[i]); } buff_str = "mml_txt"+i; if(ObjectFind(buff_str) == -1) { ObjectCreate(buff_str, OBJ_TEXT, 0, Time[mml_shft], mml_shft); ObjectSetText(buff_str, ln_txt[i], 8, "Arial", mml_clr[i]); ObjectMove(buff_str, 0, Time[mml_shft], mml[i]); } else { ObjectMove(buff_str, 0, Time[mml_shft], mml[i]); } } // for( i=1; i<=OctLinesCnt; i++ ){ string buff_str = "LR_LatestCulcBar"; if(ObjectFind(buff_str) == -1) { ObjectCreate(buff_str, OBJ_ARROW,0, Time[StepBack], Low[StepBack]-2*Point ); ObjectSet(buff_str, OBJPROP_ARROWCODE, MarkNumber); ObjectSet(buff_str, OBJPROP_COLOR, MarkColor); } else { ObjectMove(buff_str, 0, Time[StepBack], Low[StepBack]-2*Point ); } nT = Time[0]; nB = Bars; nP = Period(); }//if( (nT!=Time[0])||(nP!=Period())||(nB!=Bars) ) { //---- End Of Program return(0); } //+------------------------------------------------------------------+Buena suerte y felices tendencias.
Realmente arreglando un error más se eliminó el problema, ya que sólo la versión original de añadir código al principio de start() no solucionó el problema y estuve a punto de enviarte citas y capturas de pantalla para reproducir el problema en tu ordenador. Pero ahora no es necesario porque has resuelto completamente el problema a juzgar por mi observación del último código corregido. Moveré el nuevo código corregido a mi Asesor Experto.
¡¡¡Muchas gracias por la pronta solución del problema!!!
También hay uno de pago de Finware. No lo he probado