[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 454

 

Olá!

Você poderia me dizer como levar em conta o histórico de pedidos já fechados? Gostaria de tentar uma EA que, por exemplo, após fechar uma ordem de compra StopLoss, abrirá a próxima ordem de venda. Ou, se a ordem anterior fosse fechada com lucro, para continuar negociando na mesma direção.

 
artmedia70:
É que de seu lado parece que todo o fórum deve ensiná-lo sem reservas. Mas ninguém deve ou deve fazer nada aqui. É sempre útil ler a documentação. Mais uma razão para mantê-lo à mão e necessário.

O que o faz pensar que alguém me deve alguma coisa? Se você não quer me dizer, qual é o problema? Estou forçando alguém a fazer alguma coisa, forçando-me ou mexendo comigo pessoalmente??

Ninguém deve nada a ninguém, concordo com você 100% ...

Procedo do fato de que se você faz algo, faz bem ou não o faz, se tem uma pergunta, dá uma resposta ou simplesmente passa, não, você tem que acrescentar e enviar algo de volta, e para o endereço errado....

Pelo amor de Deus, ninguém é pressionado a responder às perguntas de ninguém aqui, espero .....

 
VladislavVG:

Vladimir, você terá o direito de expressar toda essa histeria à equipe de suporte do terminal que você comprar.

Para aqueles que não sabem:

O terminal é pago pelo corretor, a partir do spread ou comissão que eu pago! Portanto, o terminal não é gratuito ....

 
VOLDEMAR:

Qual é o problema? :-)

Com cerca de 1500 posts é melhor dominar o "Forum Navigator", como recomenda o granit77... :-)

É uma BASE, ABC!!!

 
Vinin:

Traga todo o código.
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_minimum 0
#property indicator_maximum 100

int mass1[9999];
int mass2[9999];

extern bool A = false;

void init()
        {
        SetIndexBuffer(0, mass1);
        SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1);
        SetIndexBuffer(1, mass2);
        SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);
        }

void start()
        {
        int limit = Bars - IndicatorCounted();
        int i = 0, g = 0, summ = 0;
        int startbar, endbar, starttime, endtime, lowbarend, lowbarstart, highbarstart, highbarend;
        double low, high;
        int lowsum, highsum;
        starttime = iTime(Symbol(), Period(), i);
        endtime = iTime(Symbol(), Period(), i + 1);
        startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
        endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
        
        while(i < 5)
                {
                lowsum = 0;
                highsum = 0;
                if(i != 0)
                        {
                        starttime = iTime(Symbol(), Period(), i);
                        endtime = iTime(Symbol(), Period(), i + 1);
                        startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
                        endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
                        }
                        else
                        {
                        starttime = iTime(Symbol(), Period(), i);
                        endtime = iTime(Symbol(), Period(), i + 1);
                        startbar = iBarShift(Symbol(), PERIOD_M1, TimeCurrent(), false);
                        endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
                        }
                        
                //Alert(TimeToStr(starttime, TIME_DATE|TIME_MINUTES),"   ",TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES));   
                low = iLow(Symbol(), PERIOD_M1, endbar);
                high = iHigh(Symbol(), PERIOD_M1, endbar);
                lowbarend = endbar;
                highbarend = endbar;
                lowbarstart = endbar;
                highbarstart = endbar;
                
                while(endbar >= startbar)
                        {
                        if((low - iLow(Symbol(), PERIOD_M1, endbar)) / Point > 0)
                                {
                                //Alert(low, " ", iLow(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
                                low = iLow(Symbol(), PERIOD_M1, endbar);
                                lowbarstart = endbar;
                                }
                        if((iHigh(Symbol(), PERIOD_M1, endbar) - high) / Point > 0)
                                {
                                high = iHigh(Symbol(), PERIOD_M1, endbar);
                                highbarstart = endbar;
                                //Alert(high, " ", iHigh(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
                                }
                        endbar--;
                        }
                        //Alert(highbarstart, " ", highbarend, " = ", lowbarstart, " ", lowbarend);
                        
                        while(lowbarstart < lowbarend + 1)
                                {
                                lowsum = lowsum + iVolume(Symbol(), PERIOD_M1, lowbarstart);
                                lowbarstart++;
                                }
                        while(highbarstart < highbarend + 1)
                                {
                                highsum = highsum + iVolume(Symbol(), PERIOD_M1, highbarstart);
                                highbarstart++;
                                }
                        mass2[i] = lowsum;
                        mass1[i] = highsum;
                        Alert(mass2[i], " ", highsum, " ", ArraySize(mass1));
                        //Alert(mass1[i], " ", i);
                i++;
                }
        }
Dê uma olhada nisto, por favor
 
VOLDEMAR:

Para aqueles que não sabem :

O terminal é pago pelo corretor, a partir do spread ou comissão que eu pago! Portanto, o terminal não é gratuito ....

Para aqueles que pensam que sabem ;) :

Assim, o corretor pode ir ao suporte técnico com tais perguntas, já que ele as está pagando, não você )))))))))). Você pode ir ao seu corretor: você lhes paga o spread, então por que você não lhes dá um pedaço de sua mente? Ele pode lhe dar uma sessão de treinamento "gratuita"). Ao mesmo tempo, eles podem responder como funcionam os mercados, as corretoras, e quem deve o quê a quem).

Se você mesmo não entender e for preguiçoso demais para estudá-lo por si mesmo ;E em geral - diga isso aos desenvolvedores do eSignal ou TradeStation, ou aos desenvolvedores e usuários de outras plataformas e datafids pagos.

SZZY Apenas um desejo louco de confundir o pensamento desejoso com a realidade ;) ?

 
sss2019:
Aqui está.


Diga-nos o que você queria obter?
 
Vinin:

Diga-nos o que você queria alcançar?

Mostrar as linhas no gráfico de acordo com os dados das matrizes. Os alertas mostram que as matrizes estão cheias, mas as linhas não são exibidas.
 

Boa tarde.

Por favor, me avisem, oh grandes gurus!:)

É possível terminar as Linhas Fibonacci?

Eu gostaria de ver a seguinte implementação -

Após desenhar estas linhas no gráfico, o preço deste nível seria automaticamente escrito na frente dos níveis.

E mudaria automaticamente ao esticar a fibra

 
sss2019:

Exibir linhas no gráfico de acordo com os dados das matrizes. Os alertas mostram que as matrizes estão cheias, mas as linhas não são exibidas.


Algo está sendo desenhado

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_minimum 0
#property indicator_maximum 100

double mass1[];
double mass2[];

extern bool A = false;

void init() {
   SetIndexBuffer(0, mass1);
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 1);
   SetIndexBuffer(1, mass2);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 1);
}

void start() {
   int limit = Bars - IndicatorCounted();
   int i = 0, g = 0, summ = 0;
   int startbar, endbar, starttime, endtime, lowbarend, lowbarstart, highbarstart, highbarend;
   double low, high;
   int lowsum, highsum;
   starttime = iTime(Symbol(), Period(), i);
   endtime = iTime(Symbol(), Period(), i + 1);
   startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
   endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
        
   while(i < 5) {
      lowsum = 0;
      highsum = 0;
      if(i != 0) {
         starttime = iTime(Symbol(), Period(), i);
         endtime = iTime(Symbol(), Period(), i + 1);
         startbar = iBarShift(Symbol(), PERIOD_M1, starttime, false);
         endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
      }
      else
      {
         starttime = iTime(Symbol(), Period(), i);
         endtime = iTime(Symbol(), Period(), i + 1);
         startbar = iBarShift(Symbol(), PERIOD_M1, TimeCurrent(), false);
         endbar = iBarShift(Symbol(), PERIOD_M1, endtime, false);
      }
                        
      //Alert(TimeToStr(starttime, TIME_DATE|TIME_MINUTES),"   ",TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES));   
      low = iLow(Symbol(), PERIOD_M1, endbar);
      high = iHigh(Symbol(), PERIOD_M1, endbar);
      lowbarend = endbar;
      highbarend = endbar;
      lowbarstart = endbar;
      highbarstart = endbar;
                
      while(endbar >= startbar) {
         if((low - iLow(Symbol(), PERIOD_M1, endbar)) / Point > 0) {
            //Alert(low, " ", iLow(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
            low = iLow(Symbol(), PERIOD_M1, endbar);
            lowbarstart = endbar;
         }
         if((iHigh(Symbol(), PERIOD_M1, endbar) - high) / Point > 0) {
            high = iHigh(Symbol(), PERIOD_M1, endbar);
            highbarstart = endbar;
            //Alert(high, " ", iHigh(Symbol(), PERIOD_M1, endbar), " ", endbar, " ", startbar);
         }
         endbar--;
      }
      //Alert(highbarstart, " ", highbarend, " = ", lowbarstart, " ", lowbarend);
                        
      while(lowbarstart < lowbarend + 1) {
         lowsum = lowsum + iVolume(Symbol(), PERIOD_M1, lowbarstart);
         lowbarstart++;
      }
      while(highbarstart < highbarend + 1) {
         highsum = highsum + iVolume(Symbol(), PERIOD_M1, highbarstart);
         highbarstart++;
      }
      mass2[i] = lowsum;
      mass1[i] = highsum;
//      Alert(mass2[i], " ", highsum, " ", ArraySize(mass1));
      //Alert(mass1[i], " ", i);
      i++;
   }
}