int start()
{
if(iBarOfDayCalc(60)==22)
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point,"jfh",123 ); //открыть ордер
return(0);
}
// фуннкцыя------------------------
//+----------------------------------------------------------------------------+
//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Версия : 26.02.2008 |
//| Описание : Возвращает расчётный номер бара от начала суток. |
//| : Нумерация баров начинается с 1 (единица). |
//+----------------------------------------------------------------------------+
//| Параметры: |
//| tf - таймфрейм (0 - текущий таймфрейм) |
//| dt - дата и время открытия бара (0 - текущее время) |
//+----------------------------------------------------------------------------+
int iBarOfDayCalc(int tf=0, datetime dt=0) {
if (tf<=0) tf=Period();
if (dt<=0) dt=TimeCurrent();
if (tf>PERIOD_D1) {
Print("iBarOfDayCalc(): Таймфрейм должен быть меньше или равен D1");
return(0);
}
double ms=MathMod(dt/60, 1440); // количество минут от начала суток
int bd=MathFloor(ms/tf)+1; // номер бара от начала суток
return(bd);
}
我遇到了这个有趣的问题。
我写了一个微不足道的条件。
,,,
如果你的A和B价格相同,正确的条件可能是这样的
我可以有一个小的代码例子吗?
https://www.mql5.com/ru/code/10831
分数在比较之前需要进行归一化处理。
如果你的A和B的价格,正确的条件可能是这样的
非常感谢您的帮助!
我一直在对数据进行标准化处理,这就是为什么我对类似的现象感到惊讶。但显然,在写作过程中和经验上并没有考虑到一切,所以 "在比较被比较的参数之前就进行归一化 "的建议非常有效。一切工作都在持续进行。
大家晚上好。
你能告诉我为什么订单无法打开吗?
int last;
int start()
(
if (Hour( ) == 12) // 如果在TF 60上形成12小时的蜡烛
last = iBarShift (Symbol ( ),0,iTime( NULL, 0, 0)); // 记住这个蜡烛的N
if (last == 10) // 而当这个蜡烛是N10
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point, "jfh",123 ); // 打开订单。
)
return(0);
我认为iBarShift不起作用,因为iTime(NULL, 0, 0))参数 返回的时间是秒,而我需要的是D'04.04.2000 19:05'的格式。
问题1.哪个函数以D'04.04.2000 19:05'的格式返回一个蜡烛的开盘时间?
我检查过了--在这种格式下,iBarShift功能起作用,订单打开。但只有 在第一个条件缺失 的情况下才有效,如果(Hour( ) == 12) 。
问题2 为什么iBarShift在条件if(Hour( )==12)之后不起作用?
谢谢你。
大家晚上好。
你能告诉我为什么订单无法打开吗?
int last;
int start()
(
if (Hour( ) == 12) // 如果在TF 60上形成12小时的蜡烛
last = iBarShift (Symbol ( ),0,iTime( NULL, 0, 0)); // 记住这个蜡烛的N
if (last == 10) // 而当这个蜡烛是N10
int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,1,Bid-1500*Point,Bid+300*Point, "jfh",123 ); // 打开订单。
)
return(0);
我认为iBarShift不起作用,因为iTime(NULL, 0, 0))参数返回的时间是秒,而我需要的是D'04.04.2000 19:05'的格式。
问题1.哪个函数以D'04.04.2000 19:05'的格式返回一个蜡烛的开盘时间?
我检查过了--在这种格式下,iBarShift功能起作用,订单打开。但只有 在第一个条件缺失 的情况下才有效,如果(Hour( ) == 12) 。
问题2 为什么iBarShift在条件if(Hour( )==12)之后不起作用?
谢谢你。
也就是说,你(如果我没有理解错的话)在一小时框架的第22条上开了一个头寸。
也就是说,你(如果我理解正确的话)在一小时框架的第22条上开了一个头寸
在我的例子中--正是如此,即在第22支蜡烛上。
但一般来说--我想记住任何(我需要的参数)的蜡烛
并在它(记忆)后,蜡烛将被移动到一个理想的距离(即,将 - 5.6....0)。
打开一个订单。
因此,如果我没有弄错的话,金的上述功能可能对我不起作用。
因为它从一天的开始计算蜡烛,而且只用24根蜡烛操作。
我想我需要 iBarShift 函数,它可以记住任何蜡烛。
(例如,从我需要的任何蜡烛中每隔50或100根蜡烛)。
但这个功能由于某些原因我没有工作(细节我在第一个帖子中概述)
如果你能帮助我找到问题的答案,我将非常感激。
非常感谢您的参与。
下午好,请您告知如何确保在打开这个特定的头寸后,EA代码从头开始工作,当我这样做时
如果(ticketbuy>0)
{
返回。
}
我不希望它通过其他条件打开更多的订单,而我还有几个订单要打开。我还要开几个订单,谢谢你。
如果有足够的指示器缓冲区,你可以不使用对象来做这件事
如果指标是窗口化的,你如何在图表上显示箭头? 我只使用4个缓冲区
下午好,抱歉打扰了正在进行的谈话...如果你有时间......我有一个指标,可以上下拉动箭头,我需要为它做一个EA,我可以说我刚开始学习Muell,没有处理过指标。
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 blue
#property indicator_color2 Red
//---- 输入参数
Extern int NumBars=500;
//---- 缓冲区
双倍ExtMapBuffer1[]。
双倍ExtMapBuffer2[]。
双层传播。
也许有人有一个模板
如果有人知道,请告知。Forex4you上的Gepard 5.0专家顾问正在开启一些大减价的交易。我在哪里可以调整设置?