新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1512 1...150515061507150815091510151115121513151415151516151715181519...1953 新评论 Порт-моне тв 2021.06.20 11:39 #15111 谁能建议一下下面的代码。 如果一个网格的订单被关闭(同一类型的订单超过2个),那么就停止交易,直到一天结束(或某个可以用小时、分钟设置的时间)。 算上历史上发现的相同的订单类型 还是有一定的能力的,但如何在最后停止正是不知道的。祝大家五旬节快乐) Aleksei Stepanenko 2021.06.20 11:48 #15112 Igor Makanu:不正常,8个字节发送的东西将是一个痛苦的屁股 嗯,这取决于目的,如果只是一个提醒,那么8个就够了 :) Tretyakov Rostyslav 2021.06.20 11:56 #15113 Порт-моне тв:谁能建议一下下面的代码。如果一个网格的订单被关闭(同一类型的订单超过2个),那么就停止交易,直到一天结束(或某个可以用小时、分钟设置的时间)。算上历史上发现的相同的订单类型 还是有一定的能力的,但如何在最后停止正是不知道的。祝大家五旬节快乐) //+----------------------------------------------------------------------------+ //| Подсчет ордеров | //+----------------------------------------------------------------------------+ //| -1 - Все типы ордеров | //| 0 - ордера типа BUY 3 - ордера типа SELLLIMIT | //| 1 - ордера типа SELL 4 - ордера типа BUYSTOP | //| 2 - ордера типа BUYLIMIT 5 - ордера типа SELLSTOP | //+----------------------------------------------------------------------------+ double GetCloseOrderType(int order_type) { double p = 0; for(int pos=OrdersHistoryTotal()-1;pos>=0;pos--) { if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==true) { if(OrderCloseTime()>=время начала дня) { if(OrderType()==order_type || order_type == -1) cnt++; } } } return(p); } Maxim Kuznetsov 2021.06.20 12:06 #15114 Порт-моне тв:谁能建议一下下面的代码。如果一个网格的订单被关闭(同一类型的订单超过2个),那么就停止交易,直到一天结束(或某个可以用小时、分钟设置的时间)。算上历史上发现的相同的订单类型 还是有一定的能力的,但如何在最后停止正是不知道 的。祝大家节日快乐) /// получаем время конца (по умолч.текущего) дня. То есть время последней секунды дня datetime EndOfDay(datetime tim=0) { if (tim==0) tim=TimeCurrent(); datetime dt; TimeToStruct(tim,dt); dt.hour=23; dt.min=59; dt.sec=59; return StructToTime(dt); } /// где-то в торговой логике, отрывки datetime tradeAllowedFrom; // в глобальной области .... tradeAllowedFrom=EndOfDay(); // где сетку проверяем : запрещаем торговлю до конца дня .... if (TimeCurrent()>tradeAllowedFrom) { // проверка разрешения торговли Buy(); // Sell(); } 如果我对这个问题理解正确的话,大约是这样的(原则本身) Any questions from newcomers 市场关闭 初学者的问题 MQL4 MT4 MetaTrader Igor Makanu 2021.06.20 12:11 #15115 Aleksei Stepanenko:嗯,这取决于什么目的,如果只是为了提醒自己,那么八个就够了 :) 如果你想提醒自己,最好在OnChartEvent()中抛出一个自定义事件,这样更方便,我认为。 MakarFX。 谁能建议以下代码。 如果订单的网格是CLOSE(超过2个相同的类型),那么就停止交易,直到一天结束(或一些可以设置为小时、分钟的时间)。 从一天的开始日期(今天,或从TF D1得到一个零条,或从一个日期时间的滴答时间转换)搜索订单历史。 如果在历史上至少发现一个日期大于设定日期的订单--退出函数,结果为true。 在OnTick()中,在调用这样一个带有日期参数(今天)的函数的最上方 我懒得写了,大概有十几行。 金有按日期搜索历史上的订单的功能 Tretyakov Rostyslav 2021.06.20 12:16 #15116 Порт-моне тв: 把历史算作按相同的订单类型 寻找,我还是能以某种方式管理,但如何在一天结束前停止,我不知道具体是什么。祝大家三一节快乐) bool trade_buy; bool trade_sell; if(кол-во закрытых ордеров buy>2) trade_buy=false; else trade_buy=true; if(кол-во закрытых ордеров sell>2) trade_sell=false; else trade_sell=true; Порт-моне тв 2021.06.20 12:36 #15117 Maxim Kuznetsov: /// получаем время конца (по умолч.текущего) дня. То есть время последней секунды дня datetime EndOfDay(datetime tim=0) { if (tim==0) tim=TimeCurrent(); datetime dt; TimeToStruct(tim,dt); dt.hour=23; dt.min=59; dt.sec=59; return StructToTime(dt); } /// где-то в торговой логике, отрывки datetime tradeAllowedFrom; // в глобальной области .... tradeAllowedFrom=EndOfDay(); // где сетку проверяем : запрещаем торговлю до конца дня .... if (TimeCurrent()>tradeAllowedFrom) { // проверка разрешения торговли Buy(); // Sell(); } 如果我对问题的理解是正确的,它是这样的(原则本身)。 谢谢你的及时回复,但这个 "禁止交易",我不知道如何实现,谢谢你的代码。 Порт-моне тв 2021.06.20 12:38 #15118 MakarFX: 交易卖出/交易买入--功能为!? Tretyakov Rostyslav 2021.06.20 12:53 #15119 Порт-моне тв: 交易出售/交易购买--功能如何!? //+------------------------------------------------------------------+ bool trade_buy; bool trade_sell; //+----------------------------------------------------------------------------+ //| Подсчет ордеров | //+----------------------------------------------------------------------------+ //| -1 - Все типы ордеров | //| 0 - ордера типа BUY 3 - ордера типа SELLLIMIT | //| 1 - ордера типа SELL 4 - ордера типа BUYSTOP | //| 2 - ордера типа BUYLIMIT 5 - ордера типа SELLSTOP | //+----------------------------------------------------------------------------+ double GetCloseOrderType(string symb="",int order_type) { double p = 0; if(symb=="0") symb=_Symbol; for(int pos=OrdersHistoryTotal()-1;pos>=0;pos--) { if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)==true) { if(OrderSymbol()==symb || symb=="") { if(OrderCloseTime()>=iTime(_Symbol,PERIOD_D1,0)) { if(OrderType()==order_type || order_type == -1) cnt++; } } } } return(p); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(GetCloseOrderType(_Symbol,0)>2) trade_buy=false; else trade_buy=true; if(GetCloseOrderType(_Symbol,1)>2) trade_sell=false; else trade_sell=true; //--- if(trade_buy) { твое условие открытия покупок } if(trade_sell) { твое условие открытия продаж } //--- } //+------------------------------------------------------------------+ frank2020 2021.06.20 12:54 #15120 Vitaly Muzichenko:如果有的话,那就是取自这里。 我是编程新手,不是很擅长,你能重做并提供下载吗? 1...150515061507150815091510151115121513151415151516151715181519...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谁能建议一下下面的代码。
如果一个网格的订单被关闭(同一类型的订单超过2个),那么就停止交易,直到一天结束(或某个可以用小时、分钟设置的时间)。
算上历史上发现的相同的订单类型 还是有一定的能力的,但如何在最后停止正是不知道的。祝大家五旬节快乐)
不正常,8个字节发送的东西将是一个痛苦的屁股
嗯,这取决于目的,如果只是一个提醒,那么8个就够了 :)
谁能建议一下下面的代码。
如果一个网格的订单被关闭(同一类型的订单超过2个),那么就停止交易,直到一天结束(或某个可以用小时、分钟设置的时间)。
算上历史上发现的相同的订单类型 还是有一定的能力的,但如何在最后停止正是不知道的。祝大家五旬节快乐)
谁能建议一下下面的代码。
如果一个网格的订单被关闭(同一类型的订单超过2个),那么就停止交易,直到一天结束(或某个可以用小时、分钟设置的时间)。
算上历史上发现的相同的订单类型 还是有一定的能力的,但如何在最后停止正是不知道 的。祝大家节日快乐)
/// получаем время конца (по умолч.текущего) дня. То есть время последней секунды дня
datetime EndOfDay(datetime tim=0) {
if (tim==0) tim=TimeCurrent();
datetime dt;
TimeToStruct(tim,dt);
dt.hour=23;
dt.min=59;
dt.sec=59;
return StructToTime(dt);
}
/// где-то в торговой логике, отрывки
datetime tradeAllowedFrom; // в глобальной области
....
tradeAllowedFrom=EndOfDay(); // где сетку проверяем : запрещаем торговлю до конца дня
....
if (TimeCurrent()>tradeAllowedFrom) { // проверка разрешения торговли
Buy(); // Sell();
}
如果我对这个问题理解正确的话,大约是这样的(原则本身)
嗯,这取决于什么目的,如果只是为了提醒自己,那么八个就够了 :)
如果你想提醒自己,最好在OnChartEvent()中抛出一个自定义事件,这样更方便,我认为。
MakarFX。
谁能建议以下代码。
如果订单的网格是CLOSE(超过2个相同的类型),那么就停止交易,直到一天结束(或一些可以设置为小时、分钟的时间)。
从一天的开始日期(今天,或从TF D1得到一个零条,或从一个日期时间的滴答时间转换)搜索订单历史。
如果在历史上至少发现一个日期大于设定日期的订单--退出函数,结果为true。
在OnTick()中,在调用这样一个带有日期参数(今天)的函数的最上方
我懒得写了,大概有十几行。 金有按日期搜索历史上的订单的功能
/// получаем время конца (по умолч.текущего) дня. То есть время последней секунды дня
datetime EndOfDay(datetime tim=0) {
if (tim==0) tim=TimeCurrent();
datetime dt;
TimeToStruct(tim,dt);
dt.hour=23;
dt.min=59;
dt.sec=59;
return StructToTime(dt);
}
/// где-то в торговой логике, отрывки
datetime tradeAllowedFrom; // в глобальной области
....
tradeAllowedFrom=EndOfDay(); // где сетку проверяем : запрещаем торговлю до конца дня
....
if (TimeCurrent()>tradeAllowedFrom) { // проверка разрешения торговли
Buy(); // Sell();
}
如果我对问题的理解是正确的,它是这样的(原则本身)。
交易出售/交易购买--功能如何!?
如果有的话,那就是取自这里。
我是编程新手,不是很擅长,你能重做并提供下载吗?