[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 283 1...276277278279280281282283284285286287288289290...652 新评论 Victor Nikolaev 2011.10.22 15:26 #2821 Shniperson: 你好!你能告诉我如何 "循环 "检查上/下栏吗? 也就是说,我怎样才能把这种情况描述得 "更短"? Close[0]>Open[0]&& Close[1]>Open[1]&& Close[2]>Open[2]&& Close[3]>Open[3] &&& Close[4]>Open[4]&& Close[5]>Open[5]&& Close[6]>Open[6]&& Close[7]>Open[7] bool Res=true; for(int i=0;i<8;i++) Res = Res && Close[i]>Open[i]; 提前感谢。 你可以这么做,但不可能更快。条件需要放宽一些 Mikhail Igonin 2011.10.23 08:31 #2822 我不知道如何把这变成一种生活,我能做到吗? 我的策略最好是在终端8点手动开仓,如果盈利,则到第二天。如果利润没有向我的方向发展,那么在亏损时,我就反转头寸+--无论如何,我在这一天都不会开更多的头寸,而是等到早上8点钟。也就是说,最多只能有两个订单,不能再多了。如果我们没有达到盈利,但拖网移动到盈亏平衡点,我们也会翻转。当然,我们可以处理所有的事情,但我们的工作不允许我们监测位置。最好是下一个订单,让EA跟上这个位置。我附上了RSI,只是为了在策略测试器中测试它。 这就是我所需要的一切。 extern int Hour_To_Open = 08; //час открытия (-1 - не задано), терминальное время extern int Minute_To_Open = 00; //минута открытия (-1 - не задано), терминальное время extern double TakeProfit = 50; extern double StopLoss = 30; extern double Lot = 0.1; extern int MagicNumber = 655433; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if((Hour()==Hour_To_Open) && (Minute()==Minute_To_Open)) { //если настало время открытия сделок int total = OrdersTotal(); for (int i = 0; i < total; i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) { return(0); } } int ticket=1; if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PR ICE_CLOSE,1)) { ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Bid - StopLoss * Point,Bid + TakeProfit * Point,"My order #",MagicNumber,0,Blue); if(ticket<0) { Sleep(30000); } } else { ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Ask + StopLoss * Point,Ask - TakeProfit * Point,"My order #",MagicNumber,0,Red); if(ticket<0) { Sleep(30000); } } } //end if((Hour()==Hour_To_Open) && (Minute()==Minute_To_Open)) //---- return(0); } //+------------------------------------------------------------------+ 我有这个跟踪止损,我从另一个EA那里拿来的,但它对我不起作用。 extern bool UseTrailing = true; //включение/выключение T-SL extern int TrailingStop = 50; // Фиксированный размер трала extern int TrailingStep = 1; // Шаг трала //+-------------------------------------------------------------------------------------------------------------------+ //| трейлинг стоп лосс | void T_SL() { int i=0; for(i=0; i<OrdersTotal(); i++) { if(!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue; if(OrderSymbol() != Symbol()) continue; if(OrderType()==OP_BUY) { if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble(TrailingS top*Point,Digits)) { if(NormalizeDouble(OrderStopLoss(),Digits)<Normali zeDouble(Bid-(TrailingStop+TrailingStep-1)*Point,Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid-TrailingStop*Point,Digits), OrderTakeProfit(), 0, CLR_NONE); } //end if(NormalizeDouble(Bid-OrderOpenPrice(),Digits)>NormalizeDouble(TrailingS top*Point,Digits)) } //end if(OrderType()==OP_BUY) if(OrderType()==OP_SELL) { if(NormalizeDouble(OrderOpenPrice()-Ask,Digits)>NormalizeDouble(TrailingStop*Point,Dig its)) { if(NormalizeDouble(OrderStopLoss(),Digits)>Normali zeDouble(Ask+(TrailingStop+TrailingStep-1)*Point,Digits)) OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask+TrailingStop*Point,Digits), OrderTakeProfit(), 0, CLR_NONE); } //end if(NormalizeDouble(OrderOpenPrice()-Ask,Digits)>NormalizeDouble(TrailingStop*Point,Dig its)) } //end if(OrderType()==OP_SELL) } //end for(i=0; i<OrdersTotal(); i++) } //end void T_SL() //| трейлинг стоп лосс | //+-------------------------------------------------------------------------------------------------------------------+ 我怎样才能附上它呢?而反转,在开仓后 应该只起一次作用。 Mikhail Igonin 2011.10.23 08:37 #2823 逆转一定是在寻找这里的某个地方,我想是不是? boolOrderCloseBy(int ticket, int opposite, color Color Color=CLR_NONE) 用同一仪器上开出的另一个头寸关闭一个未结头寸,但方向相反。在函数成功完成时返回TRUE。当函数失败时返回FALSE。要获得有关错误的信息,请调用GetLastError() 函数。 参数。 门票 - 要关闭的订单的唯一序列号。 相反地 - 相反的订单的唯一序列号。 颜色 - 图表上收盘箭头的颜色。如果缺少该参数或其值为CLR_NONE,则箭头不会显示在图表上。 例子。 如果(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderCloseBy(order_id,opposite_id); return(0); } Константин 2011.10.23 08:39 #2824 专业人士先生,你能告诉我是否可以从工具栏上运行一个脚本?目前,写好的脚本必须从导航器中运行,或者用预设的组合键运行(由于某些原因,这只在一段时间内有效)。问题 - 是否可以,例如,从面板"图形工具"中指定一个新功能的图标,并从工具栏上运行脚本?也许还有其他选择? Alexey Bondarenko 2011.10.23 08:40 #2825 下午好。 你能告诉我在哪里可以看到OrderSend() 函数的原始代码吗? 提前感谢。 costy_ 2011.10.23 09:44 #2826 kon12: 专家先生,请教,是否可以从工具栏上运行脚本?目前,该脚本必须从导航器中运行,或者使用预设的组合键(不知为何只能运行一次)。问题--例如,是否有可能为 "图形工具 "面板上的图标指定一个新功能,并从工具栏上运行脚本?还有其他选择吗?没有,但你可以用 标签对象的拖放作为例子...... 下载 ,提取到终端,并进行替换,允许在终端设置中导入dll,将专家顾问附在 专家身上,输入要启动的脚本的名称,重新启动终端或进行编译。 专家顾问实现--在图表上拖动对象时按其名称加载指定图表上的脚本。 ServiceLoadScript(WindowHandle(Symbol(), Period()), "ZZ_All_Quotings 4.10425", /*<---- Имя загружаемого скрипта.*/ false); 附加的文件: trade_1.mq4 2 kb [删除] 2011.10.23 10:05 #2827 下午好!!!。 请告知。我正在编写一个在通道断裂 时工作的EA,在通道后面放两个待定的。当其中一个触发时,另一个应该被移除。如何在代码中实现它? Роман 2011.10.23 10:19 #2828 Parn25:下午好!!!。请告知。我正在编写一个在通道断裂时工作的EA,在通道后面放两个待定的。当其中一个触发时,另一个应该被删除。如何在代码中实现它? 也许这将是一个好主意--我自己没有做过--如果你的EA只允许一个市场订单(在之前下的2个挂单中),那么监测(跟踪)你的(魔术师)订单(市场)在市场中的可用性,一旦它出现,就删除挂单。这就是全部。如果你想删除一个待处理的订单,用谷歌搜索类似 "删除订单 site:mql4.com"。 [删除] 2011.10.23 10:44 #2829 你好! 在测试器上运行EA。服务器是四位数。当在日志中放置买入 或卖出订单 时,说 2011.10.23 15:27:26 2010.12.16 06:16 test_sovetnik GBPUSD,H1: open #1 buy 0.10 GBPUSD at 1.5551 sl: 1.4551 tp: 1.5586 ok 但开盘价为1.55512 !在五位数上。然后,挂单以四位数下单,也以四位数触发。但OP_SELL和OP_BUY的开盘价只有五位数! 我做了NormalizeDouble(Ask,Digits)。 没有什么是有效的!请告知如何解决这个问题? 当然,你可以忽略最后一位数字。错误并没有发生,但为了实验的纯粹性,我需要所有的交易都以四位数进行。 ZZZEROXXX 2011.10.23 10:50 #2830 ZZZEROXXX: 请告知如何修复一个EA,例如标准的移动平均线,把它变成一个脚本,以便在非标准的时间框架上运行它。 如果你能告诉我如何将EA变成一个脚本,我将非常感激。 1...276277278279280281282283284285286287288289290...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好!你能告诉我如何 "循环 "检查上/下栏吗? 也就是说,我怎样才能把这种情况描述得 "更短"?
Close[0]>Open[0]&& Close[1]>Open[1]&& Close[2]>Open[2]&& Close[3]>Open[3] &&& Close[4]>Open[4]&& Close[5]>Open[5]&& Close[6]>Open[6]&& Close[7]>Open[7]
提前感谢。
你可以这么做,但不可能更快。条件需要放宽一些
我不知道如何把这变成一种生活,我能做到吗?
我的策略最好是在终端8点手动开仓,如果盈利,则到第二天。如果利润没有向我的方向发展,那么在亏损时,我就反转头寸+--无论如何,我在这一天都不会开更多的头寸,而是等到早上8点钟。也就是说,最多只能有两个订单,不能再多了。如果我们没有达到盈利,但拖网移动到盈亏平衡点,我们也会翻转。当然,我们可以处理所有的事情,但我们的工作不允许我们监测位置。最好是下一个订单,让EA跟上这个位置。我附上了RSI,只是为了在策略测试器中测试它。
这就是我所需要的一切。
我有这个跟踪止损,我从另一个EA那里拿来的,但它对我不起作用。
我怎样才能附上它呢?而反转,在开仓后 应该只起一次作用。
逆转一定是在寻找这里的某个地方,我想是不是?
下午好。
你能告诉我在哪里可以看到OrderSend() 函数的原始代码吗?
提前感谢。
专家先生,请教,是否可以从工具栏上运行脚本?目前,该脚本必须从导航器中运行,或者使用预设的组合键(不知为何只能运行一次)。问题--例如,是否有可能为 "图形工具 "面板上的图标指定一个新功能,并从工具栏上运行脚本?还有其他选择吗?
没有,但你可以用 标签对象的拖放作为例子......
下载 ,提取到终端,并进行替换,允许在终端设置中导入dll,将专家顾问附在 专家身上,输入要启动的脚本的名称,重新启动终端或进行编译。
专家顾问实现--在图表上拖动对象时按其名称加载指定图表上的脚本。
下午好!!!。
请告知。我正在编写一个在通道断裂 时工作的EA,在通道后面放两个待定的。当其中一个触发时,另一个应该被移除。如何在代码中实现它?
下午好!!!。
请告知。我正在编写一个在通道断裂时工作的EA,在通道后面放两个待定的。当其中一个触发时,另一个应该被删除。如何在代码中实现它?
也许这将是一个好主意--我自己没有做过--如果你的EA只允许一个市场订单(在之前下的2个挂单中),那么监测(跟踪)你的(魔术师)订单(市场)在市场中的可用性,一旦它出现,就删除挂单。这就是全部。如果你想删除一个待处理的订单,用谷歌搜索类似 "删除订单 site:mql4.com"。
你好!
在测试器上运行EA。服务器是四位数。当在日志中放置买入 或卖出订单 时,说
2011.10.23 15:27:26 2010.12.16 06:16 test_sovetnik GBPUSD,H1: open #1 buy 0.10 GBPUSD at 1.5551 sl: 1.4551 tp: 1.5586 ok
但开盘价为1.55512 !在五位数上。然后,挂单以四位数下单,也以四位数触发。但OP_SELL和OP_BUY的开盘价只有五位数!
我做了NormalizeDouble(Ask,Digits)。
没有什么是有效的!请告知如何解决这个问题?
当然,你可以忽略最后一位数字。错误并没有发生,但为了实验的纯粹性,我需要所有的交易都以四位数进行。
请告知如何修复一个EA,例如标准的移动平均线,把它变成一个脚本,以便在非标准的时间框架上运行它。
如果你能告诉我如何将EA变成一个脚本,我将非常感激。