Pergunta para os conhecedores - página 15

 
rid >> :

É assim que se faz:

Então você tem StopLoss == TakeProfit e não há essa opção nas condições de comparação ((

 
Acho que você tem que contar da Ask. Vender na Bid, fechar na Ask.
 

Sim, - pode muito bem ser que o Ask precise ser encerrado. Vou tentar isso.

Isto é, para vender takeprofit também pode ser de Bid.

E parar de perder - deve ser estritamente da Ask, provavelmente... parar de nivelar deve ser contado

 

Boa tarde a todos.

Aqui está uma pergunta.

Por alguma razão, o Expert Advisor (Pips, Grider) da conta real tem o hábito de parar de trabalhar de repente sem razão aparente! (DC Broko).

Às vezes isso acontece após a parada do servidor (muitas vezes acontece lá), e após a retomada das citações o Expert Advisor (ou MT4) tem que ser reiniciado e só então começa a funcionar.

Às vezes a EA pára, novamente, sem razão aparente e você precisa reiniciar o mt4 ou reinstalar a EA para "empurrá-la".

As encomendas são feitas corretamente. Eu não quero ter que fazer uma pergunta no fórum.

Não há erros no LogFile. Quem tem tido problemas com isso, por favor, informe ?

Não quero fazer uma pergunta ao Suporte Técnico no fórum para não chamar a atenção para minha conta.

 
Como simplificar o padrão do artigo "Confiando no poder dos padrões", removendo SL, TP, pedidos pendentes e suas modificações. Caso contrário, é impossível experimentar.
 
shap писал(а) >>
Como simplificar o modelo do artigo "Confiando no poder dos modelos", removendo SL, TP, pedidos pendentes e suas modificações. Caso contrário, é impossível experimentar.

Este é o quarto post com o mesmo conteúdo. >> Não é bom.

 

Boa noite. Pergunta sobre o indicador.

Estou ajustando o ventilador Gann de baixo para alto e de baixo para baixo no indicador.

Mas por alguma razão as linhas do ventilador não são dirigidas da maneira que eu quero - elas são desenhadas aleatoriamente!

Por exemplo, assim (aqui o ventilador subiu do máximo 1,4071 por alguma razão):

Eu não sei por que é assim.

Eu coloco as barras na função STRAT assim:

//задаем текущие значения ввера Ганна от минимума вверх
// и вычисляем масштаб веера
        ObjectMove( "GANNFAN_" ,0,Time[ xLOW], LOW);
        Масштаб_Веера_= MathAbs (MathSqrt(( LOW)*10000) ) ;

//задаем текущие значения ввера Ганна от максимума вниз
// и вычисляем масштаб веера
        ObjectMove( "GANNFAN" ,0,Time[ xHIGH], HIGH);
        Масштаб_Веера= (-1)* MathAbs(MathSqrt(( HIGH)*10000)  );

Por favor, diga-me por que e onde está o erro?

 

Aqui está todo o código para o indicador;

#property indicator_chart_window
//-------------------------------------------------------------------+
extern string     _  = "---- ОБЩИЕ ПАРАМЕТРЫ -----" ; 
extern int       Bars_=200;//кол-во баров для расчета формулы
extern int       TimeFr=0;//задаем тф для расчета
extern color     Цвет_Веера = DarkViolet;     
//--------------------------------------------------------------
int     xLOW, xHIGH;
double   HIGH, LOW ;
 double       Масштаб_Веера ;
 double       Масштаб_Веера_ ;
//+------------------------------------------------------------------+
int init()
  { 
//обьявляем веер Ганна от мин вверх  
ObjectCreate("GANNFAN_",OBJ_GANNFAN,0,0,0,0,0); 
//задаем флаг фонового отображения веера 
 ObjectSet("GANNFAN_", OBJPROP_BACK,1);
 //задаем цвет веера 
ObjectSet("GANNFAN_", OBJPROP_COLOR, Цвет_Веера);
//задаем толщину линий веера Ганна
ObjectSet("GANNFAN_", OBJPROP_WIDTH,2); 
 //задаем масштаб веера Ганна   
ObjectSet("GANNFAN_", OBJPROP_SCALE, Масштаб_Веера_); 

//обьявляем веер Ганна  от макс вниз 
ObjectCreate("GANNFAN",OBJ_GANNFAN,0,0,0,0,0); 
//задаем флаг фонового отображения веера 
 ObjectSet("GANNFAN", OBJPROP_BACK,1);
 //задаем цвет веера 
ObjectSet("GANNFAN", OBJPROP_COLOR, Цвет_Веера);
//задаем толщину линий веера Ганна
ObjectSet("GANNFAN", OBJPROP_WIDTH,2); 
 //задаем масштаб веера Ганна   
ObjectSet("GANNFAN", OBJPROP_SCALE, Масштаб_Веера);  
 
//задаем вертикальные линии от экстремумов 
ObjectCreate("line",OBJ_VLINE,0,0,0,0,0);//вертикальная линия от макс
ObjectSet("line", OBJPROP_BACK,1);
ObjectSet("line", OBJPROP_COLOR,Red);//цвет
ObjectSet("line", OBJPROP_WIDTH,2); //толщина линии
ObjectCreate("line_",OBJ_VLINE,0,0,0,0,0);//вертикальная линия от мин
ObjectSet("line_", OBJPROP_BACK,1);
ObjectSet("line_", OBJPROP_COLOR,Orange);//цвет
ObjectSet("line_", OBJPROP_WIDTH,2);//толщина линии 
  }//------конец функции ИНИТ

//+------------------------------------------------------------------+
int deinit() {
ObjectDelete("GANNFAN_");
ObjectDelete("GANNFAN");
ObjectDelete("line");
ObjectDelete("line_");
//if (!IsTesting()) ObjectsDeleteAll(0,OBJ_TREND);  
               }

//+------------------------------------------------------------------+

int start()
  { 
 xHIGH =  iHighest( NULL, TimeFr, MODE_HIGH, Bars_ ,1); //номер бара максимума
 HIGH =  iHigh ( NULL, TimeFr, xHIGH) ;        // ценовое значение максимума
 xLOW  =  iLowest( NULL, TimeFr, MODE_LOW, Bars_ ,1);   //номер бара минимума
 LOW  =  iLow( NULL, TimeFr, xLOW) ;            // ценовое значение минимума
//задаем текущие горизонтальные лимнии на мин и макс
//ObjectMove( "lowline" ,0,Time[ xLOW] , LOW); 
//ObjectMove("highline",0,Time[ xHIGH], HIGH); 
        
 //задаем текущие значения ввера Ганна от
// минимума и вычисляем масштаб веера
   ObjectMove( "GANNFAN_" ,0,Time[ xLOW], LOW);
   Масштаб_Веера_= MathAbs (MathSqrt(( LOW)*10000) ) ;
        
//задаем значения для отрисовки вертик линии на минимуме
   ObjectMove( "line_" ,0,Time[ xLOW],0); 
        
          
//задаем текущие значения ввера Ганна от 
//максимума вниз и вычисляем масштаб веера
   ObjectMove( "GANNFAN" ,0,Time[ xHIGH], HIGH);
   Масштаб_Веера= (-1)* MathAbs(MathSqrt(( HIGH)*10000)  );
        
 //задаем значения для отрисовки вертик линии на максимуме
 ObjectMove( "line" ,0,Time[ xHIGH],0); 


   return(0);
  }//конец функции СТАРТ
 

Olá, este é apenas meu segundo post, ou seja, um recém-chegado ao fórum, começou a aprender a língua, é claro, as perguntas abundam, e é meio difícil de aprender com os livros. Comecei com um livro didático, um respeitado membro do fórum Sergei Kovalev, e alguns dos artigos deste fórum estudaram ... Depois de muita teoria, começou a prática, criou um modelo e esboço do primeiro especialista, dividiu-o em blocos, e agora uma função após outra (completamente) para entender como funciona, acredite se você mergulhar em vez de um programador, não é fácil quebrar tudo na minha cabeça, e compreender o quê para quê. Então é o seguinte, qualquer um pode sugerir que para mim Profissionais até agora, o verdadeiro problema: Hoje eu sentei o dia todo e fui capaz de resolver o problema.

Estou executando algumas funções como um roteiro para verificar se elas compilam e quais não funcionam ou não no terminal. Levou hoje a função de pré-cálculo de barras na janela:

//+------------------------------------------------------------------+

int start()
  {
      int A = 100;
//+------------------------------------------------------------------+  
      if(Bars < A)             // Недостаточно баров
      {      
      Alert("Недостаточно баров в окне инструмента.");
      return;                  // Выход из start()
      }


  return(0);
  }
//+------------------------------------------------------------------+  

Naturalmente, a mensagem *Não sai barras suficientes*, mas em um novo tique, entendo que esta mensagem aparecerá novamente indefinidamente.

Agora eu adiciono uma variável e adiciono uma declaração de if, e em um futuro bloco de erro Bloc_Error, eu coloco uma declaração de switch e recebo isto:

int start()
  {
      int A = 100;
      bool Work=true;   
//+------------------------------------------------------------------+      
      int Bloc_Error    // Пользовательская функция
//+------------------------------------------------------------------+      
    switch()           // Преодолимые ошибки:
      {
      case 3:          // Неверные параметры:
      Work=false;
      return(0);
      }

//+------------------------------------------------------------------+ 

      if(Bars < A)   // Недостаточно баров
      {      
      Alert("Недостаточно баров в окне инструмента.");
      return;                  // Выход из start()
      }
      if( Work==false)          // Ошибка   
      {      
      Alert("Эксперт не работает.");     
      return;                  // Выход из start   
      }
//+------------------------------------------------------------------+   
  return(0);
   }
A questão é o que fiz de errado aqui na declaração de mudança, por que a mensagem *Expert não está funcionando* e para que a EA realmente pare de funcionar?????
 

"dividir e conquistar"... - não misture pontos não examinados... o ponto de erro deve ser mais fácil de identificar...

https://docs.mql4.com/ru/basis/operators/switch - tudo pode ser visto de uma só vez. até que o desenho esteja fixado em sua cabeça - use o padrão clássico. compare-o cuidadosamente - você encontrará os erros imediatamente.

Aprenda a usar o mecanismo de busca.

Após ler a documentação "sobre o assunto", encontre os textos com códigos e veja COMO eles são aplicados...

Razão: