新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 312 1...305306307308309310311312313314315316317318319...1953 新评论 voron_026 2017.09.19 17:52 #3111 Aleksey Vyazmikin: 寻找函数中的错误--它没有返回向上箭头的条件。感谢Aleksey Vyazmikin,但问题更严重。当机器人找到一个模式时,它在一个坐标上设置大量的箭头。终端挂起。如何解决这个问题。你有没有试着在你的终端上运行我的专家顾问? Aleksey Vyazmikin 2017.09.19 18:20 #3112 voron_026: 感谢Aleksey Vyazmikin,但还有一个更大的问题。当机器人找到一个模式时,它在一个坐标上设置了大量的箭头。终端挂起。如何解决这个问题。你有没有试着在你的终端上运行我的专家顾问?问题首先出在函数上--我没有添加代码是有原因的。该函数是匹配的,它画出了箭头。我已经在可视化工具中启动了专家顾问。专家顾问不会在每个tick 上画箭头--只是检查新的蜡烛。 Vitaly Muzichenko 2017.09.19 18:32 #3113 voron_026: 感谢Aleksey Vyazmikin,但还有一个更大的问题。当机器人找到一个模式时,它在一个坐标上设置了大量的箭头。终端挂起。如何解决这个问题。你有没有试着在你的终端上运行我的专家顾问?如果你想得到尽可能多的人的帮助,你应该上传代码,而不是文件。不是每个人都想下载文件,然后你必须打开它,然后删除它。 voron_026 2017.09.19 19:00 #3114 所以,当一个新的蜡烛 出现时,ObjectCreate函数必须被关闭,我说的对吗? voron_026 2017.09.19 19:32 #3115 Vitaly Muzichenko:为了让尽可能多的人帮助你,你需要发布代码,而不是文件。不是每个人都想下载文件,然后你必须打开它,然后删除它,所以这是一个痛苦的过程。 收到,我把代码发给你。#property copyright "Copyright 2017,UriyGlushko" #property link "https://www.mql5.com" #property version "1.00" #property strict extern string Rodot = "Параметры робота"; extern double Lots = 0.2; extern int StopLoss = 20; extern int TakeProfit = 80; extern int Magic = 999999; extern int Slippage = 3; // Проскальзывание extern bool UseDojiCandles = true; // Использование патерна Доджи extern int TimeFrame = PERIOD_H4; int DojiCandle = 0; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if (Digits == 3 || Digits ==5 ) { TakeProfit *= 10; StopLoss *= 10; Slippage *= 10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(UseDojiCandles = true && Doji() == 1) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_UP,0,TimeCurrent(),Low[1]-300*_Point)) { Print("Не удалось создать метку вверх"); } } DojiCandle ++; if(UseDojiCandles = true && Doji() == -1) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_DOWN,0,TimeCurrent(),High[1]+300*_Point)) { Print("Не удалось создать метку вниз"); } } DojiCandle ++; } //+------------------------------------------------------------------+ // Поиск всех объектов //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // Функция паттерна Доджи //+------------------------------------------------------------------+ int Doji() { //Параметры Дожи double Open1 = iOpen(Symbol(), PERIOD_H4,1); double Close1 = iClose(Symbol(), PERIOD_H4,1); double High1 = iHigh(Symbol(), PERIOD_H4,1); double Low1 = iLow(Symbol(), PERIOD_H4,1); //Параметры предыдущей свечи double Open2 = iOpen(Symbol(), PERIOD_H4,2); double Close2 = iClose(Symbol(), PERIOD_H4,2); double High2 = iHigh(Symbol(), PERIOD_H4,2); double Low2 = iLow(Symbol(), PERIOD_H4,2); //Параметры индикатора волотильности ATR для нахожденя относительно большой свечи перед Доджи double ATR = iATR(Symbol(),PERIOD_H4,14,1); //Математическое описание патерна Дожи if(Close1 < High1 -0.3*(High1-Low1) && Open1 < High1 -0.3*(High1-Low1) && Close1 > Low1 -0.7*(High1-Low1) && Open1 > Low1 -0.7*(High1-Low1) && MathAbs((Close1-Open1) < 0.2*(High1-Low1))&& MathAbs((Close2-Open2) > 0.7*ATR)) { if((Close2 - Open2) > 0) { Print ("Down"); return(-1);// Условие для продаж } if((Close2 - Open2) < 0) { Print ("Up"); return(1);// Условие для покупок } } return(0); } Vitaly Muzichenko 2017.09.19 19:35 #3116 voron_026: 收到,铺开代码。这样试试吧。if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_UP,0,Time[0],Low[1]-300*_Point)) bashki 2017.09.19 19:50 #3117 大家好)我在VPN服务器 的账户上,我写了我账户所属服务器的地址,但这里写的是没有找到,怎么办,请帮忙,谢谢。 voron_026 2017.09.19 19:52 #3118 Vitaly Muzichenko:这样试试吧。这并不奏效。专家顾问绘制了7679个对象,有趣的是,以奇数编号的方式我不明白十字星的功能有什么问题。为什么没有画出向上的箭头 Vitaly Muzichenko 2017.09.19 20:01 #3119 voron_026: 这并不奏效。专家顾问绘制了7679个对象,有趣的是,以奇数编号的方式我不明白十字星的功能有什么问题。为什么没有画出向上的箭头你有一个搜索模式的问题。 试着在kodobase中找到正确的代码,有很多,问题会自己解决的 MQL5 Code Base www.mql5.com Библиотека исходных кодов на языке MQL5 для MetaTrader 5 voron_026 2017.09.19 20:23 #3120 Vitaly Muzichenko:你有一个寻找模式的问题,试着在kodobase中找到正确的代码,有很多这样的代码,问题会自己解决的解决了渲染大量对象的问题。我已经在新酒吧安装了检查。我得到了以下代码。//+------------------------------------------------------------------+ //| 111.mq4 | //| Copyright 2017,UriyGlushko | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2017,UriyGlushko" #property link "https://www.mql5.com" #property version "1.00" #property strict extern string Rodot = "Параметры робота"; extern double Lots = 0.2; extern int StopLoss = 20; extern int TakeProfit = 80; extern int Magic = 999999; extern int Slippage = 3; // Проскальзывание extern bool UseDojiCandles = true; // Использование патерна Доджи extern int TimeFrame = PERIOD_H4; int DojiCandle = 0; bool New_Bar = false; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if (Digits == 3 || Digits ==5 ) { TakeProfit *= 10; StopLoss *= 10; Slippage *= 10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { Fun_New_Bar(); if(UseDojiCandles = true && Doji() == 1 && New_Bar == true) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_UP,0,Time[0],Low[1]-300*_Point)) { Print("Не удалось создать метку вверх"); } } DojiCandle ++; if(UseDojiCandles = true && Doji() == -1 && New_Bar == true) { if(!ObjectCreate(ChartID(),"Doji_"+IntegerToString(DojiCandle),OBJ_ARROW_DOWN,0,Time[0],High[1]+300*_Point)) { Print("Не удалось создать метку вниз"); } } DojiCandle ++; } //+------------------------------------------------------------------+ // Поиск всех объектов //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ // Функция паттерна Доджи //+------------------------------------------------------------------+ int Doji() { //Параметры Дожи double Open1 = iOpen(Symbol(), PERIOD_H4,1); double Close1 = iClose(Symbol(), PERIOD_H4,1); double High1 = iHigh(Symbol(), PERIOD_H4,1); double Low1 = iLow(Symbol(), PERIOD_H4,1); //Параметры предыдущей свечи double Open2 = iOpen(Symbol(), PERIOD_H4,2); double Close2 = iClose(Symbol(), PERIOD_H4,2); double High2 = iHigh(Symbol(), PERIOD_H4,2); double Low2 = iLow(Symbol(), PERIOD_H4,2); //Параметры индикатора волотильности ATR для нахожденя относительно большой свечи перед Доджи double ATR = iATR(Symbol(),PERIOD_H4,14,1); //Математическое описание патерна Дожи if(Close1 < High1 -0.3*(High1-Low1) && Open1 < High1 -0.3*(High1-Low1) && Close1 > Low1 -0.7*(High1-Low1) && Open1 > Low1 -0.7*(High1-Low1) && MathAbs((Close1-Open1) < 0.2*(High1-Low1))&& MathAbs((Close2-Open2) > 0.7*ATR)) { if((Close2 - Open2) > 0) { Print ("Down"); return(-1);// Условие для продаж } if((Close2 - Open2) < 0) { Print ("Up"); return(1);// Условие для покупок } } return(0); } //+------------------------------------------------------------------+ // Функция определения нового бара //+------------------------------------------------------------------+ void Fun_New_Bar() // Ф-ия обнаружения .. { // .. нового бара static datetime New_Time=0; // Время текущего бара New_Bar=false; // Нового бара нет if(New_Time!=Time[0]) // Сравниваем время { New_Time=Time[0]; // Теперь время такое New_Bar=true; // Поймался новый бар } } 唯一的问题是,对象属性 中箭头的序列号不是1 2 3 ...以此类推,但1 850427 1083295 .....我认为计数器不能正常工作?我的问题是,如何在H4上检查一个新条形。所以,我想让机器人在H4上寻找模式,而图表可能是任何TF的? 1...305306307308309310311312313314315316317318319...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
寻找函数中的错误--它没有返回向上箭头的条件。
感谢Aleksey Vyazmikin,但问题更严重。当机器人找到一个模式时,它在一个坐标上设置大量的箭头。终端挂起。如何解决这个问题。你有没有试着在你的终端上运行我的专家顾问?
感谢Aleksey Vyazmikin,但还有一个更大的问题。当机器人找到一个模式时,它在一个坐标上设置了大量的箭头。终端挂起。如何解决这个问题。你有没有试着在你的终端上运行我的专家顾问?
问题首先出在函数上--我没有添加代码是有原因的。该函数是匹配的,它画出了箭头。我已经在可视化工具中启动了专家顾问。
专家顾问不会在每个tick 上画箭头--只是检查新的蜡烛。
感谢Aleksey Vyazmikin,但还有一个更大的问题。当机器人找到一个模式时,它在一个坐标上设置了大量的箭头。终端挂起。如何解决这个问题。你有没有试着在你的终端上运行我的专家顾问?
如果你想得到尽可能多的人的帮助,你应该上传代码,而不是文件。不是每个人都想下载文件,然后你必须打开它,然后删除它。
所以,当一个新的蜡烛 出现时,ObjectCreate函数必须被关闭,我说的对吗?
为了让尽可能多的人帮助你,你需要发布代码,而不是文件。不是每个人都想下载文件,然后你必须打开它,然后删除它,所以这是一个痛苦的过程。
收到,铺开代码。
这样试试吧。
大家好)我在VPN服务器 的账户上,我写了我账户所属服务器的地址,但这里写的是没有找到,怎么办,请帮忙,谢谢。
这样试试吧。
这并不奏效。专家顾问绘制了7679个对象,有趣的是,以奇数编号的方式
我不明白十字星的功能有什么问题。为什么没有画出向上的箭头
这并不奏效。专家顾问绘制了7679个对象,有趣的是,以奇数编号的方式
我不明白十字星的功能有什么问题。为什么没有画出向上的箭头
你有一个搜索模式的问题。 试着在kodobase中找到正确的代码,有很多,问题会自己解决的
你有一个寻找模式的问题,试着在kodobase中找到正确的代码,有很多这样的代码,问题会自己解决的
解决了渲染大量对象的问题。我已经在新酒吧安装了检查。我得到了以下代码。
唯一的问题是,对象属性 中箭头的序列号不是1 2 3 ...以此类推,但1 850427 1083295 .....我认为计数器不能正常工作?
我的问题是,如何在H4上检查一个新条形。所以,我想让机器人在H4上寻找模式,而图表可能是任何TF的?