Aqui está um roteiro prático que eu uso o tempo todo. Ele desenha referencelinas a cada 10 pips para me ajudar a medir o movimento no mercado. Eu estava realmente frustrado tentando descobrir isso olhando os preços no lado direito da tela, então criei um roteiro. O roteiro poderia ser um bom para os iniciantes praticarem o desenho de objetos.
Fazer dele um CI não script, calcular a partir de 0 não a partir de preço próximo, desenhar somente na parte visível do gráfico (WinPriceMax() e sua irmã), atualizá-lo quando o preço ultrapassar o limite (no seu caso, intervalo de linha = 10 pips), usar OBJ_RECTANGLE em vez de OBJ_HLINE.
Ele será sincronizado em todos os gráficos abertos.
:D
Ou . . transforme-o em um Indicador . . necessita de um pouco mais de código para que seja atualizado apenas no início de uma nova barra . .
int deinit() { for (int ix = 0; ix < nLines; ix++) // delete my horizontal lines { ObjectDelete("tensLines"+ix); } return(0); } int start() { int nLines = 40; // Number of total line to draw double lineInterval = 0.0010; // Interval between lines double normPrice = NormalizeDouble(Close[1],3); // Current price is rounded to nearest "10" for (int ix = 0; ix < nLines; ix++) // Loop span number of times { if(ObjectFind("tensLines"+ix) < 0) ObjectCreate("tensLines"+ix, OBJ_HLINE, 0, 0, normPrice+((ix-(nLines/2))*lineInterval)); // Place half above and half below the current price else ObjectSet("tensLines"+ix, OBJPROP_PRICE1, normPrice+((ix-(nLines/2))*lineInterval)); ObjectSet("tensLines"+ix,OBJPROP_COLOR,DarkSlateGray); // Make the lines look better } return(0); //All done }
Faça um CI não script, calcule a partir de 0 não a partir de preço próximo, desenhe somente na parte visível do gráfico (WinPriceMax() e sua irmã), atualize-o quando o preço ultrapassar o limite (no seu caso, intervalo de linha = 10 pips), use OBJ_RECTANGLE ao invés de OBJ_HLINE.
Ele será sincronizado em todos os gráficos abertos.
:D
Tudo isso faz sentido exceto a parte "OBJ_RECTANGLE ao invés de OBJ_HLINE". Por que retângulos?
Ou . . transforme-o em um Indicador . . necessita de um pouco mais de código para que seja atualizado apenas no início de uma nova barra . .
Sim, claro - muito melhor. Diga-me, existe alguma forma de usar uma espécie de "wildcard" para coisas como o ObjectDelete? Eu gostaria de fazer algo assim, ObjectDelete("tensLines "*); em outras palavras, apagar qualquer coisa que comece com "tensLines".
Tudo isso faz sentido exceto a parte "OBJ_RECTANGLE ao invés de OBJ_HLINE". Por que retângulos?
Eu tenho essa coisa de gridy por anos, eu nunca vejo preços no lado direito de qualquer maneira, provavelmente você não gosta de retângulo, use WindowsBarsPerChart() e talvez WindowsFirstVisibleBar().
Veja na parte inferior direita do gráfico, é 25/341. Isso significa que a grade é de 25 pips e a altura do gráfico é de 341 pips.
:D
Eu tenho essa coisa de gridy por anos, eu nunca vejo preços no lado direito de qualquer maneira, provavelmente você não gosta de retângulo, use WindowsBarsPerChart() e talvez WindowsFirstVisibleBar().
Veja na parte inferior direita do gráfico, é 25/341. Isso significa que a grade é de 25 pips e a altura do gráfico é de 341 pips.
:D
Eu realmente gosto da maneira como você tem isso disposto com as barras. É fácil para os olhos. Você diz: "você nunca vê preços no lado certo de qualquer maneira". Muitas vezes me perguntei por que com apenas duas opções, comprar ou vender, tenho 50% de chances, mas estou errado 80% do tempo. ;-)
O mesmo aqui ...
:D
Na verdade, gosto da maneira como você tem isso disposto com as barras. É fácil para os olhos. Você diz: "você nunca vê preços no lado certo de qualquer maneira". Muitas vezes me perguntei por que com apenas duas opções, comprar ou vender, tenho 50% de chances, mas estou errado 80% do tempo. ;-)
urantezachy, estou apenas começando a montar seugráfico de estilo OBJ_RECTANGLE. Você mencionou "WindowsBarsPerChart() e talvez WindowsFirstVisibleBar()". Ainda estou tendo dificuldades para descobrir como fazer as barras funcionarem do lado esquerdo da tela para o lado direito. Mas eu gosto do layout! Alguma pista de como fazer isso?
Olá MisterDog,
Simples.
1. Obter a distância temporal entre uma barra e outra. Podemos conseguir isto subtraindo o tempo atual da barra com o tempo da barra anterior ou multiplicando o período com 60 segundos, escolha esta última, pois há uma lacuna de tempo na segunda-feira.
datetime Bar_Time_Gap; // or integer type Bar_Time_Gap = Time [0] - Time [1]; // or Time [7] - Time [8] or whatever Bar_Time_Gap = Period()*60;
2. WindowsFirstVisibleBar() é a barra muito à esquerda. Comece desenhando a partir dessa barra, ou melhor ainda comece desenhando a partir de n esquerda dessa barra, digamos 5 barras para a esquerda. Digamos que o retorno da WindowsFirstVisibleBar() é 20. Isso significa que a barra muito à esquerda é a barra [20], comece a desenhar a partir da barra [25] então. Na verdade, eu desenho a partir de [Barras - 1].
datetime Start; Start = Time [WindowFirstVisibleBar() + 5]; //which is the same ... Start = Time [WindowFirstVisibleBar()] - 5 * Bar_Time_Gap; //... with this one
3. WindowsBarsPerChart() é o número de barras no gráfico . Digamos que o retorno deWindowsBarsPerChart() é 35 e WindowsFirstVisibleBar() é 20. Assim, a partir da barra [0] há cerca de 15 barras de espaço vazio no lado direito. Desenhe o final desse retângulo até a barra bem direita desse espaço vazio, ou melhor ainda comece a desenhar a partir de n direita dessa barra digamos 5 barras para a direita.
datetime End; int Right_Bar = WindowBarsPerChart() - WindowFirstVisibleBar() + 5; End = Time[0] + Right_Bar * Bar_Time_Gap;
Quando uma nova barra estiver chegando, esta barra direita estará se movendo para a esquerda, então o final do retângulo será visível, e temos que desenhar isso novamente.
Espero não estar cometendo um erro aqui, pois escrevi este rápido.
:D
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Aqui está um roteiro prático que eu uso o tempo todo. Ele desenha referencelinas a cada 10 pips para me ajudar a medir o movimento no mercado. Eu estava realmente frustrado tentando descobrir isso olhando os preços no lado direito da tela, então criei um roteiro. O roteiro poderia ser um bom para os iniciantes praticarem o desenho de objetos.