初学者的问题 MQL4 MT4 MetaTrader 4 - 页 225

 
亲爱的程序员你好,我是mgl4的新手,你能帮助我吗?我需要一个早上开盘(9:00)的交易机器人,在获利后等待第二天的到来。你能用简单的话告诉我应该添加什么吗?
 
Nargiz Ravanova:
你好,亲爱的程序员,我是mgl4的新手,请你帮助我好吗?我需要一个在早上(9:00)开盘的交易机器人,在获得利润后等待第二天的到来。你能用简单的话告诉我在什么地方添加什么吗?

好吧,用简单的话来说,事情是这样的。

我们创建一个数据时间类型的变量,并在其中记录当前D1蜡烛的时间,当我们关闭订单并获得利润时。在打开另一个订单之前,我们用当前D1蜡烛的时间 检查这个变量的值。相应地,如果当前时间较高,我们就可以打开。否则,我们就抽烟。

 
Aleksei Stepanenko:

下面是工作代码。

注意,箭头是用后面的数字BufferDn[i+1]=画的。这是很不幸的。

哦,谢谢你,谢谢你,谢谢你,谢谢你!:))同样的,对于凡人来说,好的程序员就是魔法师!"。:))

那么,这样的指标有意义吗?我不太明白,这支箭 会有多大的追溯力?也就是说,比如说,蜡烛结束了,箭头画出来了,而在同一时刻,我们已经在新的蜡烛上进入了交易(也就是在下一个蜡烛的开始)?如果是这样,似乎很好。但是,如果它是不同的,如何不同?

Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
При создании пользовательского индикатора можно указать один из 18 типов графического построения (способа отображения на главном окне графика или в подокне графика), значения которых указаны в перечислении ENUM_DRAW_TYPE. В зависимости от стиля рисования, может потребоваться от одного до четырех буферов значений (отмеченных как INDICATOR_DATA...
 
下午好。在Prof()中,数字被设定。在ProfS()中,这些数字应该相加。你能告诉我出了什么问题以及如何解决吗?
double Prof(){
   double  Prof = ObjectDescription("Prof"+Bars(Symbol(),0));{
   ObjectCreate("Prof"+Bars(Symbol(),0),OBJ_TEXT,1,TimeCurrent(),GlobalVariableGet( Symbol()+"_vGrafEquity" ));
   ObjectSetText("Prof"+Bars(Symbol(),0),DoubleToStr(Equity[0],2),18,"Arial",clrWhite);   
   ObjectSetInteger(0,"Prof"+Bars(Symbol(),0),OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);}
    return(0);}

double ProfS(){double  ProfS;
   double  Prof1 = ObjectDescription("Prof"+Bars(Symbol(),0));
     ProfS += Prof1;{ Comment("   ",ProfS);
   ObjectCreate("ProfS",OBJ_LABEL,1,0,0);   
   ObjectSetInteger(0,"ProfS",OBJPROP_XDISTANCE,1600); 
   ObjectSetInteger(0,"ProfS",OBJPROP_YDISTANCE,30); 
   ObjectSetText("ProfS",DoubleToStr(ProfS,2),18,"Arial",clrWhite);   
   ObjectSetInteger(0,"ProfS",OBJPROP_ANCHOR,ANCHOR_RIGHT_UPPER);}
    return(0);}
 
Rustam Bikbulatov:
下午好。在Prof()中,数字被设定。在ProfS()中,这些数字应该相加。你能告诉我出了什么问题以及如何解决吗?
static double  ProfS;
 
Alekseu Fedotov:

非常感谢阿列克谢!

 
ElenkaVladi:

i是刚刚收盘的蜡烛,箭头画在i+1上。总是会有一个滞后,你应该尝试优化,看看会发生什么。

 
Aleksei Stepanenko:

i是刚刚收盘的蜡烛,箭头画在i+1上。总是会有一个滞后,你需要尝试和优化,看看会发生什么。

我正在努力)

 
下午好。你能告诉我如何找到当前价格最远的未平仓头寸,并将其关闭无论哪种货币对,哪种方式,都是如此。谢谢你。
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
makssub:
下午好。你能告诉我如何找到当前价格 最远的未平仓头寸,并将其关闭不管是哪种货币对,也不管它的走势如何。谢谢你。

在你的主题https://www.mql5.com/ru/forum/334987,你已经得到了答案。

主持人使用SBhttps://www.mql5.com/ru/docs/standardlibrary/tradeclasses

我在帮助的基础上写了一个例子

如果问题是如何关闭一个位置,同样的帮助是https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions


平仓TRADE_ACTION_DEAL 交易操作 实例

或SBhttps://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade