编码帮助 - 页 538 1...531532533534535536537538539540541542543544545...786 新评论 drammen 2015.09.21 10:06 #5371 我曾在FF和MQL论坛上发过帖子,所以我想在这里试试我的运气。 在我开始之前,我想说的是,我绝不是一个程序员,勉强算是一个脚本小白。我已经设法将实时价格与时间戳存储在Excel中。有没有一种方法可以只在价格变动时存储?因为excel每秒钟都在存储,这意味着会有很多带时间戳的空位。 当我这样做的时候,有没有一种方法可以使每分钟过去时,它就跳到下一列并从那里开始存储?我使用xlsapp来编码。以下是代码。 //+------------------------------------------------------------------+//| Test1.mq4 |//| Copyright 2015, MetaQuotes Software Corp.| //|/| //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "https://www.mql5.com" #属性版本 "1.00" #property strict #include extern string StartBid= "C3"; 外部字符串 StartAsk= "D3"; extern string StartSpread="F3"; Extern string StartTime="A3"; bool xlsgateok=false; string StrBid; string StrAsk; string StrSpread; string StrTime; //+------------------------------------------------------------------+ //| 专家初始化功能| //+------------------------------------------------------------------+ int OnInit() { StrBid=StartBid。 StrAsk=StartAsk; StrSpread=StartSpread。 StrTime=StartTime。 如果(ExcelInit("mt4") && ExcelStart("")) { Print("XLSgate init done")。 xlsgateok=true。 Print("Office版本="+ExcelVersion())。 ExcelSheetAdd("MT4")。 } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| 专家去初始化功能| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| 专家勾选功能 | //+------------------------------------------------------------------+ double lastBid=0; double lastAsk=0; int lastSpread=0; datetime time=0。 空白的OnTick() { //--- 如果(xlsgateok && lastBid!=Bid) ExcelSetValue(StrBid,Bid)。 lastBid=Bid。 StrBid=ExcelRowAdd(StrBid,1)。 如果(xlsgateok && lastAsk!=Ask) ExcelSetValue(StrAsk,Ask)。 lastAsk=Ask。 StrAsk=ExcelRowAdd(StrAsk,1)。 ExcelSetValue(StrSpread,(Ask-Bid)/Point)。 StrSpread=ExcelRowAdd(StrSpread,1); string s= TimeToStr(TimeCurrent())。 ExcelSetString(StrTime,s)。 StrTime=ExcelRowAdd(StrTime,1); } //+------------------------------------------------------------------+ henry 2015.09.21 17:27 #5372 mladen: henrykfx 它们永远不会是一样的,仅仅是因为你发布的指标是重新绘制的。它们不可能是一样的 Miaden,无论它是否重绘,请帮我一个忙,包括弹出的通知和声音警报,并允许我为它悲伤或高兴;毕竟一个人的毒药是另一个人的肉,而一个人的肉是另一个人的毒药。如果你能毫不费力地帮助别人,我不明白为什么我自己的情况应该是一个禁忌。请为我做这件事,即使这是你给我的圣诞礼物,我也会非常感激。你越是拖延,就越是剥夺了我的交易机会。 Mladen Rakic 2015.09.21 18:31 #5373 henrykfx: Miaden,无论它是否重绘,请帮我一个忙,包括弹出的通知和声音警报,并允许我为此感到悲伤或高兴;毕竟一个人的毒药是另一个人的肉,而一个人的肉是另一个人的毒药。如果你能毫不费力地帮助别人,我不明白为什么我自己的情况应该是一个禁忌。请为我做这件事,即使这是你给我的圣诞礼物,我也会非常感激。你越是拖延,就越是剥夺了我的交易机会。 我不为重绘指标编写警报代码。例如,查看这个主题:https://www.mql5.com/en/forum/180648,看看我有多少次拒绝这样做,有多少次告诉我在信号/警报模式下使用重绘指标是非常危险的。因此,你不是一个例外,但你的要求对我来说是一个经验法则:我不想参与我认为对交易者来说危险的事情。 万事如意 pking25 2015.09.22 15:32 #5374 最后的请求! 献给所有的编码员,但要特别感谢mladen。不仅因为他的编码,而且还因为他对我多年来提出的许多,有时是愚蠢的要求的病人。 谢谢你们,....,这真的是非常感谢。 我可以问你最后一件事吗? 你能不能在所附的 "高级ADX "指标的下限警报线上增加一个波浪警报功能? 用户可以选择Wav声音? 只在上升的柱子上发挥作用。 如果一切顺利,我将在不久的将来发布我的系统,并公布结果。 附加的文件: advanced_adx_alerts.mq4 5 kb Mladen Rakic 2015.09.22 17:09 #5375 Jeeves: 感谢所有的编码人员,但要特别感谢mladen。不仅因为他的编码,而且还因为他对我多年来提出的许多,有时是愚蠢的要求的病人。 谢谢你们,....,真的很感谢你们, 。 我可以问你最后一件事吗? 你能不能在所附的 "高级ADX "指标的低位警报线上增加一个波浪警报功能? 用户可以选择Wav.声音? 只在上升的条形图上发挥作用。 如果一切顺利,我将在不久的将来公布我的系统和结果。 杰维斯 将会制作 pking25 2015.09.22 18:32 #5376 你是我的朋友.....,我可以为你做任何事情,请联系我。 henry 2015.09.23 05:15 #5377 mrtools: 你好,Henrykfx,就像我之前说的,CROSS指标是一个重新绘制的EMA交叉指标,如果你去我提供的链接,下载该指标,并将MaType设置为EMA,快速Ma周期为5,慢速Ma周期为20,那么你将得到真正的EMA交叉值,在封闭的条形图上没有重新绘制的箭头,并且有警报。 好的mrtools,感谢你对我的困境的关注。现在我得到了我想要的东西,但问题是,它在下一栏中发出警报和弹出通知。 附加的文件: iinwmarrows_with_alert.mq4 5 kb henry 2015.09.23 05:30 #5378 mladen: 我没有为重复性指标编写警报代码。例如,查看这个主题:https://www.mql5.com/en/forum/180648,看看我有多少次拒绝这样做,有多少次告诉我在信号/警报模式下使用重绘指标是非常危险的。因此,你不是一个例外,但你的要求对我来说是一个经验法则:我不想参与我认为对交易者来说很危险的事情,一切顺利。 谢谢你的坦诚回答。 在我的不懈努力下,我得到了一个有用的方法,但它在新的条形图打开时发出警报和通知。你能帮助我修复这个错误,以便在有买入或卖出信号时发出警报和通知。谢谢你的时间。 附加的文件: iinwmarrows_with_alert.mq4 5 kb Mladen Rakic 2015.09.23 07:09 #5379 henrykfx: 谢谢你坦率的回答。 在我不懈的搜索中,我得到了一个很有用的指标,但它在新条形图打开时发出警报和通知。你能帮助我修复这个错误,以便在有买入或卖出信号时发出警报和通知。谢谢你的时间。 henrykfx 该指标也使用未来值(重绘)--它使用的逻辑与我们讨论的前一个指标完全相同。 万事如意 ms03-039 2015.09.23 07:39 #5380 mladen: henrykfx该指标也使用未来值(重绘)--它使用的逻辑与我们讨论的前一个指标完全相同。 一切顺利 Mladen,你前几天说99%的指标不会重绘。你到处都在写 "重绘、重绘、重绘" 1...531532533534535536537538539540541542543544545...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我曾在FF和MQL论坛上发过帖子,所以我想在这里试试我的运气。
在我开始之前,我想说的是,我绝不是一个程序员,勉强算是一个脚本小白。我已经设法将实时价格与时间戳存储在Excel中。有没有一种方法可以只在价格变动时存储?因为excel每秒钟都在存储,这意味着会有很多带时间戳的空位。
当我这样做的时候,有没有一种方法可以使每分钟过去时,它就跳到下一列并从那里开始存储?我使用xlsapp来编码。以下是代码。
//| Test1.mq4 |
//| Copyright 2015, MetaQuotes Software Corp.|
//|/|
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#属性版本 "1.00"
#property strict
#include
extern string StartBid= "C3";
外部字符串 StartAsk= "D3";
extern string StartSpread="F3";
Extern string StartTime="A3";
bool xlsgateok=false;
string StrBid;
string StrAsk;
string StrSpread;
string StrTime;
//+------------------------------------------------------------------+
//| 专家初始化功能|
//+------------------------------------------------------------------+
int OnInit()
{
StrBid=StartBid。
StrAsk=StartAsk;
StrSpread=StartSpread。
StrTime=StartTime。
如果(ExcelInit("mt4") && ExcelStart(""))
{
Print("XLSgate init done")。
xlsgateok=true。
Print("Office版本="+ExcelVersion())。
ExcelSheetAdd("MT4")。
}
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| 专家去初始化功能|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| 专家勾选功能 |
//+------------------------------------------------------------------+
double lastBid=0;
double lastAsk=0;
int lastSpread=0;
datetime time=0。
空白的OnTick()
{
//---
如果(xlsgateok && lastBid!=Bid)
ExcelSetValue(StrBid,Bid)。
lastBid=Bid。
StrBid=ExcelRowAdd(StrBid,1)。
如果(xlsgateok && lastAsk!=Ask)
ExcelSetValue(StrAsk,Ask)。
lastAsk=Ask。
StrAsk=ExcelRowAdd(StrAsk,1)。
ExcelSetValue(StrSpread,(Ask-Bid)/Point)。
StrSpread=ExcelRowAdd(StrSpread,1);
string s= TimeToStr(TimeCurrent())。
ExcelSetString(StrTime,s)。
StrTime=ExcelRowAdd(StrTime,1);
}
//+------------------------------------------------------------------+
henrykfx 它们永远不会是一样的,仅仅是因为你发布的指标是重新绘制的。它们不可能是一样的
Miaden,无论它是否重绘,请帮我一个忙,包括弹出的通知和声音警报,并允许我为它悲伤或高兴;毕竟一个人的毒药是另一个人的肉,而一个人的肉是另一个人的毒药。如果你能毫不费力地帮助别人,我不明白为什么我自己的情况应该是一个禁忌。请为我做这件事,即使这是你给我的圣诞礼物,我也会非常感激。你越是拖延,就越是剥夺了我的交易机会。
Miaden,无论它是否重绘,请帮我一个忙,包括弹出的通知和声音警报,并允许我为此感到悲伤或高兴;毕竟一个人的毒药是另一个人的肉,而一个人的肉是另一个人的毒药。如果你能毫不费力地帮助别人,我不明白为什么我自己的情况应该是一个禁忌。请为我做这件事,即使这是你给我的圣诞礼物,我也会非常感激。你越是拖延,就越是剥夺了我的交易机会。
我不为重绘指标编写警报代码。例如,查看这个主题:https://www.mql5.com/en/forum/180648,看看我有多少次拒绝这样做,有多少次告诉我在信号/警报模式下使用重绘指标是非常危险的。因此,你不是一个例外,但你的要求对我来说是一个经验法则:我不想参与我认为对交易者来说危险的事情。
万事如意
最后的请求!
献给所有的编码员,但要特别感谢mladen。不仅因为他的编码,而且还因为他对我多年来提出的许多,有时是愚蠢的要求的病人。
谢谢你们,....,这真的是非常感谢。
我可以问你最后一件事吗?
你能不能在所附的 "高级ADX "指标的下限警报线上增加一个波浪警报功能?
用户可以选择Wav声音?
只在上升的柱子上发挥作用。
如果一切顺利,我将在不久的将来发布我的系统,并公布结果。
感谢所有的编码人员,但要特别感谢mladen。不仅因为他的编码,而且还因为他对我多年来提出的许多,有时是愚蠢的要求的病人。 谢谢你们,....,真的很感谢你们,
我可以问你最后一件事吗?
你能不能在所附的 "高级ADX "指标的低位警报线上增加一个波浪警报功能?
用户可以选择Wav.声音?
只在上升的条形图上发挥作用。
如果一切顺利,我将在不久的将来公布我的系统和结果。杰维斯
将会制作
你是我的朋友.....,我可以为你做任何事情,请联系我。
你好,Henrykfx,就像我之前说的,CROSS指标是一个重新绘制的EMA交叉指标,如果你去我提供的链接,下载该指标,并将MaType设置为EMA,快速Ma周期为5,慢速Ma周期为20,那么你将得到真正的EMA交叉值,在封闭的条形图上没有重新绘制的箭头,并且有警报。
好的mrtools,感谢你对我的困境的关注。现在我得到了我想要的东西,但问题是,它在下一栏中发出警报和弹出通知。
我没有为重复性指标编写警报代码。例如,查看这个主题:https://www.mql5.com/en/forum/180648,看看我有多少次拒绝这样做,有多少次告诉我在信号/警报模式下使用重绘指标是非常危险的。因此,你不是一个例外,但你的要求对我来说是一个经验法则:我不想参与我认为对交易者来说很危险的事情,一切顺利。
谢谢你的坦诚回答。 在我的不懈努力下,我得到了一个有用的方法,但它在新的条形图打开时发出警报和通知。你能帮助我修复这个错误,以便在有买入或卖出信号时发出警报和通知。谢谢你的时间。
谢谢你坦率的回答。 在我不懈的搜索中,我得到了一个很有用的指标,但它在新条形图打开时发出警报和通知。你能帮助我修复这个错误,以便在有买入或卖出信号时发出警报和通知。谢谢你的时间。
henrykfx
该指标也使用未来值(重绘)--它使用的逻辑与我们讨论的前一个指标完全相同。
万事如意
henrykfx
该指标也使用未来值(重绘)--它使用的逻辑与我们讨论的前一个指标完全相同。
一切顺利Mladen,你前几天说99%的指标不会重绘。你到处都在写 "重绘、重绘、重绘"