新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 651 1...644645646647648649650651652653654655656657658...1953 新评论 inter78 2018.10.08 08:14 #6501 Taras Slobodyanik:我的代码将一个长图表ID写入一个临时的全局变量中。 从视觉上看,如果你按下F3,它显示的是零(或其他不同的值)。 发生这种情况是因为终端认为它是一个双倍值,并试图显示它,但我们给它的是long,这是一个完全不同的数字格式。 如果把这个值作为一个普通的双倍数读回来,那将是一个混乱的局面。 如果它被我的代码读取,它将再次变长(与我们保存的相同)。 如果你在终端窗口中手动点击这个变量,它将被重置,因为终端会检测到交换。 我如何使用CHART_BRING_TO_TOP的结果? Ghabo 2018.10.08 08:37 #6502 Artyom Trishkin: 删除OnInit()中的时间初始化。 谢谢你。 请你告诉我错误在哪里。当我调用常规分形时,箭头被放在条件下,它应该在那里,当我调用iFreeNumFractals时,条件被满足,应该有一个箭头,但没有。iFreeNumFractals的行被注释掉,设置与常规分形一样。理想情况下,如果我们注释掉有规则分形的那几行,不注释iFreeNumFractals,图片应该是一样的,但是......。#property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 #property indicator_plots 2 //--- plot UP #property indicator_label1 "UP" #property indicator_type1 DRAW_ARROW #property indicator_color1 clrLawnGreen #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- plot DN #property indicator_label2 "DN" #property indicator_type2 DRAW_ARROW #property indicator_color2 clrDeepPink #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //--- indicator buffers double BufferUP[]; double BufferDN[]; int dist=3; string nameInd; datetime timf=0; int numf; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,BufferUP); SetIndexBuffer(1,BufferDN); //--- setting a code from the Wingdings charset as the property of PLOT_ARROW SetIndexArrow(0,233); SetIndexArrow(1,234); //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- if(rates_total<2) return(0); { int limit=rates_total-prev_calculated; if(limit>1) { limit=rates_total-2; ArrayInitialize(BufferUP,EMPTY_VALUE); ArrayInitialize(BufferDN,EMPTY_VALUE); } for(int i=limit; i>=0; i--) { if(fub(i)) { BufferUP[i]=low[i]-dist*Point; } Comment(""); } //--- return value of prev_calculated for next call } return(rates_total); } //+ bool fub(int ib)// { bool bingob=false,flag_verh_f=0; int start_bar=0,numbarfrup=0,kfr_all=0; double high_old=0,prfra=0,f_up=0,f_dn=0,f=0; { for(int i_i=ib+3; i_i<Bars-2; i_i++) { if(high_old<High[i_i]) high_old=High[i_i]; f_up=iFractals(Symbol(),0,MODE_UPPER,i_i); //f_up=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits); f_dn=iFractals(Symbol(),0,MODE_LOWER,i_i); //f_dn=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,1,i_i),Digits); if(f_up>0 && f_up>iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i)+10*Point)//Если фрактал найден выше МА+10 pips { numbarfrup=i_i; } if(f_dn>0 && f_dn<iMA(NULL,0,33,0,MODE_SMMA,PRICE_CLOSE,i_i)) { start_bar=numbarfrup;break; } } for(int i_i=start_bar; i_i<Bars-2; i_i++) { f=iFractals(Symbol(),0,MODE_UPPER,i_i); //f=NormalizeDouble(iCustom(Symbol(),0,"iFreeNumFractals",1,2,2,2,2,0,i_i),Digits); if(f>0)kfr_all++; if(f>0 && Low[ib]<f+1*_Point && Open[ib]>f //Сравнение фрактала с текущ баром && high_old-f>=100*Point//от максимума до фрактала 100 пп ) { bingob=true; prfra=f; timf=Time[i_i]; break; } if(kfr_all==3)break; } } // numfb=iBarShift(NULL,PERIOD_CURRENT,timf,true); if(bingob) {flag_verh_f=true;} if(bingob==false) flag_verh_f=false; return(flag_verh_f); } // Taras Slobodyanik 2018.10.08 10:52 #6503 inter78: 我如何使用CHART_BRING_TO_TOP的结果?就像我们之前使用CHART_BRING_TO_TOP一样 Aleksandr Egorov 2018.10.08 12:11 #6504 大家好,我在市场上有三个买入订单,价格上涨了10点,每个订单都有+10点,我想锁定三个卖出订单,现在如何使这些订单在MKL4中不再被检查? Artyom Trishkin 2018.10.08 12:46 #6505 Ghabo:谢谢你。 你能告诉我错误在哪里吗?情况是这样的,当我调用普通分形时,箭头被放在条件下,它应该在那里,当我调用iFreeNumFractals时,条件得到满足,应该有一个箭头,但它没有。iFreeNumFractals的行被注释掉了,设置与普通分形一样。理论上说,如果我用通常的分形注释掉线条,并注释掉iFreeNumFractals,图片应该是一样的,但是......iFreeNumFractals指标的设置是否与图表上的标准和标准分形一样? 如果是这样,他们的信号是否相同? Artyom Trishkin 2018.10.08 12:48 #6506 Aleksandr Egorov: 大家好,我在市场上有三个买入订单,价格上涨了10个点,每个订单都有+10个点,我想锁定三个卖出订单,现在我应该如何使这些订单不再被MKL4检查?如果你想让人理解--你到底想要什么,就在你的文本中使用标点符号。否则,都是一堆--去弄清楚你的意思......。 inter78 2018.10.08 12:48 #6507 Taras Slobodyanik:就像之前使用的CHART_BRING_TO_TOP一样 自从我使用了它,就没有什么效果。对你来说,做同样的事情可能不会太难,只是作为一个指标,把它提到CHART_BRING_TO_TOP。 Aleksandr Egorov 2018.10.08 13:55 #6508 Artyom Trishkin:如果你想被理解--你想要什么,在你的文本中使用标点符号。否则你就把所有东西都归为一堆--去弄清楚你的意思......我们在市场上有三个买单的价格,价格上涨了10个点,我们每个订单都有+10个点,我想锁定三个卖单,现在如何确保这些订单在mcl4中不再被检查? psyman 2018.10.08 14:16 #6509 关于交易、自动交易系统和策略测试的论坛 新手对MQL4的任何问题,对算法和代码的帮助和讨论 Taras Slobodyanik, 2018.10.07 22:12 GlobalVariableCheck() - 检查该变量是否已经存在,如果没有,则GlobalVariableTemp()- 创建临时变量,该变量将在下次启动时被自己删除。这点很清楚,问题是如果没有GP,为什么只创建了临时的而不是永久的GlobalVariableSet? Ghabo 2018.10.08 14:27 #6510 Artyom Trishkin:iFreeNumFractals指标的设置是否与图表上的标准和标准分形一样? 如果有,它们的信号是否匹配?分形图完全吻合。 截图上的标准分形上的箭头 iFreeNumFractals放了第一个和最后一个,中间三个没有。 1...644645646647648649650651652653654655656657658...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我的代码将一个长图表ID写入一个临时的全局变量中。
从视觉上看,如果你按下F3,它显示的是零(或其他不同的值)。
发生这种情况是因为终端认为它是一个双倍值,并试图显示它,但我们给它的是long,这是一个完全不同的数字格式。
如果把这个值作为一个普通的双倍数读回来,那将是一个混乱的局面。
如果它被我的代码读取,它将再次变长(与我们保存的相同)。
如果你在终端窗口中手动点击这个变量,它将被重置,因为终端会检测到交换。
删除OnInit()中的时间初始化。
谢谢你。
请你告诉我错误在哪里。当我调用常规分形时,箭头被放在条件下,它应该在那里,当我调用iFreeNumFractals时,条件被满足,应该有一个箭头,但没有。iFreeNumFractals的行被注释掉,设置与常规分形一样。理想情况下,如果我们注释掉有规则分形的那几行,不注释iFreeNumFractals,图片应该是一样的,但是......。
我如何使用CHART_BRING_TO_TOP的结果?
就像我们之前使用CHART_BRING_TO_TOP一样
谢谢你。
你能告诉我错误在哪里吗?情况是这样的,当我调用普通分形时,箭头被放在条件下,它应该在那里,当我调用iFreeNumFractals时,条件得到满足,应该有一个箭头,但它没有。iFreeNumFractals的行被注释掉了,设置与普通分形一样。理论上说,如果我用通常的分形注释掉线条,并注释掉iFreeNumFractals,图片应该是一样的,但是......
iFreeNumFractals指标的设置是否与图表上的标准和标准分形一样?
如果是这样,他们的信号是否相同?
大家好,我在市场上有三个买入订单,价格上涨了10个点,每个订单都有+10个点,我想锁定三个卖出订单,现在我应该如何使这些订单不再被MKL4检查?
如果你想让人理解--你到底想要什么,就在你的文本中使用标点符号。否则,都是一堆--去弄清楚你的意思......。
就像之前使用的CHART_BRING_TO_TOP一样
如果你想被理解--你想要什么,在你的文本中使用标点符号。否则你就把所有东西都归为一堆--去弄清楚你的意思......
我们在市场上有三个买单的价格,价格上涨了10个点,我们每个订单都有+10个点,我想锁定三个卖单,现在如何确保这些订单在mcl4中不再被检查?
关于交易、自动交易系统和策略测试的论坛
新手对MQL4的任何问题,对算法和代码的帮助和讨论
Taras Slobodyanik, 2018.10.07 22:12
GlobalVariableCheck() - 检查该变量是否已经存在,如果没有,则
GlobalVariableTemp()- 创建临时变量,该变量将在下次启动时被自己删除。
这点很清楚,问题是如果没有GP,为什么只创建了临时的而不是永久的GlobalVariableSet?
iFreeNumFractals指标的设置是否与图表上的标准和标准分形一样?
如果有,它们的信号是否匹配?
分形图完全吻合。
截图上的标准分形上的箭头
iFreeNumFractals放了第一个和最后一个,中间三个没有。