[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 59 1...525354555657585960616263646566...631 新评论 [删除] 2012.04.07 16:51 #581 非常感谢你们,一切都在正常工作。我希望我有笑脸,我想放一束:) Igor Makanu 2012.04.07 16:53 #582 oleg_felix: 我如何设置执行交易的时间框架? (开始时间和结束时间) 见这里:https://www.mql5.com/ru/forum/135030 [删除] 2012.04.07 17:01 #583 有所帮助,谢谢,及时解决了这个问题! [删除] 2012.04.07 17:16 #584 请告诉我如何写一个简单的命令。 -将 一个订单转移 到一个无损的位置,以达到给定的点数 Igor Makanu 2012.04.07 17:24 #585 oleg_felix: 能否请你告诉我如何写一个简单的命令。 - 在一个开放的订单中,设置止损,以便在交易中获得一定的利润时达到收支平衡(考虑到点差)。 这里有一个函数可以将所有具有相同魔法数字的订单转换为黑/白,请试着用它进行实验 extern int LevelWLoss = 100; // Уровень безубытка в пп extern int LevelProfit = 300; // Уровень профита в пп //+----------------------------------------------------------------------------+ //| Перенос стопа в безубыток | //+----------------------------------------------------------------------------+ void MovingInWL(int Magic) { int i, k; string sym; double ord_open,ord_TP,ord_SL; k = OrdersTotal()-1; sym = Symbol(); for (i=k; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sym && OrderMagicNumber()==Magic) { ord_open = OrderOpenPrice(); ord_TP = OrderTakeProfit(); ord_SL = OrderStopLoss(); if (OrderType()==OP_BUY) { if (NormalizeDouble(ord_SL,Digits)==NormalizeDouble(0,Digits) || NormalizeDouble(ord_SL-ord_open,Digits)<NormalizeDouble(LevelWLoss*Point,Digits)) { if (NormalizeDouble(Bid-ord_open,Digits)>NormalizeDouble(LevelProfit*Point,Digits)) { OrderModify(OrderTicket(), ord_open, NormalizeDouble(ord_open+LevelWLoss*Point,Digits), ord_TP, 0, Yellow); } } } if (OrderType()==OP_SELL) { if (NormalizeDouble(ord_SL,Digits)==NormalizeDouble(0,Digits) || NormalizeDouble(ord_open-ord_SL,Digits)<NormalizeDouble(LevelWLoss*Point,Digits)) { if (NormalizeDouble(ord_open-Ask,Digits)>NormalizeDouble(LevelProfit*Point,Digits)) { OrderModify(OrderTicket(), ord_open, NormalizeDouble(ord_open-LevelWLoss*Point,Digits), ord_TP, 0, Yellow); } } } } } } return; } //_______________________________________________________________________ [删除] 2012.04.07 17:34 #586 伊戈尔-M 以下是我的EA代码:我想在哪里插入Breakeven函数? 外来的int tp = 0。 extern int sl = 0; Extern int BeginHour = 0; // 开始时间 Extern inttern EndHour = 0; // 结束时间 int start() { //---- if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]<Open[1] &&High[1]<Bid) // 检查前一栏的价格是否低于开栏的价格。当 的价格达到当前柱子的买入价 , ,即前一个柱子的高位 时买入订单。 OrderSend(Symbol(),OP_BUY,1,Ask,0,Ask-sl*Point,Ask+tp*Point,"",777,0,Red)。 if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]>Open[1] &&Low[1]>Bid) // 检查订单是否被打开,并且前一栏的关闭价格低于打开价格。当价格达到当前条形图的价格时买入订单 Bid , 前一个条形图的高位。 OrderSend(Symbol(),OP_SELL,1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",777,0,Red)。 //---- return(0); } [ARCHIVE!] Any rookie question, Can anybody help me 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 Igor Makanu 2012.04.07 17:43 #587 oleg_felix:这是我的EA代码:我应该把Breakeven函数放在哪里?我认为在这个阶段,只要在你的代码末尾加上我的函数,并在你的代码中至少做到以下几点就可以了。 如果(OrdersTotal()> 0) MovingInWL(777); 在你的代码的开头添加 Extern int LevelWLoss = 100; // 以点为单位的盈亏平衡水平 extern int LevelProfit = 300; // 以点为单位的盈利水平 我很怀疑你是否能自己解决这个问题 :) Юсуфходжа 2012.04.08 04:01 #588 DmitriyN: 你可以。当你在家时,也可以从设置在工作场所 的电脑上管理一个账户,反之亦然。 谢谢你。 [删除] 2012.04.08 04:12 #589 我试图重做别人的功能,"有点 "乱了,这里有一段代码。 string FileName = test.txt; int FileHandle=FileOpen(FileName,FILE_READ); if (FileHandle < 0) { Print("Файл не найден."); } string strInfo; int i; if (FileHandle>0) { while (i<20) { if (FileHandle == 1) { string strInfo1=FileReadString(FileHandle); }else{ if (FileHandle == 2) { string strInfo2=FileReadString(FileHandle); }else{ if (FileHandle == 3) { string strInfo3=FileReadString(FileHandle); }else{ if (FileHandle == 4) { string strInfo4=FileReadString(FileHandle); }else{ if (FileHandle == 5) { string strInfo5=FileReadString(FileHandle); }else{ if (FileHandle == 6) { string strInfo6=FileReadString(FileHandle); }else{ if (FileHandle == 7) { string strInfo7=FileReadString(FileHandle); }else{ if (FileHandle == 8) { string strInfo8=FileReadString(FileHandle); }else{ if (FileHandle == 9) { string strInfo9=FileReadString(FileHandle); }else{ if (FileHandle == 10) { string strInfo10=FileReadString(FileHandle); }else{ Print("Ошибка! В файле должно быть не более 10 записей!"); } } } } } } } } } } if (StrToInteger(strInfo1)==12345||StrToInteger(strInfo2)==12345|| StrToInteger(strInfo3)==12345||StrToInteger(strInfo4)==12345|| StrToInteger(strInfo5)==12345||StrToInteger(strInfo6)==12345|| StrToInteger(strInfo7)==12345||StrToInteger(strInfo8)==12345|| StrToInteger(strInfo9)==12345||StrToInteger(strInfo10)==12345) { isNumInFile = TRUE; } if (FileIsEnding(FileHandle) && isNumInFile == FALSE) { Print("Достигнут конец файла, искомое значение не найдено"); break; } i++; if (i>100) break; } FileClose(FileHandle); } 我想让它在test.txt文件的前10行中找到某个值,如果行数超过10行,就会出现错误 "Error!文件中的记录不应超过10条!",但由于某些原因,它仍然会浏览所有的记录,请帮助我解决这个问题,如果你能简化代码,把它作为一个单独的函数。 [删除] 2012.04.08 05:14 #590 各位,请用简单的形式解释一下,什么是参数的引用转移。我读过文件,但只了解到这是可能的,而且在变量标识后面必须加上修饰词&。如果在解释的同时有一个带有解释的小程序,那就更好了...通常的参数传递和通过引用传递参数之间有什么区别? 1...525354555657585960616263646566...631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
见这里:https://www.mql5.com/ru/forum/135030
请告诉我如何写一个简单的命令。
-将 一个订单转移 到一个无损的位置,以达到给定的点数
能否请你告诉我如何写一个简单的命令。
- 在一个开放的订单中,设置止损,以便在交易中获得一定的利润时达到收支平衡(考虑到点差)。
这里有一个函数可以将所有具有相同魔法数字的订单转换为黑/白,请试着用它进行实验
伊戈尔-M
以下是我的EA代码:我想在哪里插入Breakeven函数?
外来的int tp = 0。
extern int sl = 0;
Extern int BeginHour = 0; // 开始时间
Extern inttern EndHour = 0; // 结束时间
int start()
{
//----
if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]<Open[1] &&High[1]<Bid) // 检查前一栏的价格是否低于开栏的价格。当 的价格达到当前柱子的买入价 , ,即前一个柱子的高位 时买入订单。
OrderSend(Symbol(),OP_BUY,1,Ask,0,Ask-sl*Point,Ask+tp*Point,"",777,0,Red)。
if(OrdersTotal()==0 &&Hour() >=BeginHour&&Hour() <EndHour&&Close[1]>Open[1] &&Low[1]>Bid) // 检查订单是否被打开,并且前一栏的关闭价格低于打开价格。当价格达到当前条形图的价格时买入订单 Bid , 前一个条形图的高位。
OrderSend(Symbol(),OP_SELL,1,Bid,0,Ask+sl*Point,Ask-tp*Point,"",777,0,Red)。
//----
return(0);
}
这是我的EA代码:我应该把Breakeven函数放在哪里?
我认为在这个阶段,只要在你的代码末尾加上我的函数,并在你的代码中至少做到以下几点就可以了。
如果(OrdersTotal()> 0) MovingInWL(777);
在你的代码的开头添加
Extern int LevelWLoss = 100; // 以点为单位的盈亏平衡水平
extern int LevelProfit = 300; // 以点为单位的盈利水平
我很怀疑你是否能自己解决这个问题 :)
你可以。当你在家时,也可以从设置在工作场所 的电脑上管理一个账户,反之亦然。
我试图重做别人的功能,"有点 "乱了,这里有一段代码。
我想让它在test.txt文件的前10行中找到某个值,如果行数超过10行,就会出现错误 "Error!文件中的记录不应超过10条!",但由于某些原因,它仍然会浏览所有的记录,请帮助我解决这个问题,如果你能简化代码,把它作为一个单独的函数。
各位,请用简单的形式解释一下,什么是参数的引用转移。我读过文件,但只了解到这是可能的,而且在变量标识后面必须加上修饰词&。如果在解释的同时有一个带有解释的小程序,那就更好了...通常的参数传递和通过引用传递参数之间有什么区别?