新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 836 1...829830831832833834835836837838839840841842843...1953 新评论 Igor Makanu 2019.05.07 15:01 #8351 Alexey Viktorov:它说:"所有的权利,它说没什么,这个主题是针对MT4的,所以你不要关注它。 好了,去忙吧,这里很无聊。 KrasAleks 2019.05.07 15:11 #8352 向大家问好。生活中的好运和工作中的利润。 我正在寻求帮助(出乎意料,嗯? :) )。 在Mql,我是一个Zerobom,2天 "在主题"。如果真正的EA迫使我使用自动交易,我正试图为我的平面EA编写(从不同部分实时收集)猫头鹰,当然我已经厌倦了它:)。我为了解决另一个问题已经努力了大约10个小时,但我还是没能解决这个问题。如果有人能提供建议或例子,我们将非常感激(口头和书面,最重要的是在洗澡时)。 一般来说...有一个TC,被我成功地使用了很长一段时间。在同一工具的交易条件下,可以多方向的市场订单(无挂单)。对降低的头寸可以在交易信号下进行补仓,前提是该头寸至少下降了X个点,有时会发生,并对补仓进行补充(在相同条件下(交易信号+缩减规模))。(目前)的问题是在建立额外的头寸,即......如何检查和返回多头头寸的损失值。按照https://www.mql5.com/ru/forum/117061 的 例子, 我调整了代码,为每个位置分配了自己的Magik,但也仅此而已。如何准确选择一个已经坐下的位置并返回其损失值....:(."我的 "开仓交易代码。 //----------------- if (NumberOfPositions(Symbol(),OP_BUY, Magic)<1) { 如果(我的参赛条件){ if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP = 0; if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits); else SL = 0;ticket=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),5,SL,TP, "BUY",Magic,0,Blue); if(ticket < 0) { Print("Error while opening BUY order #", GetLastError()); }}} if(NumberOfPositions(Symbol(),OP_SELL, Magic)<1){如果(我的进入条件){ if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP = 0; if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits); else SL = 0;ticket=OrderSend(Symbol(),OP_SELL,LOT,NormalizeDouble(Bid,Digits),5,SL,TP, "SELL",Magic,0,Red)。 if(ticket < 0) { Print("Error opening SELL order #", GetLastError()); }}} //--------------- 计划使用以下代码开设更多的订单 //--------------- if (NumberOfPositions(Symbol(),OP_BUY, Magic)==1 && NumberOfPositions(Symbol(),OP_BUY, Magic_2) <1) { if (my entry conditions &&GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic)>= LEVEL_1) {ticket=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),5,SL,TP, "Extra Buy",Magic_2,0,Blue); if(ticket < 0) { Print("Error opening BUY order #", GetLastError()); }} } //--------------- 而这正是我被卡住的地方:)。用什么来代替GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic)。我想我需要使用Drawdown_level(Symbol(),OP_BUY,Magic),但如何获得它...。 请帮助我们,成为朋友。 Z.U.如果你建议,请记住,我仍然nubyara,不要太懒,给我一点更详细的,你知道,像如果。FOREST THERE,不要忘记指出方向<------ ||------>。 谢谢你的关注 :)。 код----доливаем по тренду 2009.05.07www.mql5.com Я пытался написать советник с открытием дополнительных лотов по тренду. Суть заключается вот в чем... Any questions from newcomers 我将写一个免费的mql4顾问 MQL4 Learning Alexander Layzerevich 2019.05.07 15:19 #8353 Igor Makanu:没什么,这个主题是针对MT4的,所以你不要关注它。 好了,去忙吧,这里很无聊。告诉我MT5的类似分支在哪里,我会在那里问... Artyom Trishkin 2019.05.07 15:21 #8354 Alexander Layzerevich:告诉我MT5的类似主题在哪里,我在那里问... 问在这里。这里有两种语言。 Alexander Layzerevich 2019.05.07 15:24 #8355 Alexey Viktorov:是否可以指定 突出显示的函数与函数声明没有区别。所以,在函数的输入参数中声明了该函数。在MT4中,指标的函数调用 没有错误,并按需要工作(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);)我想在MT5中也可能是这样。 请告知如何正确操作? Artyom Trishkin 2019.05.07 15:29 #8356 Alexander Layzerevich:在MT4中,指标的函数调用 没有错误,并按需要工作(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);)我想在MT5中也可能是这样。 你能告诉我如何正确操作吗? 在mql4中不可能获得信封数据 Alexander Layzerevich 2019.05.07 15:40 #8357 Artyom Trishkin: 所以不可能在mql4中获得信封数据以下是MT4的代码 //------------------------------------------------------------------- extern string Parametrs_Indicator = "Настройки Индикатора";// Настройки Индикатора extern ENUM_TIME_FRAMES TimeFrames = 5; // Временной период //------------------------------------------------------------------- int Ma_Period = 120; // Период ENUM_MA_METHOD Ma_Method = 2; // Mетод усреднения int Ma_Shift = 0; // Cдвиг средней ENUM_APPLIED_PRICE Applied_Price = 0; // Tип цены //************************************************************************************************/ int OnInit() { double Signal_Buy = iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation(TimeFrames, Kanal), 2, 0); // Сигнал на Покупку } //+------------------------------------------------------------------+ double Deviation(int Time_Frames, int _Kanal) { int Simbol = SymbolMagic(); //------------------------- if (Time_Frames == 0) Time_Frames = Period(); if (Time_Frames == 1) { if (_Kanal == 1) { switch (Simbol) { ... } } } } //+------------------------------------------------------------------+ 一切工作都很完美。我希望在MT5中也能这样 Artyom Trishkin 2019.05.07 15:44 #8358 Alexander Layzerevich:以下是MT4的代码 一切工作都很完美。我希望在MT5中也能这样 嗯,那是因为这是一个不同的代码,它将会工作。 Alexander Layzerevich 2019.05.07 16:11 #8359 Artyom Trishkin: 那是因为它是一个不同的代码,它将工作。纠正了MT5向指标发送数据的代码。 //------------------------------------------------------------------- extern string Parametrs_Indicator = "Настройки Индикатора";// Настройки Индикатора extern ENUM_TIMEFRAMES TimeFrames = PERIOD_M5; // Временной период //------------------------------------------------------------------- int Ma_Period = 120; // Период ENUM_MA_METHOD Ma_Method = MODE_SMMA; // Mетод усреднения int Ma_Shift = 0; // Cдвиг средней ENUM_APPLIED_PRICE Applied_Price = PRICE_CLOSE; // Tип цены //************************************************************************************************/ void OnTick() { double Signal_Buy = (int)Envelopes(Symbol(), TimeFrames, Ma_Period, Ma_Shift, Ma_Method, Applied_Price, 2, Deviation(1)); // Сигнал на Покупку } //************************************************************************************************/ double Envelopes(string symb, ENUM_TIMEFRAMES tf, int period, int shift, int method, int price, int buff, double Deviation(int kanal)) { double buf[1]; int handle=iEnvelopes(Symbol(), tf, period, shift, method, price, Deviation(kanal)); if(handle<0) { Print("Failed to create handle ATR, Error: ",GetLastError()); return(WRONG_VALUE); } else { if(CopyBuffer(handle,buff,0,1,buf)<0) { Print("Failed to copy data from the indicator ATR, Error: ",GetLastError()); return(WRONG_VALUE); } } return(buf[0]); } //************************************************************************************************/ 但错误是一样的。 Alexey Viktorov 2019.05.07 16:15 #8360 Alexander Layzerevich:以下是MT4的代码 //------------------------------------------------------------------- extern string Parametrs_Indicator = "Настройки Индикатора";// Настройки Индикатора extern ENUM_TIME_FRAMES TimeFrames = 5; // Временной период //------------------------------------------------------------------- int Ma_Period = 120; // Период ENUM_MA_METHOD Ma_Method = 2; // Mетод усреднения int Ma_Shift = 0; // Cдвиг средней ENUM_APPLIED_PRICE Applied_Price = 0; // Tип цены //************************************************************************************************/ int OnInit() { double Signal_Buy = iEnvelopes(Symbol(), TimeFrames, Ma_Period, Ma_Method, Ma_Shift, Applied_Price, Deviation(TimeFrames, Kanal), 2, 0); // Сигнал на Покупку } //+------------------------------------------------------------------+ double Deviation(int Time_Frames, int _Kanal) { int Simbol = SymbolMagic(); //------------------------- if (Time_Frames == 0) Time_Frames = Period(); if (Time_Frames == 1) { if (_Kanal == 1) { switch (Simbol) { ... } } } } //+------------------------------------------------------------------+ 一切工作都很完美。我希望在MT5中也能这样注意你的手。 在我之前的帖子中,你的代码中强调了这一点 double Deviation(int Time_Frames, int _Kanal) 而在这段代码中,引用的信息是一个函数声明。还强调了这一点。 而这 Deviation(TimeFrames, Kanal) 调用一个存在的用户函数。虽然这种编程方法让我无法接受,但还是可以理解的。但如何描述那段代码中的错误,我就不知道了。 1...829830831832833834835836837838839840841842843...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
它说:"所有的权利,它说
没什么,这个主题是针对MT4的,所以你不要关注它。
好了,去忙吧,这里很无聊。
向大家问好。生活中的好运和工作中的利润。
我正在寻求帮助(出乎意料,嗯? :) )。
在Mql,我是一个Zerobom,2天 "在主题"。如果真正的EA迫使我使用自动交易,我正试图为我的平面EA编写(从不同部分实时收集)猫头鹰,当然我已经厌倦了它:)。我为了解决另一个问题已经努力了大约10个小时,但我还是没能解决这个问题。如果有人能提供建议或例子,我们将非常感激(口头和书面,最重要的是在洗澡时)。
一般来说...有一个TC,被我成功地使用了很长一段时间。在同一工具的交易条件下,可以多方向的市场订单(无挂单)。对降低的头寸可以在交易信号下进行补仓,前提是该头寸至少下降了X个点,有时会发生,并对补仓进行补充(在相同条件下(交易信号+缩减规模))。(目前)的问题是在建立额外的头寸,即......如何检查和返回多头头寸的损失值。按照https://www.mql5.com/ru/forum/117061 的 例子, 我调整了代码,为每个位置分配了自己的Magik,但也仅此而已。如何准确选择一个已经坐下的位置并返回其损失值....:(.
"我的 "开仓交易代码。
//-----------------
if (NumberOfPositions(Symbol(),OP_BUY, Magic)<1)
{
如果(我的参赛条件)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits); else SL = 0;
ticket=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),5,SL,TP, "BUY",Magic,0,Blue);
if(ticket < 0) { Print("Error while opening BUY order #", GetLastError()); }
}}
if(NumberOfPositions(Symbol(),OP_SELL, Magic)<1)
{
如果(我的进入条件)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP = 0;
if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits); else SL = 0;
ticket=OrderSend(Symbol(),OP_SELL,LOT,NormalizeDouble(Bid,Digits),5,SL,TP, "SELL",Magic,0,Red)。
if(ticket < 0) { Print("Error opening SELL order #", GetLastError()); }
}}
//---------------
计划使用以下代码开设更多的订单
//---------------
if (NumberOfPositions(Symbol(),OP_BUY, Magic)==1 && NumberOfPositions(Symbol(),OP_BUY, Magic_2) <1)
{
if (my entry conditions &&GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic)>= LEVEL_1)
{
ticket=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),5,SL,TP, "Extra Buy",Magic_2,0,Blue);
if(ticket < 0) { Print("Error opening BUY order #", GetLastError()); }
} }
//---------------
而这正是我被卡住的地方:)。用什么来代替GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic)。我想我需要使用Drawdown_level(Symbol(),OP_BUY,Magic),但如何获得它...。
请帮助我们,成为朋友。
Z.U.如果你建议,请记住,我仍然nubyara,不要太懒,给我一点更详细的,你知道,像如果。FOREST THERE,不要忘记指出方向<------ ||------>。
谢谢你的关注 :)。
没什么,这个主题是针对MT4的,所以你不要关注它。
好了,去忙吧,这里很无聊。
告诉我MT5的类似分支在哪里,我会在那里问...
告诉我MT5的类似主题在哪里,我在那里问...
是否可以指定
在MT4中,指标的函数调用 没有错误,并按需要工作(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);)我想在MT5中也可能是这样。
请告知如何正确操作?
在MT4中,指标的函数调用 没有错误,并按需要工作(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff);)我想在MT5中也可能是这样。
你能告诉我如何正确操作吗?
所以不可能在mql4中获得信封数据
以下是MT4的代码
一切工作都很完美。我希望在MT5中也能这样
以下是MT4的代码
一切工作都很完美。我希望在MT5中也能这样
那是因为它是一个不同的代码,它将工作。
纠正了MT5向指标发送数据的代码。
但错误是一样的。
以下是MT4的代码
一切工作都很完美。我希望在MT5中也能这样
注意你的手。
在我之前的帖子中,你的代码中强调了这一点
而在这段代码中,引用的信息是一个函数声明。还强调了这一点。
而这
调用一个存在的用户函数。虽然这种编程方法让我无法接受,但还是可以理解的。但如何描述那段代码中的错误,我就不知道了。