任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1033 1...102610271028102910301031103210331034103510361037103810391040...1178 新评论 Artyom Trishkin 2016.04.15 08:20 #10321 abeiks:你好。目前,时间没有被正确返回。例如,如果时间是12.04,它将返回12.4。你能告诉我如何使这个功能正确吗?那么,Hour()和Minute()返回程序启动时最后一个服务器时间的当前小时和当前分钟。而返回的值是int类型 的。而这些只是整数。所以你需要对它们进行格式化。例如,像这样。string label=IntegerToString(Hour(),2,'0')+":"+IntegerToString(Minute(),2,'0'); Nauris Zukas 2016.04.15 08:43 #10322 artmedia70:Hour()和Minute()返回程序开始时最后一个服务器时间的当前小时和当前分钟。而返回的值是int类型的。而这些只是整数。所以你仍然需要对它们进行格式化。例如,像这样。 谢谢你! Artyom Trishkin 2016.04.15 09:28 #10323 abeiks: 谢谢你!不客气。如果不是什么秘密,你为什么需要一个显示你的程序最后一次启动的时间戳--其中的时间不会改变。 只是闲来无事的好奇心... DuKle 2016.04.16 21:38 #10324 下午好!请告知如何正确实现限制1个交易的功能(即如果一个交易已经在一个蜡烛上打开或关闭,一个新的交易将不会在该蜡烛上打开)。我找到了许多变体,但无法弄清楚如何正确地编写猫头鹰的代码(即哪些部分应该写在全局变量 中,哪些部分应该写在交易的开启条件中)。例如,这里有这样一个变体。int TekBar = -1; // 当前栏位。 if (TekBar == Bars)return(0); // 每个栏位只能进行一次交易。TekBar = Bars; // 一个柱子上只有一个交易。{...} 这个脚本的哪一部分应该插入到猫头鹰代码的哪个区域? Artyom Trishkin 2016.04.17 03:35 #10325 DuKle:下午好!请告知如何正确实现限制1个交易的功能(即如果一个交易已经在一个蜡烛上打开或关闭,一个新的交易将不会在该蜡烛上打开)。我找到了许多变体,但无法弄清楚如何正确地写出猫头鹰的代码(即哪些部分应该写在全局变量中,哪些部分应该写在交易开始条件中)。例如,这里有这样一个变体。int TekBar = -1; // 当前栏位。if (TekBar == Bars)return(0); // 每个柱子只能有一个交易。TekBar = Bars; // 一个柱子上只有一个交易。{...} 这个脚本的哪一部分应该插入到猫头鹰代码的哪个区域?你需要找出第0条的最后一笔交易是开仓还是平仓。要做到这一点,你需要找到最后一笔开仓交易和最后一笔平仓交易。查看最后一笔开仓交易的栏位和最后一笔平仓交易的栏位。如果这些数值中的任何一个(最后一笔开仓交易的栏位或最后一笔平仓交易的栏位)为零,你就不能开新仓。而且,是的:它不是一个脚本,它只是一段代码。而且你不需要在猫头鹰身上插入任何东西:猫头鹰是一种夜间猛禽,让鸟儿活下去。 Ilya Severskiy 2016.04.17 07:22 #10326 你好!请帮助我我有一个想法,但我不知道如何实现它。而最重要的是,我不知道这个问题是否有解决办法。它的本质是:我们有一个指标,在给定的条数 上在图表上画一些线。是否可以通过用鼠标拖动线的左 "端 "来改变画线的条数?拖动后,指标应记住用于计算的新条数。下面是一个我想改进的指标的例子//+------------------------------------------------------------------+ //| Canal__.mq4 | //+------------------------------------------------------------------+ //---------------------------------- #property indicator_chart_window //---------------------------------- extern int Hours=20; extern color col=Red; //------------------ double lr,lr0,lrp; double sx,sy,sxy,sx2,aa,bb; int p,fs; ulong sName; int f,f0,f1; double dh,dl,dh_1,dl_1,dh_2,dl_2; int ai_1,ai_2,bi_1,bi_2; double hai,lai,dhi,dli,dhm,dlm,ha0,hap,la0,lap; double price_p1,price_p0,price_p2,price_01,price_00,price_02; int p1,p0,p2,fp; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { p=Hours*60/Period(); if(fs==0) { sName=TimeCurrent(); fs=1; } //---- return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int deinit() { ObjectDelete("1"+(string)sName); return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int i,n; //---- if(f==1) { p1=iBarShift(Symbol(),Period(),(datetime)ObjectGet("1"+(string)sName,OBJPROP_TIME1)); if(fp==0 && p!=p1) {p=p1; fp=1;} } //---- sx=0; sy=0; sxy=0; sx2=0; for(n=0; n<=p; n++) { sx+=n; sy+=Close[n]; sxy+=n*Close[n]; sx2+=MathPow(n,2); } aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2); bb=(sy-aa*sx)/(p+1); //---- for(i=0; i<=p; i++) { lr=bb+aa*i; dh=High[i]-lr; dl=Low[i]-lr; //---- if(i<p/2) { if(i==0) { dh_1=0.0; dl_1=0.0; ai_1=i; bi_1=i; } if(dh>=dh_1) {dh_1=dh; ai_1=i;} if(dl<=dl_1) {dl_1=dl; bi_1=i;} } //---- if(i>=p/2) { if(i==p/2) { dh_2=0.0; dl_2=0.0; ai_2=i; bi_2=i; } if(dh>=dh_2) {dh_2=dh; ai_2=i;} if(dl<=dl_2) {dl_2=dl; bi_2=i;} } } lr0=bb; lrp=bb+aa*(i+p); //=================================================== if(MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2)) f=1; if(MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2)) f=2; if(MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2)) { if(MathAbs(dh_1-dh_2)<MathAbs(dl_1-dl_2)) f=1; if(MathAbs(dh_1-dh_2)>=MathAbs(dl_1-dl_2)) f=2; } //================================================= if(f==1) { for(n=0; n<=20; n++) { f1=0; for(i=0; i<=p; i++) { hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1); if(i==0 || i==p/2) dhm=0.0; if(High[i]-hai>dhm && i<p/2) {ai_1=i; f1=1;} if(High[i]-hai>dhm && i>=p/2) {ai_2=i; f1=1;} } if(f==0) break; } //---------------------------- for(i=0; i<=p; i++) { hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1); dli=Low[i]-hai; if(i==0) dlm=0.0; if(dli<dlm) dlm=dli; } ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1); hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1); //---------------------------- price_p1=hap+dlm/2; price_01=ha0+dlm/2; } //================================================= if(f==2) { for(n=0; n<=20; n++) { f1=0; for(i=0; i<=p; i++) { lai=Low[bi_1]*(i-bi_2)/(bi_1-bi_2)+Low[bi_2]*(i-bi_1)/(bi_2-bi_1); if(i==0 || i==p/2) dlm=0.0; if(Low[i]-lai<dlm && i<p/2) {bi_1=i; f1=1;} if(Low[i]-lai<dlm && i>=p/2) {bi_2=i; f1=1;} } if(f==0) break; } //---------------------------- for(i=0; i<=p; i++) { lai=Low[bi_1]*(i-bi_2)/(bi_1-bi_2)+Low[bi_2]*(i-bi_1)/(bi_2-bi_1); dhi=High[i]-lai; if(i==0) dhm=0.0; if(dhi>dhm) dhm=dhi; } la0=Low[bi_1]*(0-bi_2)/(bi_1-bi_2)+Low[bi_2]*(0-bi_1)/(bi_2-bi_1); lap=Low[bi_1]*(p-bi_2)/(bi_1-bi_2)+Low[bi_2]*(p-bi_1)/(bi_2-bi_1); //---------------------------------------------------------------- price_p1=lap+dhm/2; price_01=la0+dhm/2; } //=================================================================================== отрисовка линий ObjectCreate("1"+(string)sName,2,0,Time[p],price_p1,Time[0],price_01); //----------------------------------------------------------------- ObjectSet("1"+(string)sName,OBJPROP_COLOR,col); ObjectSet("1"+(string)sName,OBJPROP_STYLE,STYLE_DASHDOT); ObjectSet("1"+(string)sName,OBJPROP_RAY,false); //--------------------------------------------- ObjectSet("1"+(string)sName,OBJPROP_TIME1,Time[p]); ObjectSet("1"+(string)sName,OBJPROP_PRICE1,price_p1); ObjectSet("1"+(string)sName,OBJPROP_TIME2,Time[0]); ObjectSet("1"+(string)sName,OBJPROP_PRICE2,price_01); f=1; p1=p; p0=p; p2=p; fp=0; //=================================================================================== return(0); } //+------------------------------------------------------------------+ Artyom Trishkin 2016.04.17 07:39 #10327 Night63:你好!请帮助我我有一个想法,但我不知道如何实现它。而最重要的是,我不知道这个问题是否有解决办法。它的本质是:我们有一个指标,在给定的条数上在图表上画一些线。是否可以通过用鼠标拖动线的左 "端 "来改变画线的条数?拖动后,指标应记住用于计算的新条数。下面是一个我想改进的指标的例子 你需要在指标中添加OnChartEvent(),并通过其名称:CHARTEVENT_OBJECT_CHANGE 来跟踪线条尺寸变化的事件。重新计算新的线条长度,以小节为单位,并使用其新的尺寸作为计算的参数。 DuKle 2016.04.17 08:27 #10328 artmedia70:你需要查出最后一笔交易是在第0条开仓还是平仓。要做到这一点,你需要找到最后一笔开仓交易和最后一笔平仓交易。查看最后一笔开仓交易的开盘条和最后一笔平仓交易的收盘条。如果这两个值中的任何一个(最后一笔开仓交易的条形图或最后一笔平仓交易的条形图)为零,你就不能开新仓。而且,是的:你没有脚本,它只是nepomyshchego代码的一部分。而且你不需要在猫头鹰身上插入任何东西:猫头鹰是一种夜间猛禽,让鸟儿活下去。 我明白检测是否存在交易的原理。 我不知道如何在代码中实现它 :-( Artyom Trishkin 2016.04.17 16:33 #10329 DuKle: 我理解判断交易是否存在的原理,我不知道如何在代码中实现它 :-(这一切是多么可悲...要我为你做吗?作为一个开始,要进一步了解,请阅读"KimIV的有用功能"主题。当然,这些代码是多余的,但对于入门和学习来说是恰到好处的。 [删除] 2016.04.18 07:55 #10330 亲爱的mql4/5程序员 !我是一个初学者,学习了编程语言的基础知识,并为我的毕业证书开发了一个EA!我的毕业证书上有一章叫 "经济学"。如果我要为一家公司开发一个程序--经济部分的一切都很清楚。但如何在我的情况下?我可以考虑哪些因素,哪些路径可以遵循!?非常感谢您!!!!___________________________路是人走出来的 (c) 1...102610271028102910301031103210331034103510361037103810391040...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。
目前,时间没有被正确返回。例如,如果时间是12.04,它将返回12.4。你能告诉我如何使这个功能正确吗?
那么,Hour()和Minute()返回程序启动时最后一个服务器时间的当前小时和当前分钟。而返回的值是int类型 的。而这些只是整数。所以你需要对它们进行格式化。例如,像这样。
Hour()和Minute()返回程序开始时最后一个服务器时间的当前小时和当前分钟。而返回的值是int类型的。而这些只是整数。所以你仍然需要对它们进行格式化。例如,像这样。
谢谢你!
不客气。如果不是什么秘密,你为什么需要一个显示你的程序最后一次启动的时间戳--其中的时间不会改变。
只是闲来无事的好奇心...
下午好!
请告知如何正确实现限制1个交易的功能(即如果一个交易已经在一个蜡烛上打开或关闭,一个新的交易将不会在该蜡烛上打开)。
我找到了许多变体,但无法弄清楚如何正确地编写猫头鹰的代码(即哪些部分应该写在全局变量 中,哪些部分应该写在交易的开启条件中)。
例如,这里有这样一个变体。
int TekBar = -1; // 当前栏位。if (TekBar == Bars)return(0); // 每个栏位只能进行一次交易。
TekBar = Bars; // 一个柱子上只有一个交易。
{...}
这个脚本的哪一部分应该插入到猫头鹰代码的哪个区域?
下午好!
请告知如何正确实现限制1个交易的功能(即如果一个交易已经在一个蜡烛上打开或关闭,一个新的交易将不会在该蜡烛上打开)。
我找到了许多变体,但无法弄清楚如何正确地写出猫头鹰的代码(即哪些部分应该写在全局变量中,哪些部分应该写在交易开始条件中)。
例如,这里有这样一个变体。
int TekBar = -1; // 当前栏位。if (TekBar == Bars)return(0); // 每个柱子只能有一个交易。
TekBar = Bars; // 一个柱子上只有一个交易。
{...}
这个脚本的哪一部分应该插入到猫头鹰代码的哪个区域?
你需要找出第0条的最后一笔交易是开仓还是平仓。
要做到这一点,你需要找到最后一笔开仓交易和最后一笔平仓交易。
查看最后一笔开仓交易的栏位和最后一笔平仓交易的栏位。
如果这些数值中的任何一个(最后一笔开仓交易的栏位或最后一笔平仓交易的栏位)为零,你就不能开新仓。
而且,是的:它不是一个脚本,它只是一段代码。而且你不需要在猫头鹰身上插入任何东西:猫头鹰是一种夜间猛禽,让鸟儿活下去。
你好!请帮助我
我有一个想法,但我不知道如何实现它。而最重要的是,我不知道这个问题是否有解决办法。
它的本质是:我们有一个指标,在给定的条数 上在图表上画一些线。
是否可以通过用鼠标拖动线的左 "端 "来改变画线的条数?拖动后,指标应记住用于计算的新条数。下面是一个我想改进的指标的例子
你好!请帮助我
我有一个想法,但我不知道如何实现它。而最重要的是,我不知道这个问题是否有解决办法。
它的本质是:我们有一个指标,在给定的条数上在图表上画一些线。
是否可以通过用鼠标拖动线的左 "端 "来改变画线的条数?拖动后,指标应记住用于计算的新条数。下面是一个我想改进的指标的例子
你需要查出最后一笔交易是在第0条开仓还是平仓。
要做到这一点,你需要找到最后一笔开仓交易和最后一笔平仓交易。
查看最后一笔开仓交易的开盘条和最后一笔平仓交易的收盘条。
如果这两个值中的任何一个(最后一笔开仓交易的条形图或最后一笔平仓交易的条形图)为零,你就不能开新仓。
而且,是的:你没有脚本,它只是nepomyshchego代码的一部分。而且你不需要在猫头鹰身上插入任何东西:猫头鹰是一种夜间猛禽,让鸟儿活下去。
我理解判断交易是否存在的原理,我不知道如何在代码中实现它 :-(
这一切是多么可悲...
要我为你做吗?
作为一个开始,要进一步了解,请阅读"KimIV的有用功能"主题。
当然,这些代码是多余的,但对于入门和学习来说是恰到好处的。
亲爱的mql4/5程序员 !
我是一个初学者,学习了编程语言的基础知识,并为我的毕业证书开发了一个EA!
我的毕业证书上有一章叫 "经济学"。
如果我要为一家公司开发一个程序--经济部分的一切都很清楚。
但如何在我的情况下?我可以考虑哪些因素,哪些路径可以遵循!?
非常感谢您!!!!
___________________________
路是人走出来的 (c)