向鉴赏家提问 - 页 15

 
rid >> :

这里是如何做到的。

所以你有StopLoss == TakeProfit,而在比较条件中没有这个选项((

 
我认为你必须从Ask开始计算。以买入价卖出,以卖出价收盘。
 

是的,--很可能是Ask需要被关闭。我将尝试这样做。

也就是说,卖出时的获利也可以来自竞价。

而止损--应该严格从Ask开始,可能......止损平仓应该被计算在内。

 

大家下午好。

这里有一个问题。

由于某些原因,真实账户上的专家顾问(Pips, Grider)有一个习惯,就是无缘无故地突然停止工作!这是为什么?(DC Broko)。

有时,它发生在服务器停机后(经常发生),恢复报价后,专家顾问(或MT4)必须重新启动,只有这样才能开始工作。

有时,EA也会无缘无故地停止,你需要重新启动MT4或重新安装EA来 "推动 "它。

正确下达订单。我不希望在论坛上提出一个问题。

LogFile中没有错误。谁遇到过这样的问题,请告知?

我不想在论坛上向技术支持提出问题,不希望引起人们对我的账户的注意。

 
如何通过删除SL、TP、挂单及其修改来简化《依靠模式的力量》一文中的模式。否则就不可能进行实验。
 
shap писал(а)>>
如何简化《依靠模板的力量》一文中的模板,删除SL、TP、挂单及其修改。否则就不可能进行实验。

这已经是第四个相同内容的帖子了。>> 不太好。

 

晚上好。关于该指标的问题。

我在指标中设置江恩扇形从低到高和从低到高

但由于某些原因,扇子的线条没有按照我想要的方式指向--它们是随机画出来的!"。

例如,像这样(在这里,由于某种原因,风扇从最高的1.4071向上移动)。

我不知道为什么会这样。

我在STRAT函数中是这样设置条形的。

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

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

请告诉我为什么,错误在哪里?

 

下面是该指标的所有代码。

#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);
  }//конец функции СТАРТ
 

你好,这只是我的第二个帖子,也就是说,我是论坛的新成员,开始学习语言,当然我的问题是巨大的,从书本上学习是有点困难的。我从一本教科书开始,一个受人尊敬的论坛成员谢尔盖-科瓦廖夫,以及本论坛的一些文章研究...经过很多理论,开始实践,创建了第一个专家的模板和大纲,把它分成了几块,现在一个又一个的函数解析(彻底),了解它是如何工作的,相信我,如果你是潜水员而不是程序员,要在我的脑子里分解一切,理解什么到什么,并不容易。所以事情是这样的,谁能为我建议 专业人士到目前为止,真正的问题:今天我坐了一整天,能够解决这个问题。

我把一些函数作为脚本运行,以检查它们是否编译,哪些函数在终端不工作或不工作。今天采取了窗口中条形的预计算功能。

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

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


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

很自然地,*没有足够的条数*的信息就出来了,但是在一个新的勾选中,我知道这个信息会无限期地再次出现。

现在我添加了一个变量,并添加了一个if 语句,在未来的错误块Bloc_Error ,我放了一个switch 语句,得到了这个结果。

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);
   }
问题是我在开关 语句中做错了什么,为什么没有弹出*专家不工作*的信息,而且EA实际上停止了工作?????。
 

"分而治之"...- 不要混杂未经审查的观点...错误点应该更容易识别...

https://docs.mql4.com/ru/basis/operators/switch- 一切都可以一眼看出来。直到设计在你的头脑中固定下来 - 使用经典模式。仔细比较 - 你会立即发现错误。

学习使用搜索引擎。

在阅读了 "关于这个问题 "的文件后,找到带有代码的文本,看看它们是如何应用的......