Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 145

 
waroder:


Como entendi (espero que corretamente:))Zolotai quer pegar dados de duas declarações de loop e escrevê-los em arquivos de texto. De cada um para um arquivo separado. Depois ele quer carregar os dados desses arquivos em arrays. Em seguida, estas duas matrizes devem ser unidas em uma única matriz para que os dados de dois operadores não sejam misturados e correlacionados um com o outro por cada barra.

como esta))))


 
waroder:


como eu o entendi (espero que corretamente:)) Zolotai quer pegar dados de duas declarações de loop e escrevê-los em arquivos de texto. De cada um deles para um arquivo separado. Depois ele quer carregar os dados desses arquivos em arrays. Em seguida, estas duas matrizes devem ser unidas em uma única matriz para que os dados de dois operadores não sejam misturados e correlacionados um com o outro por cada barra.

como esta))))

Por que precisamos fundir os dados em uma matriz multidimensional? A primeira dimensão é indexada pelo tempo (barras) - o restante são dados de matriz. E classifique todos os dados na primeira dimensão da maneira que quiser.
 

Pessoas, eu preciso de ajuda, o código abaixo é executado apenas a segunda parte, quando o selltop deve ser definido, e o buyystop por alguma razão não é definido, embora todas as condições sejam cumpridas, eu não consigo nem mesmo ver o que está errado))

se (OrdersTotal()==2)

{

OrderSelect(2,SELECT_BY_TICKET);

se (OrderType()==OP_SELL)

{

OrderSelect(2,SELECT_BY_TICKET);

duplo b = OrderOpenPrice();

OrderSend(Symbol(),OP_BUYSTOP,2,b+28*Point,3,b-25*Point,b+50*Point,0,5);

}

OrderSelect(4,SELECT_BY_TICKET);

se (OrderType()==OP_BUY)

{

OrderSelect(4,SELECT_BY_TICKET);

duplo a = OrderOpenPrice();

OrderSend(Symbol(),OP_SELLSTOP,2,a-28*Point,3,a+25*Point,a-50*Point,0,6);

}

}

 

Bem, como você sabe com certeza que o pedido número 2 é uma ordem de venda, tudo que você tem que fazer é normalizar o preço, parar e tomar.

E observe os registros da EA.

 

Olá, você pode me aconselhar por favor - estou procurando uma coruja ou um roteiro:

Há um nível de ordem, há uma parada e 3 takeprofits, é necessário que quando um certo nível é alcançado, por exemplo, a primeira ordem tr é fechada por uma certa parte (definida por mim) e o restante é transferido para um nível que eu também estabeleci..:

Exemplo

ordem em 1.5800 parada 1.5750 1 posição - 1.5850 2 pontos - 1.5900 3 pontos - 1.5950, assim quando a ordem atinge 1.5850 vamos supor que 40% do lote está fechado, o restante em 1.5800 (ou seja, em bu) a 2 pontos 20% e o restante é transferido para 1.5850 e 3 pontos estão completamente fechados.

O mais importante é ser capaz de mudar os valores eu mesmo, dependendo da situação.

 
zaqwsx123:

Pessoas, eu preciso de ajuda, o código abaixo é executado apenas a segunda parte, quando o selltop deve ser definido, e o buyystop por alguma razão não é definido, embora todas as condições sejam cumpridas, eu não consigo nem mesmo ver o que está errado))

se (OrdersTotal()==2)

{

OrderSelect(2,SELECT_BY_TICKET);

se (OrderType()==OP_SELL)

{

OrderSelect(2,SELECT_BY_TICKET);

duplo b = OrderOpenPrice();

OrderSend(Symbol(),OP_BUYSTOP,2,b+28*Point,3,b-25*Point,b+50*Point,0,5);

}

OrderSelect(4,SELECT_BY_TICKET);

se (OrderType()==OP_BUY)

{

OrderSelect(4,SELECT_BY_TICKET);

duplo a = OrderOpenPrice();

OrderSend(Symbol(),OP_SELLSTOP,2,a-28*Point,3,a+25*Point,a-50*Point,0,6);

}

}

O bilhete nº 2, assim como o nº 4, só podem aparecer no testador. Isto é utopia sobre o real/demo. Ao selecionar um pedido em um bilhete, você deve primeiro certificar-se de que o pedido está selecionado, depois verificar a hora de seu fechamento. Se for == 0, isto significa que a ordem foi selecionada da lista de ordens do mercado. Se o tempo de fechamento do pedido for > 0, significa que o pedido já foi fechado e é selecionado a partir da lista de pedidos fechados. Ao enviar uma solicitação comercial ao servidor, todos os preços devem estar atualizados (o mais recente; para isso, os preços devem ser obtidos via MarketInfo() ou RefreshRates() antes de enviar a solicitação) e, em segundo lugar, todos os preços devem ser normalizados com os dígitos exatos
 
Villcommen:

Olá, você pode me aconselhar por favor - estou procurando uma coruja ou um roteiro:

Há um nível de ordem, há uma parada e 3 takeprofits, é necessário que quando um certo nível é atingido, por exemplo, a primeira ordem tr é fechada por uma certa parte (definida por mim) e o restante é transferido para um nível que eu também estabeleci..:

Exemplo

ordem em 1.5800 parada 1.5750 1 posição - 1.5850 2 pontos - 1.5900 3 pontos - 1.5950, assim quando a ordem atinge 1.5850 vamos supor que 40% do lote está fechado, o restante em 1.5800 (ou seja, em bu) a 2 pontos 20% e o restante é transferido para 1.5850 e 3 pontos estão completamente fechados.

O mais importante é ser capaz de mudar os valores eu mesmo, dependendo da situação.

Você já procurou na base do gato?
 

Rapazes, falem-me desta merda!!! Quando eu crio um novo indicador, tenho sempre um problema com a saída do buffer para o gráfico. Pareço ter escrito tudo corretamente, mas os valores não mostram nenhum.... Eu já estou exausto....

#property copyright "nikelodeon"
#property link      ""
extern int k=5;
extern int k1=8;

#property indicator_chart_window
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];
int init()
  {
SetIndexBuffer(0,Buffer2);         // Назначение массива буферу
SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2,Red);// Линия
SetIndexBuffer(1,Buffer1);// Назначение массива буферу 
SetIndexStyle (1,DRAW_LINE,STYLE_SOLID,2,Blue);// Линия
SetIndexStyle (2,DRAW_ARROW,STYLE_SOLID,1,Red);
SetIndexArrow (2,159);// Стиль линии 
SetIndexBuffer(2,Buffer3);
SetIndexEmptyValue(2,0.0);// Назначение массива буферу
SetIndexStyle (3,DRAW_ARROW,STYLE_SOLID,1,Blue);
SetIndexArrow (3,159);// Стиль линии 
SetIndexBuffer(3,Buffer4);// Назначение массива буферу 
SetIndexEmptyValue(3,0.0);
SetIndexStyle (4,DRAW_ARROW,STYLE_SOLID,2,Green);
SetIndexArrow (4,159);// Стиль линии 
SetIndexBuffer(4,Buffer5);// Назначение массива буферу 
SetIndexEmptyValue(4,0.0);
SetIndexStyle (5,DRAW_ARROW,STYLE_SOLID,2,Green);
SetIndexArrow (5,251);// Стиль линии 
SetIndexBuffer(5,Buffer6);// Назначение массива буферу 
SetIndexEmptyValue(5,0.0);
SetIndexStyle (6,DRAW_ARROW,STYLE_SOLID,2,Red);
SetIndexArrow (6,241);// Вход Бай
SetIndexBuffer(6,Buffer7);// Назначение массива буферу 
SetIndexEmptyValue(6,0.0);
SetIndexStyle (7,DRAW_ARROW,STYLE_SOLID,2,Blue);
SetIndexArrow (7,242);// Вход сел 
SetIndexBuffer(7,Buffer8);// Назначение массива буферу 
SetIndexEmptyValue(7,0.0);

   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
  int i,b,limit;
limit=Bars;
if (b!=Bars){
b=Bars;
      for(i=limit; i>=0; i--){
      
      if ((setupUP(i,4,5)==1)) {Buffer5[i+1]=Low[i+1];} else Buffer5[i+1]=0;
      if ((setupDOWN(i,4,5)==1)){Buffer5[i+1]=High[i+1];} else Buffer5[i+1]=0;
      
      
      

      }
      
  Buffer5[i+1]=Low[i+1];    
}
 
   return(0);
  }
//+------------------------------------------------------------------+


int setupUP (int i, int k, int k1)
{
int num=0;
int setUP=0;
for (i=0; i>=100; i++){
 if((Close[i+1]<Close[i+k])) {num=num+1;}
 }
 
 if (num>=k1) {
               setUP=1;
               return (setUP);     
            }
return (0);
}

int setupDOWN (int i, int k, int k1)
{
int num=0;
int setUP=0;
 if((Close[i+1]>Close[i+k])) {num=num+1;}
 if (num>k1) {
               setUP=1;
               return (setUP);     
            }

}
O que devo fazer para emitir o quinto tampão?
 
zaqwsx123:

Pessoas, eu preciso de ajuda, o código abaixo é executado apenas a segunda parte, quando o selltop deve ser definido, e o buyystop por alguma razão não é definido, embora todas as condições sejam cumpridas, eu não consigo nem mesmo ver o que está errado))

se (OrderTotal()==2)

{

...

Para inserir corretamente o código no fórum, clique em SRC

Devemos realmente usar se para selecionar o pedido

if (OrderSelect(2,SELECT_BY_TICKET))
{
  //--- действие
 
Bem, não há profissionais na minha pergunta????