新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1937 1...193019311932193319341935193619371938193919401941194219431944...1953 新评论 Aleksandr Kononov 2022.03.28 16:21 #19361 VIREDS #: 所有mql4用户的好时光。我们有一个函数,它以牺牲任何方向的有利可图的头寸为代价,将一个系列中最远的亏损订单的部分按百分比关闭。我们需要帮助,以最终确定这一功能!也就是说,我们需要部分关闭系列中的所有剩余订单(由于任何方向的盈利头寸),而不是最长的那一个。提前感谢!我 已经在这个功能上挣扎了大约2个月。有如此多的细微差别。特别是这句话 ProfitPer=OrderProfit()+OrderCommission()+OrderSwap();//ПРОФИТ ОДНОГО ОРДЕРА当网格中存在大量订单时,它在关闭时给出了一个总的损失,尽管它应该将所有的订单关闭在零点。我最终完全取消了佣金和互换。double spreadLoss =(MarketInfo(_Symbol,MODE_TICKVALUE)* MarketInfo(_Symbol,MODE_SPREAD)); Aleksandr Kononov 2022.03.28 16:36 #19362 然后在函数中,你可以为每个订单乘以lot/lotstep,但我只是做了一个乘法器 Aleksandr Kononov 2022.03.28 16:50 #19363 而在OrderClose()之前,他们忘记了(!) Сергей Груздев 2022.03.29 07:04 #19364 下午好。由于目前的情况,请您告知如何支付 MQL4服务的费用? DanilaMactep 2022.03.29 09:08 #19365 大家下午好。我有一个指标,当信号出现时在图表上画一个箭头。事实证明,所有这些箭头都放在图表上的历史上,你可以评估信号的潜力。 我试图附加一个警报,以提示信号的发生。我在指标中发现了一个功能,当信号出现时,会画出箭头。 void SetDivergenceUP(string sy, int work_period, int wnd, string name_ind, string pattern, const datetime &time[], int index, datetime left_time, double left_point, datetime time_b, double ind_b, datetime last_prc_tm, double last_prc_val, datetime time_extr, datetime &last_time_gv, double price_extr, double &Buffer[]) { double atr=iATR(sy,PERIOD_CURRENT,14,index); color line_color=clrNONE; string nm="", gv_name=""; if(name_ind=="AO") {line_color=ColorUpperAO; gv_name=GV_nameCTS;} else if(name_ind=="MACD") {line_color=ColorUpperMACD; gv_name=GV_nameCTS;} else if(name_ind=="RSI") {line_color=ColorUpperRSI; gv_name=GV_nameCTS;} else {line_color=ColorUpperSTO; gv_name=GV_nameCTS;} //--- поставим сигнальную стрелку на график цены и запишем сигнал для CTS и его время //int bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),time_extr); int bar_extr=GetBarShift(sy,PERIOD_CURRENT,time_extr); //Buffer[bar_extr]=GetPriceHigh(sy,Period(),bar_extr); Buffer[index]=GetPriceHigh(sy,Period(),index)+atr*shiftArrow; if(ModeSignalsCTS==enBoth || ModeSignalsCTS==enSell) { GlobalVariableSet(gv_name,-1.0); last_time_gv=time[index]; } //--- соединим линией ближайшие точки экстремумов цены int last_bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),last_prc_tm); nm=Prefix+"P"+name_ind+"divUpper"+TimeToString(time_b); SetTLine(0,nm,line_color,0,last_prc_tm,last_prc_val,time_extr,price_extr,widthChartLine,pattern+" "+name_ind+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period))); //--- если есть окно индикатора, соединим линией ближайшие точки экстремумов индикатора if(wnd>0) { nm=Prefix+name_ind+"divUpper"+TimeToString(time_b); SetTLine(0,nm,line_color,wnd,left_time,left_point,time_b,ind_b,widthIndicatorstLine,pattern+" "+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period))); } }我在这个函数的结尾处 添加了一行,以生成警报。我用颜色突出了添加的那一行;-)void SetDivergenceUP(string sy, int work_period, int wnd, string name_ind, string pattern, const datetime &time[], int index, datetime left_time, double left_point, datetime time_b, double ind_b, datetime last_prc_tm, double last_prc_val, datetime time_extr, datetime &last_time_gv, double price_extr, double &Buffer[]) { double atr=iATR(sy,PERIOD_CURRENT,14,index); color line_color=clrNONE; string nm="", gv_name=""; if(name_ind=="AO") {line_color=ColorUpperAO; gv_name=GV_nameCTS;} else if(name_ind=="MACD") {line_color=ColorUpperMACD; gv_name=GV_nameCTS;} else if(name_ind=="RSI") {line_color=ColorUpperRSI; gv_name=GV_nameCTS;} else {line_color=ColorUpperSTO; gv_name=GV_nameCTS;} //--- поставим сигнальную стрелку на график цены и запишем сигнал для CTS и его время //int bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),time_extr); int bar_extr=GetBarShift(sy,PERIOD_CURRENT,time_extr); //Buffer[bar_extr]=GetPriceHigh(sy,Period(),bar_extr); Buffer[index]=GetPriceHigh(sy,Period(),index)+atr*shiftArrow; if(ModeSignalsCTS==enBoth || ModeSignalsCTS==enSell) { GlobalVariableSet(gv_name,-1.0); last_time_gv=time[index]; } //--- соединим линией ближайшие точки экстремумов цены int last_bar_extr=Bars(sy,PERIOD_CURRENT,TimeCurrent(),last_prc_tm); nm=Prefix+"P"+name_ind+"divUpper"+TimeToString(time_b); SetTLine(0,nm,line_color,0,last_prc_tm,last_prc_val,time_extr,price_extr,widthChartLine,pattern+" "+name_ind+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period))); //--- если есть окно индикатора, соединим линией ближайшие точки экстремумов индикатора if(wnd>0) { nm=Prefix+name_ind+"divUpper"+TimeToString(time_b); SetTLine(0,nm,line_color,wnd,left_time,left_point,time_b,ind_b,widthIndicatorstLine,pattern+" "+(work_period==Period()?"":"\nна периоде "+GetNameTF(work_period))); } Alert("ДИВЕРГЕНЦИЯ НА "+Symbol()); } 警报器正在工作,测试器中一切正常。但是,当我启动终端,如果图表上有一个指标,它发出的哔哔声和信息与历史上的箭头一样多J 我应该怎么做,如何使警报只在终端开启时收到最后一个信号时发出,而历史上的箭头是无声的? Valeriy Yastremskiy 2022.03.29 09:43 #19366 DanilaMactep #:大家下午好。我有一个指标,当信号出现时在图表上画一个箭头。事实证明,所有这些箭头都放在图表上的历史上,你可以评估信号的潜力。 我试图附加一个警报,以提示信号的发生。我在指标中发现了一个功能,当信号出现时,会画出箭头。 我在这个函数的结尾处 添加了一行,以生成警报。我用颜色突出了添加的那一行;-) 警报器正在工作,测试器中一切正常。但是,当我启动终端,如果图表上有一个指标,它产生的音频信号和信息与历史上的箭头一样多J 我应该怎么做,我应该如何使警报只在终端打开时的最后一个信号,而历史上的箭头是沉默的? 只在第一条或零条上发出警报。 Roman Shiredchenko 2022.03.29 09:55 #19367 同事们--组织问题。 我的电脑上C盘的空闲空间,我在MT4和MT5上测试和优化博览会的地方变得稀少......就像我的电脑上220个剩余的30GB...... 我怀疑空间被机器人早期工作或正在测试的日志,以及不同终端和MT4和MT5上不同符号的历史记录所占用--我很感兴趣。 如何才能清除符号历史(按符号的刻度)和终端 在不同文件夹中的日志(总共不多,大约5个)。 有点像以前在MT 4上有一个神奇的文件clear.bat。 一般来说,需要选项来清除不同文件夹中的历史人物(他们的蜱虫)和日志下的空间。桌面上的所有快捷方式都是MT4和MT5。有点像。 一般来说,清除过去的测试(符号刻度历史)和交易(其日志)的磁盘空间。 至少在哪里可以读到如何清理和删除哪些文件夹,以及MT4和MT5 - 它们的位置... Sps. ALEKSANDR SOKOLOV 2022.03.29 10:53 #19368 你能给我一个提示吗? 通过iCustom的专家顾问使用一个指标,但在每一个tick 上都有这样的错误记录。 能否在不编辑指标的情况下解决这个问题? 如果可以,如何解决? Artyom Trishkin 2022.03.29 11:05 #19369 ALEKSANDR SOKOLOV 每一个tick 上都有这样的错误记录。 能否在不编辑指标的情况下解决这个问题? 如果可以,如何解决? 如果与专家顾问分开运行的指标没有产生这样的记录,那么请检查在专家顾问中调用iCustom()时,指标参数是否被正确指定。 Valeriy Yastremskiy 2022.03.29 11:12 #19370 Roman Shiredchenko 终端 在不同文件夹中的日志(总共不多,约5个)。 有点像以前在MT 4上有一个神奇的文件clear.bat。 一般来说,需要选项来清除不同文件夹中的历史人物(他们的蜱虫)和日志下的空间。桌面上的所有快捷方式都是MT4和MT5。有点像。 一般来说,清除过去的测试(符号刻度历史)和交易(其日志)的磁盘空间。至少在哪里可以读到如何清理和删除哪些文件夹,以及MT4和MT5 - 它们的位置...谢谢。 这台电脑有多旧,什么时候清理过本地文件夹、临时文件夹和服务英特尔或其他制造商文件夹中的系统日志。在一台只有浏览器和办公室的10年老电脑上,它用管理员下面的sikliner取出了近100G。在我的英特尔文件夹中,我发现了25gb。 历史文件夹中的虱子。例如,从binans的所有字符中也有25GB。 而且共享和mcl文件夹中的日志也被检查出来。如果你拆掉原木,就不会影响任何东西。但是,如果你拿下了蜱虫,你可能要等待合适的蜱虫被加载。 1...193019311932193319341935193619371938193919401941194219431944...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
所有mql4用户的好时光。我们有一个函数,它以牺牲任何方向的有利可图的头寸为代价,将一个系列中最远的亏损订单的部分按百分比关闭。我们需要帮助,以最终确定这一功能!也就是说,我们需要部分关闭系列中的所有剩余订单(由于任何方向的盈利头寸),而不是最长的那一个。提前感谢!
ProfitPer=OrderProfit()+OrderCommission()+OrderSwap();//ПРОФИТ ОДНОГО ОРДЕРА
当网格中存在大量订单时,它在关闭时给出了一个总的损失,尽管它应该将所有的订单关闭在零点。我最终完全取消了佣金和互换。
大家下午好。我有一个指标,当信号出现时在图表上画一个箭头。事实证明,所有这些箭头都放在图表上的历史上,你可以评估信号的潜力。
我试图附加一个警报,以提示信号的发生。我在指标中发现了一个功能,当信号出现时,会画出箭头。
我在这个函数的结尾处 添加了一行,以生成警报。我用颜色突出了添加的那一行;-)
警报器正在工作,测试器中一切正常。但是,当我启动终端,如果图表上有一个指标,它发出的哔哔声和信息与历史上的箭头一样多J 我应该怎么做,如何使警报只在终端开启时收到最后一个信号时发出,而历史上的箭头是无声的?大家下午好。我有一个指标,当信号出现时在图表上画一个箭头。事实证明,所有这些箭头都放在图表上的历史上,你可以评估信号的潜力。
我试图附加一个警报,以提示信号的发生。我在指标中发现了一个功能,当信号出现时,会画出箭头。
我在这个函数的结尾处 添加了一行,以生成警报。我用颜色突出了添加的那一行;-)
警报器正在工作,测试器中一切正常。但是,当我启动终端,如果图表上有一个指标,它产生的音频信号和信息与历史上的箭头一样多J 我应该怎么做,我应该如何使警报只在终端打开时的最后一个信号,而历史上的箭头是沉默的?同事们--组织问题。
我的电脑上C盘的空闲空间,我在MT4和MT5上测试和优化博览会的地方变得稀少......就像我的电脑上220个剩余的30GB......
我怀疑空间被机器人早期工作或正在测试的日志,以及不同终端和MT4和MT5上不同符号的历史记录所占用--我很感兴趣。
如何才能清除符号历史(按符号的刻度)和终端 在不同文件夹中的日志(总共不多,大约5个)。
有点像以前在MT 4上有一个神奇的文件clear.bat。
一般来说,需要选项来清除不同文件夹中的历史人物(他们的蜱虫)和日志下的空间。桌面上的所有快捷方式都是MT4和MT5。有点像。
一般来说,清除过去的测试(符号刻度历史)和交易(其日志)的磁盘空间。
至少在哪里可以读到如何清理和删除哪些文件夹,以及MT4和MT5 - 它们的位置...
Sps.
你能给我一个提示吗?
通过iCustom的专家顾问使用一个指标,但在每一个tick 上都有这样的错误记录。
能否在不编辑指标的情况下解决这个问题? 如果可以,如何解决?
能否在不编辑指标的情况下解决这个问题? 如果可以,如何解决?
如果与专家顾问分开运行的指标没有产生这样的记录,那么请检查在专家顾问中调用iCustom()时,指标参数是否被正确指定。
有点像以前在MT 4上有一个神奇的文件clear.bat。
一般来说,需要选项来清除不同文件夹中的历史人物(他们的蜱虫)和日志下的空间。桌面上的所有快捷方式都是MT4和MT5。有点像。
一般来说,清除过去的测试(符号刻度历史)和交易(其日志)的磁盘空间。
至少在哪里可以读到如何清理和删除哪些文件夹,以及MT4和MT5 - 它们的位置...
谢谢。
这台电脑有多旧,什么时候清理过本地文件夹、临时文件夹和服务英特尔或其他制造商文件夹中的系统日志。在一台只有浏览器和办公室的10年老电脑上,它用管理员下面的sikliner取出了近100G。在我的英特尔文件夹中,我发现了25gb。
历史文件夹中的虱子。例如,从binans的所有字符中也有25GB。 而且共享和mcl文件夹中的日志也被检查出来。如果你拆掉原木,就不会影响任何东西。但是,如果你拿下了蜱虫,你可能要等待合适的蜱虫被加载。