[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 88 1...818283848586878889909192939495...537 新评论 [删除] 2011.02.09 21:16 #871 一切都在这里 C:\Users\======AppData\Local\VirtualStore\Program Files\====== - MetaTrader\ 愿景 [删除] 2011.02.09 21:44 #872 请告知。 我写了一个简单的脚本(在靠近市场的两个方向设置两个吊坠,在新闻发布前把它放在图表上,这样我就不用手动操作了)。 这似乎要容易得多,但它不起作用,没有订单被打开,日志只是说脚本加载成功,然后在同一秒内立即删除!这是不可能的。它的编译没有错误。我把它转换为专家形式,即增加了init和deinit,在测试器中检查,它成功了。但是,正如你所理解的,我不需要一个专家顾问,而只是一个脚本。 这里有什么问题吗?预先感谢你。 以下是该脚本的代码。 #财产版权"alexey15" #属性链接"" #property show_confirm 外部int SL = 15; 外部int TP = 90; 外置 int DELTA = 15; 外来的双数LOT = 0.1。 外部int SLIP = 3; //+------------------------------------------------------------------+ //| 脚本程序启动功能| //+------------------------------------------------------------------+ int start() { //---- double BUYPRICE = Ask + DELTA*Point; double SELLPRICE = Bid - DELTA*Point; int OPEN_ORDER; OPEN_ORDER=OrderSend(Symbol(,OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL*Point,BUYPRICE+TP*Point,NULL,0,0,Blue)。 OPEN_ORDER=OrderSend(Symbol(),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL*Point,SELLPRICE-TP*Point,NULL,0,0,Red); //---- return(0); } //+------------------------------------------------------------------+ [Archive!] Any rookie question, 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 MQL4 Learning sergeyas 2011.02.09 22:53 #873 wiwkin52: 你好。请帮助。我卸载了MT和所有与之相关的指标,所有的指标。现在我安装了它,一切都还在。我应该怎么做?也许有指标和其他一切的副本存放在某个地方? 你只是卸载了,还是同时删除了Program Files中的MT文件夹? [删除] 2011.02.09 23:07 #874 alexey15: 请告知。 我写了一个简单的脚本(在靠近市场的两个方向设置两个吊坠,在新闻发布前把它放在图表上,这样我就不用手动操作了)。 这似乎要容易得多,但它不起作用,没有订单被打开,日志只是说脚本加载成功,然后在同一秒内立即删除!这是不可能的。它的编译没有错误。我把它转换为专家形式,即增加了init和deinit,在测试器中检查,它成功了。但是,正如你所理解的,我不需要一个专家顾问,而只是一个脚本。 这里有什么问题吗?预先感谢你。 以下是该脚本的代码。 我检查了一下。你的脚本是有效的。 打印错误以备不时之需。 int start() { //---- double BUYPRICE = Ask + DELTA*Point; double SELLPRICE = Bid - DELTA*Point; int TicketBS,TicketSS; TicketBS=OrderSend(Symbol(),OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL*Point,BUYPRICE+TP*Point,NULL,0,0,Blue); TicketSS=OrderSend(Symbol(),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL*Point,SELLPRICE-TP*Point,NULL,0,0,Red); if(TicketBS<=0 || TicketSS<=0)Print("Error = ",GetLastError()); //---- return(0); } Artyom Trishkin 2011.02.10 02:05 #875 alexey15:请告知。我写了一个简单的脚本(设置两个接近市场的挂件,在新闻发布前把它放在图表上,这样我就不用手动操作了)。 这似乎要容易得多,但它不起作用,没有订单被打开,日志只是说脚本加载成功,然后在同一秒内立即删除!这是不可能的。它的编译没有错误。我把它转换为专家形式,即增加了init和deinit,在测试器中检查,它成功了。但是,正如你所理解的,我不需要一个专家顾问,而只是一个脚本。这里有什么问题吗?预先感谢你。 它对四位数的数字 起作用。我没有在五位数水平上进行检查,但我在StopLevel上增加了一个约束的检查。//+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ extern int SL = 15; extern int TP = 90; extern int DELTA = 15; extern double LOT = 0.1; extern int SLIP = 3; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- int StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL); if (DELTA <= StopLevel) DELTA = StopLevel+1; double BUYPRICE = Ask + DELTA*Point; double SELLPRICE = Bid - DELTA*Point; int OPEN_ORDER; OPEN_ORDER=OrderSend(Symbol(),OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL*Point,BUYPRICE+TP*Point,NULL,0,0,Blue); OPEN_ORDER=OrderSend(Symbol(),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL*Point,SELLPRICE-TP*Point,NULL,0,0,Red); //---- return(0); } //+------------------------------------------------------------------+ 原则上,你可以对四位数、五位数进行点调整,以避免错误。因为Delta水平应该是五位数的十倍,即150,而不是15,而停止和采取相应的... 那么它将看起来像这样。//+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ extern int SL = 15; extern int TP = 90; extern int DELTA = 15; extern double LOT = 0.1; extern int SLIP = 3; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { //---- double PointX; if(Digits==5 || Digits==3) PointX = Point * 10; // Корректировка Point под трёх- пятизнак if(Digits==4 || Digits==2) PointX = Point; int StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL); if (DELTA <= StopLevel) DELTA = StopLevel+1; double BUYPRICE = Ask + DELTA*PointX; double SELLPRICE = Bid - DELTA*PointX; int OPEN_ORDER; OPEN_ORDER=OrderSend(Symbol(),OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL*PointX,BUYPRICE+TP*PointX,NULL,0,0,Blue); OPEN_ORDER=OrderSend(Symbol(),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL*PointX,SELLPRICE-TP*PointX,NULL,0,0,Red); //---- return(0); } //+------------------------------------------------------------------+ volshebnik 2011.02.10 06:20 #876 早晨好! 有没有人对指数有什么提示......? Всеволод 2011.02.10 07:57 #877 volshebnik: 早晨好! 有没有人对指数有什么提示......? 对,指数。 volshebnik 2011.02.10 08:04 #878 splxgf: 对,指数。 不好笑 )问题在这里 -https://www.mql5.com/ru/forum/131277/page87 但由于论坛管理员不建议重复问题,所以我没有再发。 PapaYozh 2011.02.10 08:19 #879 volshebnik:你好!你能告诉我出了什么问题吗?我在英镑兑美元上使用测试器--它能按规定打开交易。我在美元指数DXH1上使用它 - 它没有打开很多交易,错误 "130" - 不正确的停止。此外,不清楚哪里出了问题--在类似的情况下,它打开和不打开,但不止于此。美元指数的价差和止损水平-100和200。GBPUSD-3和4的点差和止损水平。美元指数的价格,如78.150,在对-4位小数。但这是有依据的。 这里是代码的一部分。 就在我的脑海中。 1)SL和TP是非正常化的。 2) OrderSend在规范化时使用Digits,而订单是由Symb下的。 这样试试吧。 int opDigits=MarketInfo(Symb,MODE_DIGITS); SL = NormalizeDouble(SL,opDigits); TP = NormalizeDouble(TP,opDigits); ОткрФрвверх = NormalizeDouble(ОткрФрвверх,opDigits); ticketup=OrderSend(Symb, OP_BUYSTOP, Lot, ОткрФрвверх,0, SL, TP,NULL,A,0,вверх); // Ордер вверх volshebnik 2011.02.10 09:44 #880 PapaYozh: 猜测一下。 1) SL和TP没有被规范化。 2)OrderSend使用Digits进行规范化处理,而顺序是由Symb设定的。 这样试试吧。 非常感谢您!它起作用了,但很少,有时会出现同样的错误 - 130.......(是否总是需要规范化止损,还是只在指数上?(在我看来,只是在货币对上的止损一直是有效的,没有正常化)。 1...818283848586878889909192939495...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一切都在这里 C:\Users\======AppData\Local\VirtualStore\Program Files\====== - MetaTrader\
愿景
请告知。
我写了一个简单的脚本(在靠近市场的两个方向设置两个吊坠,在新闻发布前把它放在图表上,这样我就不用手动操作了)。 这似乎要容易得多,但它不起作用,没有订单被打开,日志只是说脚本加载成功,然后在同一秒内立即删除!这是不可能的。它的编译没有错误。我把它转换为专家形式,即增加了init和deinit,在测试器中检查,它成功了。但是,正如你所理解的,我不需要一个专家顾问,而只是一个脚本。
这里有什么问题吗?预先感谢你。
以下是该脚本的代码。
#财产版权"alexey15"
#属性链接""
#property show_confirm
外部int SL = 15;
外部int TP = 90;
外置 int DELTA = 15;
外来的双数LOT = 0.1。
外部int SLIP = 3;
//+------------------------------------------------------------------+
//| 脚本程序启动功能|
//+------------------------------------------------------------------+
int start()
{
//----
double BUYPRICE = Ask + DELTA*Point;
double SELLPRICE = Bid - DELTA*Point;
int OPEN_ORDER;
OPEN_ORDER=OrderSend(Symbol(,OP_BUYSTOP,LOT,BUYPRICE,SLIP,BUYPRICE-SL*Point,BUYPRICE+TP*Point,NULL,0,0,Blue)。
OPEN_ORDER=OrderSend(Symbol(),OP_SELLSTOP,LOT,SELLPRICE,SLIP,SELLPRICE+SL*Point,SELLPRICE-TP*Point,NULL,0,0,Red);
//----
return(0);
}
//+------------------------------------------------------------------+
你好。请帮助。我卸载了MT和所有与之相关的指标,所有的指标。现在我安装了它,一切都还在。我应该怎么做?也许有指标和其他一切的副本存放在某个地方?
请告知。
我写了一个简单的脚本(在靠近市场的两个方向设置两个吊坠,在新闻发布前把它放在图表上,这样我就不用手动操作了)。 这似乎要容易得多,但它不起作用,没有订单被打开,日志只是说脚本加载成功,然后在同一秒内立即删除!这是不可能的。它的编译没有错误。我把它转换为专家形式,即增加了init和deinit,在测试器中检查,它成功了。但是,正如你所理解的,我不需要一个专家顾问,而只是一个脚本。
这里有什么问题吗?预先感谢你。
以下是该脚本的代码。
我检查了一下。你的脚本是有效的。
打印错误以备不时之需。
请告知。
我写了一个简单的脚本(设置两个接近市场的挂件,在新闻发布前把它放在图表上,这样我就不用手动操作了)。 这似乎要容易得多,但它不起作用,没有订单被打开,日志只是说脚本加载成功,然后在同一秒内立即删除!这是不可能的。它的编译没有错误。我把它转换为专家形式,即增加了init和deinit,在测试器中检查,它成功了。但是,正如你所理解的,我不需要一个专家顾问,而只是一个脚本。
这里有什么问题吗?预先感谢你。
它对四位数的数字 起作用。我没有在五位数水平上进行检查,但我在StopLevel上增加了一个约束的检查。
原则上,你可以对四位数、五位数进行点调整,以避免错误。因为Delta水平应该是五位数的十倍,即150,而不是15,而停止和采取相应的...那么它将看起来像这样。
早晨好!
有没有人对指数有什么提示......?
早晨好!
有没有人对指数有什么提示......?
对,指数。
你好!
你能告诉我出了什么问题吗?我在英镑兑美元上使用测试器--它能按规定打开交易。我在美元指数DXH1上使用它 - 它没有打开很多交易,错误 "130" - 不正确的停止。此外,不清楚哪里出了问题--在类似的情况下,它打开和不打开,但不止于此。美元指数的价差和止损水平-100和200。GBPUSD-3和4的点差和止损水平。美元指数的价格,如78.150,在对-4位小数。但这是有依据的。
这里是代码的一部分。
就在我的脑海中。
1)SL和TP是非正常化的。
2) OrderSend在规范化时使用Digits,而订单是由Symb下的。
这样试试吧。
猜测一下。
1) SL和TP没有被规范化。
2)OrderSend使用Digits进行规范化处理,而顺序是由Symb设定的。
这样试试吧。