uma estratégia comercial baseada na Teoria da Onda de Elliott - página 64
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
E estou gradualmente me inclinando para essa visão. Há ainda algo a ser esclarecido, a saber. Suponha, raciocínio por analogia, Fechar[] é o nível da água em um reservatório. Não temos como medir a afluência exata (chuva, numerosos rios, etc.), mas vamos estimar a afluência, pelo nível.
Quando o nível da água aumenta, tudo fica claro - a afluência será uma diferença positiva. Mas se começamos a observação em um verão seco e como conseqüência - valores negativos da mudança de nível. Afinal, uma diminuição do nível não significa que não houve entrada, apenas que houve mais vazamentos do que vazamentos. A afluência média deve ser igual ao volume liberado do reservatório a cada ano. Mais uma vez surge um certo ciclicalismo.
Quero esclarecer o que é o correto metodologicamente para tomar como influxo para o meu caso:
- Somente a diferença
- Somente a diferença modulo
- Somente a diferença positiva
Intuitivamente, entendo que o principal é determinar corretamente o influxo.
Também duvido que haja uma correlação entre Close[] e Close[i]-Close[i+1]. Uma vez tentei encontrá-lo usando métodos DSP (como teste, eu estava depurando funções para determinar a correlação e autocorrelação dos sinais no momento), o resultado do cálculo - não relacionado de forma alguma. Isto, em geral, pode ser visto a olho nu, se você olhar para a forma do sinal. Mas estes são métodos DSP, pode não ser lógico usá-los neste caso.
Além disso, não se pode reconstruir a série original apenas por Close[i]-Close[i+1] - as informações necessárias são apenas perdidas, e o cálculo do Hearst é realizado, de fato, por uma série diferente da original.
-Diferença apenas
- diferença modulo
- somente diferença positiva
Intuitivamente, entendo que o principal é determinar corretamente o fluxo de entrada.
Também duvido que haja uma correlação entre Close[] e Close[i]-Close[i+1].
...
Além disso, não se pode reconstruir a série original apenas com Close[i]-Close[i+1] - as informações necessárias são apenas perdidas, e o cálculo Hearst é realizado, de fato, por uma série diferente da original.
Eu só aceitaria a diferença. Além disso, se você tem uma boa razão, não diga que não pode usá-la :)
http://forex.kbpauk.ru/showflat.php/Cat/0/Number/120077/an/0/page/0#Post120077
E eu não sou um "digitalizador" profissional. Há três meses, encontrei um artigo elogiando o uso do DSP no comércio. Achei interessante, e decidi fazer um conjunto básico de filtros digitais. Bem, foi feito. Fui a uma livraria, escolhi dois livros mais grossos e comprei-os. Depois de ler as primeiras 200 páginas do primeiro livro que encontrei, fechei-o e, murmurando palavrões, fui buscar o poeirento livro de dois volumes de matemática.
Eu estava interessado não em comprar um produto pronto (tenho dinheiro suficiente para isso), mas em fazer o meu próprio, assumindo que enquanto estudava este campo - novas idéias surgirão. E assim aconteceu. Dentro de 3 meses, sem nenhuma distração consegui o que queria - indicadores baseados em DSP e um monte de idéias.
Mas a perfeição não conhece fronteiras....) :о))) Quero pedir aos profissionais (é mais rápido ou eu mesmo o obterei, mas mais tarde) para definir algumas especificações dos filtros existentes e escrever um filtro realmente adaptativo.
Pelo que é oferecido - ninguém os tem, quero dizer sem filtros adaptativos.
PS: E em breve chegarei aos espectros :o))))
Eu só aceitaria a diferença.
...
Estou pensando a mesma coisa. São muitos dados certos, bem... quase certos.
- Indicadores baseados em DSP e um monte de idéias.
......
Pelo que está em oferta - ninguém os tem, quero dizer sem filtros adaptativos.
PS: E em breve chegarei aos espectros :o))))
Aqui estou eu, acredito em DSP e "não um "digitalizador" profissional"
Eu uso isto:
"Pacote para análise técnica por métodos de filtragem digital
Desenvolvido graças a Keny (Oleg, Krasnoyarsk,
) e Goodman (Zyabrev Ilya, Moscou, TOPpoint@yandex.ru)
Ajuda nos testes - Tsygankov Andrey , Elizarov Oleg gypsy@mail.ru
Distribuído gratuitamente de acordo com os princípios "AS-IS".
Por favor, informe o autor sobre todas as observações e erros"
e há uma idéia não realizada de como otimizar os filtros na hora:
Não há nada de novo. Isto foi feito manualmente centenas de vezes, mas como automatizá-lo? -
Estou falando do FATL SATL (FATL-SATL, FATL SATL CD ...) e ajustando seus parâmetros
manualmente usando o analisador de espectro (incluído no pacote).
É necessária uma biblioteca que realize a análise do espectro, dando períodos de saída de
densidade máxima de sinal (série temporal). Analisando estes dados
para diferentes fragmentos de séries temporais você pode tentar adivinhar períodos, fases, coeficientes ponderados (amplitudes) de componentes harmônicos (como? Ainda não sei)
Quanto mais componentes harmônicos puderem ser determinados, mais provável é prever o desenvolvimento das séries. Isso é tudo.
Simhe. Se a previsão difere muito da realidade, podemos supor a reação
do mercado a notícias fortes. Isso é tudo.
Não um programador e não um matemático. :)
Este ramo está claramente além de minha compreensão. Já faz uma semana que estou mastigando. :(
Duas capturas de tela feitas com apenas uma diferença na configuração da versão de cálculo (OldVersion: verdadeiro e falso)
Você pode ver que a versão antiga mostra níveis habituais, enquanto a nova mostra uma falha com os mesmos parâmetros - níveis "pegajosos" de Murray. Você pode comentar sobre esta situação? Os níveis de Murray "aderidos" na nova versão do indicador são apenas uma falha técnica ou têm um significado mais profundo? Por exemplo, hoje não podem existir níveis de Murray por causa do movimento mais forte e devemos apenas esperar até que sejam corretamente calculados, por exemplo, na segunda-feira e então podemos decidir entrar no mercado? E hoje, por exemplo, se você não conseguiu entrar ontem, seria melhor ficar fora do mercado? Gostaria de ouvir sua opinião sobre este assunto.
PS: Mas agora com a nova barra a nova versão começou a exibir os mesmos níveis de Murray que a antiga. Provavelmente, é algum erro técnico da nova versão de cálculo dos níveis de Murray.
PPS: Mais duas barras vieram e os níveis da nova versão estão novamente presos juntos.
onde posso vê-lo?
google é silencioso
PS: Mas agora com a chegada do novo bar e a nova versão começou a mostrar os mesmos níveis de Murray que a antiga. Provavelmente é algum erro técnico da nova versão do cálculo dos níveis de Murray.
PPS: Mais algumas barras vieram e os níveis da nova versão estão novamente presos juntos.
Estranho - vou ficar de olho nisso - é claro que não deveria ser assim. Tenho que olhar para a inicialização das matrizes que vou verificar.
Na verdade eu não o tenho, mas não o uso como um indicador separado - acabei de incorporar o código no Expert Advisor.
HH encontrei mais um lugar onde havia uma gralha. Você estava certo - o erro é técnico. Aqui está o código corrigido:
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); } //+------------------------------------------------------------------+Boa sorte e tendências felizes.
A correção real de mais um erro eliminou o problema, pois apenas a versão original de adição de código no início do início() não resolveu o problema e eu estava prestes a enviar citações e capturas de tela para reproduzir o problema em seu computador. Mas agora isso não é necessário porque você resolveu completamente o problema, a julgar pela minha observação do último código corrigido. Transferirei o novo código corrigido para meu Conselheiro Especialista.
Muito obrigado pela pronta solução do problema!!!
Há também um pago da Finware. não o experimentei