[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 35

 
keep87:

double get_extrem(int n) {

   for(int i=1;;i++) {

      double ind=iCustom(Symbol(),0,"indicator_name",0,i);

      if(n>1)  

         if(ind!=0) n--;

         else

         if(ind!=0) return(ind);

      }

   }


如果你需要峰值的条数,请将函数类型改为int,并将return(ind)改为return(i)。

这是我目前正在思考的问题。所有double和 int 类型的函数总是返回具体的固定值。例如,10-1,在这种情况下,必须用这个函数以不同于我以前的方式处理条件,例如

if(FindOrders() > 1)

{

   Ordersend(...........); 

} 

在这种情况下,我们必须进行比较,比如说,对3个部落进行比较。

if (get_extrem(3) == ind)
{
   // Делаем что-то при выполнении заданного условия
}

这是符合逻辑的写法吗?也许给这个函数设置bool 类型更合理?比如:如果我们找到了第三个膝盖,那么在这个价格(低于或高于ind)我们买入或卖出。

而在这种情况下,我们将带有n个膝 关节参数的函数与这个膝关节的价格进行比较,然后呢?

 
hoz:

我此刻正在考虑这个问题。我所有的double和 int 类型的函数总是返回特定的固定值。例如,10-1,但在这种情况下,应该用这个函数执行的条件与我之前的方式不同,比如。

在这种情况下,我们必须进行比较,比如说,对3个部落进行比较。

这是符合逻辑的写法吗?也许给这个函数设置bool 类型更合理?比如:如果我们找到了第三个膝盖,我们就以一个价格(比ind 低或高)买入或卖出。

在这种情况下,我们将具有参数n膝 的函数与该膝的价格进行比较,然后呢?



double ind=iCustom(Symbol(),0,"indicator_name",0,i);

Double ind可以返回-2,-3等,甚至Pi 3.14159......。

而在这种情况下,我们是将带有n个膝 关节参数的函数与这个膝关节的价格进行比较,然后呢?这不是很清楚....

 
hoz:

我此刻正在考虑这个问题。我所有的double和 int 类型的函数总是返回特定的固定值。例如,10-1,但在这种情况下,应该用这个函数执行的条件与我之前的方式不同,比如。

在这种情况下,我们必须进行比较,比如说,对3个部落进行比较。

这是符合逻辑的写法吗?也许给这个函数设置bool 类型更合理?比如:如果我们找到了第三个膝盖,那么在这个价格(低于或高于ind)我们买入或卖出。

而在这种情况下,我们将带有n个阈值 参数的函数与这个膝盖处的价格进行比较,然后呢?



好吧,不,尝试实验......,这都是废话......。
 
Sepulca:


Double ind可以返回-2,-3等,甚至Pi 3.14159......。

而在这种情况下,我们将带有n个膝 关节参数的函数与这个膝关节的价格进行比较,然后呢?


我们为什么要突然这样做呢?Double ind 将返回一个小数......而-2,-3......是整数。而根据我的理解,Double indget_extrem(int n)参数中膝盖上的价格
 
Sepulca:



这个网站不是用来交易的...它主要致力于MQL编程。如果你注意到许多代码,他们甚至警告 "不用于真实交易"。

如果管理员发现这样的情况,我想他们就不会再去维护这个网站了......)

就像墙上的豌豆)。

我们需要的是,在任何随机选择的时间段内,有一个适当购买的例子。

是的,他们写的不是真正的贸易...那么,是什么,为什么?

为什么不展示一个真实交易的例子,而不公布策略。

或者说,在原则上没有合适的例子。

 

下午好。你能告诉我如何从相应的指标中获得Heiken Ashi(HA)Hi-Lo(振幅)参数吗?我试着处理全局变量,但我遇到了困难。在HA代码中,我以如下方式嵌入了得到

int start()

{

双重haOpen, haHigh, haLow, haClose

...

GlobalVariableGet(pip)。

......(这是带有HA计算的标准代码)。

接下来我们得到Hi-Lo烛台的参数HA

result2=MathMin(ExtMapBuffer3[pos+1],ExtMapBuffer4[pos+1])

result22=MathMax(ExtMapBuffer3[pos+1],ExtMapBuffer4[pos+1])。

result3=MathMin(Low[pos+1],result2)。

result33=MathMax(High[pos+1],result22)。

result0=result33-result3; /计算HA的振幅

GlobalVariableSet(pip,result0);/ 将振幅 分配给 globalVariableSet (pip,result0)。

pos--。

}

//----

return(0);

}

然后我就把GlobalVariableGet(pip) 插入到EA的公式中但有些地方完全不对,即pip的值不是它应该 有的。请告诉我什么是错的。或者说,对于EA的操作来说,更容易得到HA的振幅。

 
大家好。我自己是编程新手,所以请解决这个问题。

同一个账户上的多个EA,有必要开设有限的订单

例如:10个EA,但只能开5个订单,但每个货币对不能超过一个。

这是按以下方式实现的,但它并不是这样工作的。

extern int МаксКолОрдеров   = 5;

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

int ПодсчетОткрОрдеров() {
  int k=OrdersTotal();
   if (Символ=="0") Символ=Symbol();
    for (int i=МаксКолОрдеров; i<k; i++) {
     if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==Символ || Символ=="") {
       if (МагикНомер<0 || OrderMagicNumber()==МагикНомер) {
      if (OrderMagicNumber()<1) return(True);
     }
    }
   }
  }
 return;

}

//+------------------------------------------------------------------+
int start()
  {
   if(ПодсчетОткрОрдеров()==0)ПровТоргУсловий();
   }

 
evgenGX:

1.上面提示了我关于全局变量的问题,谢谢。我正在看文档,在你们的版本中,是如何做到的?

2.我希望专家顾问在达到盈利后不再进入市场,直到手动确认交易授权。


1.监测每条杠的利润水平。如果超过规定的存款比例,所有的交易就会结束。

2.查看和编辑这个专家顾问,在magik上添加过滤器和你需要的一切...


 

帮助我完成代码。我试着写了一个代码,说

-如果MA50从下到上穿过MA200,然后

-如果价格下降到МА50

-在图表上画出两条线,即支撑线和阻力线(为过去15个柱子所画)。

这就像一切都在工作,但我不能确保这些线第一次出现,然后保持在原地,它需要交易算法(和它们继续被绘制)。

我可以将它们与时间或酒吧绑定吗?

以下是代码。我需要添加什么?

#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


bool  Fact_1 = false;                    // Глобальная перемен для бай.   
bool  Fact_2 = false;                    // Глобальная перемен для бай
bool  Fact_3 = false;                    // Глобальная перемен для бай

double support;
double resist;

 int timeFrame = 5;
 int numBars = 15;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----

  ObjectsDeleteAll(); 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----


   //---------------------------------------------------------------------------
if (Fact_3==true)                            //Если событие уже..
         
                                              //..было, то выходим
     return(0);
 
//----

  //---- БЛОК ОТКРЫТИЯ  BUY--------------------------------------------------------------
 
 if (iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,2)<iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0)&&
iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,1)>=iMA(NULL,PERIOD_M5,200,0,MODE_EMA,PRICE_CLOSE,0))//если МА50 пересекает МА200 снизу вверх по M5
Fact_1 = true;       // Произошло событие 1 
//-
if (Fact_1 == true &&  Low[0]<= iMA(NULL,PERIOD_M5,50,0,MODE_EMA,PRICE_CLOSE,0))//если цена опустилась до МА50
 Fact_2 = true; // Произошло событие 2 
 if (Fact_2 == true)

{
// Определяем линии поддержки\сопротивления
  support = 10000;
  resist = 0;
 
  for(int u = 1;u<=numBars;u++)
  {
   if(support>iLow(Symbol(),timeFrame,u))
     support = iLow(Symbol(),timeFrame,u);
   if(resist<iHigh(Symbol(),timeFrame,u))
     resist = iHigh(Symbol(),timeFrame,u);
  }  
   ObjectSet("lineSupport",OBJPROP_PRICE1,support);
  ObjectSet("lineResist",OBJPROP_PRICE1,resist);
 
 }


 //----
  {
    ObjectCreate("lineSupport",OBJ_HLINE,0,0,0);
    ObjectSet("lineSupport",OBJPROP_COLOR,Blue);
   
    ObjectCreate("lineResist",OBJ_HLINE,0,0,0);
    ObjectSet("lineResist",OBJPROP_COLOR,Red);
    }
//----

//что сюда добавить что бы линии появившись, оставались на месте?




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

 

会发生什么,会发生什么,如果

买入,卖出,不指定滑点的保证金。通常是+-2点的投入。

响应是一个重新报价

而如果没有设置滑点值,是否就能保证买入?