新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 279 1...272273274275276277278279280281282283284285286...1953 新评论 Alekseu Fedotov 2017.08.19 12:36 #2781 LSM: 我编辑了我的问题并添加了代码。有一个循环正在进行。不清楚当它在循环中发生时我将得到什么。 那里一切都很清楚。例如,在这个周期中,该指标已计数为15。5分钟的蜡烛并从15+1中取值。第16根15分钟的蜡烛。 Alekseu Fedotov 2017.08.19 12:37 #2782 LSM:我将回答我自己的问题,以防有人需要)。 这就对了。 MosheDayan 2017.08.20 14:04 #2783 下午好。请告诉我,我有一个想法,但从哪方面着手,我还 "不明白"。我有一个指标,我从服务器上的CSV文件中打开了对某个账户号码 列表的访问。从技术上讲,是否可以从列表中为一个特定的账户写一个信息,并在图表上显示这个特定用户的信息。 例如,我在CSV中指定账号,并写上 "你好...... "这样的文字,用户在图表上看到了吗?如果有可能的话,在什么方向 "挖"?谢谢你... Maxim235v34 2017.08.20 14:52 #2784 下午好,你能帮助我理解一些mql4的语法吗?我有一个想法,编写一个 趋势跟踪的EA,例如,进入一个多头头寸,止损150点,获利50点,然后如果价格达到tp,将开启一个新的买入,止损150,获利50,如果止损 失败,将执行卖出,风险/利润比与多头头寸相同。我试着用这样的逻辑写了一段代码,但是失败了,因为专家顾问在测试期间没有做任何交易。double b, difference; int ticket; int OnInit() { b=Bid; return(b); } void OnTick() { difference = Bid-b; if(OrdersTotal()==0) { if(difference==150*Point) { ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,Ask-150*Point,Ask+50*Point,0); if(difference==0){b=Bid+150*Point;} if(ticket<0) { Print("lose"); } } if(difference==200*Point){b=Bid-150*Point;} if(difference==-150*Point) { ticket=OrderSend(Symbol(),OP_SELL,1,Bid,0,Bid+150*Point,Ask-50*Point,0); if(difference==0){b=Bid-150*Point;} if(ticket<0) { Print("lose"); } } if(difference==-200*Point){b=Bid+150*Point;} } } Как самому создать советника или индикатор - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5 www.metatrader5.com Для разработки торговых систем в платформу встроен собственный язык программирования MetaQuotes Language 5 ( MQL5 ), среда разработки MetaEditor и... Vitaly Muzichenko 2017.08.20 15:07 #2785 MosheDayan:下午好。请告诉我,我有一个想法,但从哪方面着手,我还 "不明白"。我有一个指标,我从服务器上的CSV文件中打开了对某个账户号码 列表的访问。从技术上讲,是否可以从列表中为一个特定的账户写一个信息,并在图表上显示这个特定用户的信息。 例如,我在CSV中指定账号,并写上 "你好...... "这样的文字,用户在图表上看到了吗?如果有可能的话,在什么方向 "挖"?谢谢你...向服务器发送一个带有账号的后置请求IntegerToString(AccountInfoInteger(ACCOUNT_LOGIN)在服务器上将传入的号码与CSV文件中的所有行进行核对,如果有匹配的,就从文件中的这一行向终端发送一个响应。剩下的就是在终端读取服务器的响应,并在图表上显示。一般来说,这种事情在MySQL上比在文件上更容易实现。 [删除] 2017.08.20 18:45 #2786 Maxim235v34: 对了,如果不难的话,建议在这个论坛上减少行距的方法。首先写在文本文件(记事本)中 - 然后通过剪贴板复制。你会得到这样的结果double b, difference; int ticket; int OnInit() { b=Bid; return(b); } void OnTick() { difference = Bid-b; if(OrdersTotal()==0) { if(difference==150*Point) { ticket=OrderSend(Symbol(),OP_BUY,1,Ask,0,Ask-150*Point,Ask+50*Point,0); if(difference==0){b=Bid+150*Point;} if(ticket<0) { Print("lose"); } } if(difference==200*Point){b=Bid-150*Point;} if(difference==-150*Point) { ticket=OrderSend(Symbol(),OP_SELL,1,Bid,0,Bid+150*Point,Ask-50*Point,0); if(difference==0){b=Bid-150*Point;} if(ticket<0) { Print("lose"); } } if(difference==-200*Point){b=Bid+150*Point;} } } 阅读OnInit()函数 - 把光标放在它上面,然后按F1。int这个词在前面--所以这个函数返回的是一个整数值。 你试图返回的是一个双倍类型 的值。 OnInit() 的结果是由终端的运行时子系统分析的,它几乎不需要这个值。 Maxim235v34 2017.08.21 03:33 #2787 LRA:首先写在文本文件中(用记事本)--然后通过剪贴板复制。它是这样的谢谢你。值得一提的是。阅读OnInit()函数--将光标放在它上面并按下F1。int这个词在前面--所以这个函数返回一个整数值。 你试图返回一个双倍类型 的值。 OnInit() 的结果是由终端的运行时子系统分析的,它几乎不需要这个值。那么应该用什么类型的事件处理程序来实现这一点--以在程序运行开始时固定价格值,未来的计算将相对于此进行?我试着删除了int OnInit中的所有内容,并在最开始的void OnTick中加入变量varStart,写下以下代码如果(varStart==0){b=竞价。varStart=1。}结果是没有变化的。 hamsteruser 2017.08.21 05:45 #2788 有一个带指针的函数。 TickReturn *returntick(int period, int timeposition) { TickReturn *returntick = new TickReturn(); MqlRates rates[]; MqlTick last_tick; if(SymbolInfoTick(symbol,last_tick)){} else Print("SymbolInfoTick() failed, error = ",GetLastError()); //int timeposition=0; ArraySetAsSeries(rates,true); ArrayResize(rates,1); int copied=CopyRates(symbol,period,timeposition,1,rates); returntick.curtime = rates[0].time; returntick.open = rates[0].open; returntick.close = rates[0].close; returntick.high = rates[0].high; returntick.low = rates[0].low; returntick.priceask = last_tick.ask; returntick.pricebid = last_tick.bid; return(returntick); } 我仍然在另一个函数中调用它。string timeis = returntick(period, 1).curtime;我怎样才能清除背后的记忆?在delete(TickReturn);我得到一个错误的操作数除外。 Алексей Барбашин 2017.08.21 09:11 #2789 hamsteruser:有一个带指针的函数。我仍然在另一个函数中调用它。我怎样才能清除背后的记忆?在delete(TickReturn);我得到一个错误的操作数除外。如果我没有看错你的代码,TickReturn是一个类。你创建了一个指向这个类类型的变量的指针,然后你删除...这门课本身?你需要销毁这个指针,并确保它存在,而且是动态的。 hamsteruser 2017.08.21 10:34 #2790 Алексей Барбашин: 如果我没有看错你的代码,TickReturn是一个类。你已经创建了一个指向该类类型的变量的指针,但你在销毁......... 这个班级本身?你必须销毁这个指针,并确保它存在并且是动态的。*returntick也是不可破坏的。我只是对交易终端的 输出感到困惑。它告诉我它没有清除记忆。 1...272273274275276277278279280281282283284285286...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我编辑了我的问题并添加了代码。有一个循环正在进行。不清楚当它在循环中发生时我将得到什么。
我将回答我自己的问题,以防有人需要)。
下午好。
请告诉我,我有一个想法,但从哪方面着手,我还 "不明白"。
我有一个指标,我从服务器上的CSV文件中打开了对某个账户号码 列表的访问。
从技术上讲,是否可以从列表中为一个特定的账户写一个信息,并在图表上显示这个特定用户的信息。
例如,我在CSV中指定账号,并写上 "你好...... "这样的文字,用户在图表上看到了吗?如果有可能的话,在什么方向 "挖"?谢谢你...
下午好,你能帮助我理解一些mql4的语法吗?我有一个想法,编写一个 趋势跟踪的EA,例如,进入一个多头头寸,止损150点,获利50点,然后如果价格达到tp,将开启一个新的买入,止损150,获利50,如果止损 失败,将执行卖出,风险/利润比与多头头寸相同。我试着用这样的逻辑写了一段代码,但是失败了,因为专家顾问在测试期间没有做任何交易。
下午好。
请告诉我,我有一个想法,但从哪方面着手,我还 "不明白"。
我有一个指标,我从服务器上的CSV文件中打开了对某个账户号码 列表的访问。
从技术上讲,是否可以从列表中为一个特定的账户写一个信息,并在图表上显示这个特定用户的信息。
例如,我在CSV中指定账号,并写上 "你好...... "这样的文字,用户在图表上看到了吗?如果有可能的话,在什么方向 "挖"?谢谢你...
向服务器发送一个带有账号的后置请求
在服务器上将传入的号码与CSV文件中的所有行进行核对,如果有匹配的,就从文件中的这一行向终端发送一个响应。剩下的就是在终端读取服务器的响应,并在图表上显示。
一般来说,这种事情在MySQL上比在文件上更容易实现。
对了,如果不难的话,建议在这个论坛上减少行距的方法。
首先写在文本文件(记事本)中 - 然后通过剪贴板复制。你会得到这样的结果
阅读OnInit()函数 - 把光标放在它上面,然后按F1。int这个词在前面--所以这个函数返回的是一个整数值。 你试图返回的是一个双倍类型 的值。 OnInit() 的结果是由终端的运行时子系统分析的,它几乎不需要这个值。首先写在文本文件中(用记事本)--然后通过剪贴板复制。它是这样的
谢谢你。值得一提的是。
有一个带指针的函数。
我仍然在另一个函数中调用它。
我怎样才能清除背后的记忆?
在delete(TickReturn);我得到一个错误的操作数除外。
有一个带指针的函数。
我仍然在另一个函数中调用它。
我怎样才能清除背后的记忆?
在delete(TickReturn);我得到一个错误的操作数除外。
如果我没有看错你的代码,TickReturn是一个类。你创建了一个指向这个类类型的变量的指针,然后你删除...这门课本身?你需要销毁这个指针,并确保它存在,而且是动态的。
如果我没有看错你的代码,TickReturn是一个类。你已经创建了一个指向该类类型的变量的指针,但你在销毁......... 这个班级本身?你必须销毁这个指针,并确保它存在并且是动态的。
*returntick也是不可破坏的。我只是对交易终端的 输出感到困惑。它告诉我它没有清除记忆。