[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 311

 
splxgf >> :

o pedido pendente é colocado em uma linha, a questão é a que distância?

limite de venda 30 pips para cima do preço atual

limite de compra 30 pips abaixo do preço atual

 

LIM. ENCOMENDAR

extern int     Magic = 20011;
extern double  Lot=0.1;
extern int     sl    =50;     // Размер фиксированного стопа
extern int     tp  =40;    // Размер фиксированного тэйка
extern int     Шаг =30;   //расстояние от текущ. цены
double ld_Stop=0, ld_Take=0;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//-----------------------------
int start()
{
//-------------------------------------------------
if( NumberOfOrders(NULL,OP_SELLLIMIT, Magic)<1 )  {//ЕСЛИ НЕТ СЕЛЛЛИМИТА
    if ( sl!=0) ld_Stop=Ask+ sl*Point;
    if ( tp!=0) ld_Take=Ask- tp*Point;    
    OrderSend(Symbol(),OP_SELLLIMIT, Lot,Bid+ Шаг*Point,3, ld_Stop,
                                              ld_Take_"", Magic,0,Red);  
    if( ticket<0){Print("Ошибка установки ордера SELLLIMIT ",
                                          GetLastError());return(0);} 
                                                }
//----------------------------------------------------
if( NumberOfOrders(NULL,OP_BUYLIMIT, Magic)<1 )  {//ЕСЛИ НЕТ БАЙЛИМИТА 
    if ( sl!=0) ld_Stop=Bid- sl*Point;
    if ( tp!=0) ld_Take=Ask+ tp*Point;
    OrderSend(Symbol(),OP_BUYLIMIT, Lot,Ask- Шаг*Point,3, ld_Stop,
                                                ld_Take,"", Magic,0,Blue);
    if( ticket<0){Print("Ошибка установки ордера BUYLIMIT ",
                                              GetLastError());return(0);} 
                                                }
  return(0);//конец ф-и СТАРТ
}
//========================================================
//------- ф-я Возвращает количество ордеров---
int NumberOfOrders(string sy="", int op=-1, int mn=-1) {
  int i, k=OrdersTotal(), ko=0, ot; if ( sy=="0") sy=Symbol();
  for ( i=0; i< k; i++) {
    if (OrderSelect( i, SELECT_BY_POS, MODE_TRADES)) {
      ot=OrderType();
      if ( ot>1 && ot<6) {
        if ((OrderSymbol()== sy || sy=="") && ( op<0 || ot== op)) {
          if ( mn<0 || OrderMagicNumber()== mn) ko++;
        }}}}  return( ko);}                        
 
 
rid писал(а) >>

Deus nos livre de usar este truque para abrir posições! Só funciona corretamente no testador!

E online, mais da metade dos sinais de entrada serão ignorados.

Obrigado, vou levar isso em consideração.

A propósito, uma pergunta a um profissional. Eu queria verificar alguma coisa, e enquanto tirava amostras do histórico (à 1 hora) notei que os valores acima de mil barras não desistem: até 1000 eu recebo valores, e de 1001 - 0. O arquivo de citações está muito carregado. A que pode estar relacionado?

 
Odin_Takoy писал(а) >>

Obrigado, vou ter isso em mente.

A propósito, uma pergunta para os profissionais. Eu queria checar algo e enquanto recolhia amostras do histórico (no ponteiro das horas) notei que o valor não é superior a 1.000 barras: recebo valores até 1000, enquanto a partir de 1001 retorna 0. O arquivo de citações está repleto de muitos dados. Qual pode ser a razão?

Quando se trabalha com o testador ou o otimizador, apenas 1000 barras estão disponíveis. Esta é uma restrição imposta pelos desenvolvedores.

 
Vinin писал(а) >>

Somente 1000 barras estão disponíveis quando se trabalha com o testador ou o otimizador. Esta é uma restrição imposta pelos desenvolvedores.

Como posso contornar esta restrição, se não quero estar on-line durante semanas?

 
Odin_Takoy писал(а) >>

Para evitar ficar online por semanas, existe alguma forma de contornar esta restrição?

Na verdade, a idéia é colocar as citações em um arquivo e recuperá-las a partir daí.

 
Odin_Takoy писал(а) >>

Para evitar ficar online por semanas, existe alguma forma de contornar esta restrição?

A restrição se aplica apenas ao testador e otimizador. Ao trabalhar nas configurações do terminal, você especifica o número de barras a serem exibidas.

Para contornar as restrições no Testador de Estratégia, você deve fornecer uma bandeira no Consultor Especialista permitindo o comércio quando a profundidade especificada da história for atingida. Neste caso, será necessário iniciar o Expert Advisor a partir de uma data anterior.

 
Vinin писал(а) >>

A restrição se aplica apenas ao testador e otimizador. Ao trabalhar nas configurações do terminal, você especifica o número de barras a serem exibidas.

Para contornar a limitação no testador, precisamos fornecer no Expert Advisor a bandeira permitindo o comércio quando a profundidade especificada da história é atingida. Então, você precisará executar o Expert Advisor a partir de uma data anterior.

Meu entendimento é o seguinte. Lançamos o Expert Advisor com uma grande profundidade de história. As citações são salvas em arrays. E no momento certo, abordamos as matrizes formadas para a análise.

Obrigado, Victor.

Eu olho para o seu tempo - você é uma verdadeira coruja (estava brincando).

 
Odin_Takoy писал(а) >>

Vejo que, na época, você é uma coruja e tanto (estava brincando).

Eu sou uma cotovia. Eu sou um +2 de Moscou.

 

Olá como implementar: necessidade de em um determinado momento do preço de fechamento tirar duas linhas do preço, uma mais alta e outra mais baixa, digamos que o preço de 1,4784 linha foi tirado para 1,4800, e a segunda 1,4750 para terminar em 50 e 00 e na quebra da linha, definir uma ordem pendente com lucro ????????????????