新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1517

 

大家好。伙计们,帮我把两个指标结合起来。已经坐了3天了,没有任何效果。

第一个指标显示趋势,第二个指标给我一个警报,并以箭头显示我的进入点。我需要使第二个指标只对趋势发出信号。

我正试图让他们成为一个指标,或者告诉我我做错了什么。

附加的文件:
 
jarikn:

大家好。伙计们,帮我把两个指标结合起来。已经坐了3天了,没有任何效果。

第一个指标显示趋势,第二个指标给我一个警报,并以箭头显示我的进入点。我需要使第二个指标只对趋势发出信号。

帮助我把它们变成一个整体,或者告诉我我做错了什么。

接住

附加的文件:
 

你到底在说什么? 难道没有人看文件 吗?

酒吧

要求在一个给定的区间内有多少个柱子

int  Bars( 
   string           symbol_name,     // имя символа 
   ENUM_TIMEFRAMES  timeframe,       // период 
   datetime         start_time,      // с какой даты 
   datetime         stop_time        // по какую дату 
   );

返回的值

如果给出start_time和stop_time参数,该函数返回日期范围内的条数。如果没有给定这些参数,该函数将返回总条数。

Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
 

请告诉我我做错了什么)或如何做对。


void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;

   double lo = OPEN - avg;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
  


一般来说,首先,对象在图表上被创建,但不显示,其次,虽然我把不同颜色的线,线的属性有其正确的名称,但它们的颜色在两种情况下都是红色的,在第三,我不能理解什么日期指定2点绑定,如果我想线被延续到右边,但不是一个射线?

 
MakarFX:

该功能工作正常。

试试这样的方式

并在订单关闭功能中添加余额更新

我将在白天尝试,谢谢

 
Alexey Viktorov:

我已经迷失在你的愿望和对你的建议中了......所以,也许我的建议完全偏离了主题,但对不起......

我理解你需要在一天的开始时固定余额,并计算一天中的盈亏,根据这些,你需要做出继续交易的决定......

因此,这里的决定是

如果专家顾问将在白天重新启动,你应该考虑计算今天订单的利润/亏损,同时考虑掉期和佣金,并在OnInit()中计算一天开始的余额。

我相信Makar的能力,他可以在代码中显示所有这些......。

我将在白天尝试,谢谢

 
MakarFX:

接住

就这样? 我已经绞尽脑汁想了三天))))),非常感谢。
 
MakarFX:

接住

我看了看历史,还是不一样。当趋势是买入时,它可以给出卖出的信号,反之亦然。你能告诉我哪条线要改吗? 一切都很好。非常感谢你。
 
jarikn:
我看了看历史,还是不一样。当趋势是买入时,它可能会给出卖出的信号,反之亦然。你能告诉我哪条线要改吗? 否则一切都很好。
我只是把它们合并了。
 
Алексей КоКоКо:

请告诉我我做错了什么)或者什么是正确的方法 一般来说,第一个对象是在图表上创建的,但是没有出现,在第二个中虽然我把不同颜色的线放在属性中都有自己的名字,但是它们的颜色在两种情况下都是红色的,在第三个中我不明白如果我想让线继续向右,指定一个2点锚 的日期是什么,但是不是射线?

void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;
   double lo = OPEN - avg;
   
   int shift = Period()*60*5;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data+shift,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data+shift,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }