你需要写一个顾问。我有一个想法。 - 页 4 1234567 新评论 Alexander 2009.01.15 00:17 #31 dimasik >>: lascu.roman, ты можешь сделать чтобы ордера открывались не с рынка, а отложенниками??? Это важно, потому что брокер с рынка не принимает сразу установку SL и TP. Вот. 这要分2个步骤进行。 1) 在市场上开盘 TP = 0, SL = 0 2)修改SL、TP。 还是我弄错了? Alexander 2009.01.15 00:18 #32 meta-trader2007 >> : 事实上,这个TS在H1和更高的时间段是有利可图的(但并不总是如此,有时是在没有趋势的情况下)。 最主要的是不要使用TP,拖网必须是3次以上的停顿。 我一定是在错误的地方做了测试 =) Павел 2009.01.15 04:36 #33 GarF1eld >> : 它分两步完成。 ... 还是我弄错了? 最好把直流电改成正常的。 也许我在错误的地方进行了测试 =) 你必须在一个低劣的故事上进行测试) 而在检查站上的情况是这样的。 Дима 2009.01.15 14:08 #34 我已经有了点头绪了)。 Дима 2009.01.15 14:12 #35 meta-trader2007 >> : 最好是把直流电改成正常的直流电。 你必须在一个质量差的故事上进行测试) 这就是检查站上的情况。 您能否在专家顾问中增加关于待定订单的内容,在下一对订单打开时删除以前的订单? 这将是非常好的......而且贸易流不会被堵塞......418的错误正在出现。 Дима 2009.01.15 14:33 #36 并在已经打开的其中一个被触发时删除) [删除] 2009.01.15 15:10 #37 extern bool Limits = TRUE; // TRUE - LIMIT orders; FALSE - STOP orders extern double Distance = 10; // Probably less than zero extern double TP = 144; extern double SL = 55; extern double TralSL = 34; extern double Lots = 0.1; double Spread; void init() { Distance *= Point; TP *= Point; SL *= Point; TralSL *= Point; Spread = Point * MarketInfo(Symbol(), MODE_SPREAD); return; } void TrailingOrders() { int i, Total = OrdersTotal(); double Difference, tp, sl; for ( i = 0; i < Total; i++) { OrderSelect( i, SELECT_BY_POS); if (OrderType() == OP_BUY) { sl = Bid - TralSL; Difference = NormalizeDouble( sl - OrderStopLoss(), Digits); if ( Difference > 0) { sl = NormalizeDouble( sl, Digits); OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0); } } else if (OrderType() == OP_SELL) { sl = Ask + TralSL; Difference = NormalizeDouble( sl - OrderStopLoss(), Digits); if ( Difference < 0) { sl = NormalizeDouble( sl, Digits); OrderModify(OrderTicket(), OrderOpenPrice(), sl, OrderTakeProfit(), 0); } } } return; } bool OrderScan( int TypeOrder ) { int i, Total = OrdersTotal(); for ( i = 0; i < Total; i++) { OrderSelect( i, SELECT_BY_POS); if (OrderType() == TypeOrder) return(TRUE); } return(FALSE); } void MyOrderSend( int TypeOrder, double open, double sl, double tp ) { if ( OrderScan( TypeOrder)) OrderModify(OrderTicket(), open, sl, tp, 0); else OrderSend(Symbol(), TypeOrder, Lots, open, 0, sl, tp); return; } void OpenOrders( double H, double L ) { double open, tp, sl; if ( Limits) { if (! OrderScan(OP_BUY)) { open = NormalizeDouble( L - Distance + Spread, Digits); tp = NormalizeDouble( open + TP, Digits); sl = NormalizeDouble( open - SL, Digits); MyOrderSend(OP_BUYLIMIT, open, sl, tp); } if (! OrderScan(OP_SELL)) { open = NormalizeDouble( H + Distance, Digits); tp = NormalizeDouble( open - TP, Digits); sl = NormalizeDouble( open + SL, Digits); MyOrderSend(OP_SELLLIMIT, open, sl, tp); } } else { if (! OrderScan(OP_BUY)) { open = NormalizeDouble( H + Distance + Spread, Digits); tp = NormalizeDouble( open + TP, Digits); sl = NormalizeDouble( open - SL, Digits); MyOrderSend(OP_BUYSTOP, open, sl, tp); } if (! OrderScan(OP_SELL)) { open = NormalizeDouble( L - Distance, Digits); tp = NormalizeDouble( open - TP, Digits); sl = NormalizeDouble( open + SL, Digits); MyOrderSend(OP_SELLSTOP, open, sl, tp); } } return; } void start() { static int PrevTime = 0; TrailingOrders(); if ( PrevTime == Time[0]) return; PrevTime = Time[0]; OpenOrders(High[1], Low[1]); return; } mpeugep,在这里公布你的测试结果。 Dimasik 2009.01.15 17:07 #38 在演示中运行这些EA,订单没有被放置....原因是什么呢? [删除] 2009.01.15 17:19 #39 dimasik >> : 在演示中运行这些EA,订单没有被放置....原因是什么呢? 只要没有相应的未结头寸,待定订单就会在新条形图形成之初下达。 在此写下附有堆栈的测试器的积极结果。 Дима 2009.01.15 17:52 #40 当我在DAX演示中实时测试exp_Higt-Low.mq4专家时(5小时),起初它显示盈利,然后它开始亏损。 我只有一句话要说--朝这个方向努力是可能的。唯一的问题是,我的专家顾问试图加载一个带有挂单的 交易流程,这就是为什么它有一个关闭挂单的任务,例如,当其中一个挂单被触发或当其中一个新的对子打开时。 到mql4com 你能按照我上面的描述,添加meta-trader2007之前发布的exp_Higt-Low.mq4吗? 我明天将继续测试。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
lascu.roman, ты можешь сделать чтобы ордера открывались не с рынка, а отложенниками??? Это важно, потому что брокер с рынка не принимает сразу установку SL и TP. Вот.
这要分2个步骤进行。
1) 在市场上开盘 TP = 0, SL = 0
2)修改SL、TP。
还是我弄错了?
事实上,这个TS在H1和更高的时间段是有利可图的(但并不总是如此,有时是在没有趋势的情况下)。
最主要的是不要使用TP,拖网必须是3次以上的停顿。
我一定是在错误的地方做了测试 =)
它分两步完成。
...
还是我弄错了?
最好把直流电改成正常的。
也许我在错误的地方进行了测试 =)
你必须在一个低劣的故事上进行测试)
而在检查站上的情况是这样的。
最好是把直流电改成正常的直流电。
你必须在一个质量差的故事上进行测试)
这就是检查站上的情况。
您能否在专家顾问中增加关于待定订单的内容,在下一对订单打开时删除以前的订单?
这将是非常好的......而且贸易流不会被堵塞......418的错误正在出现。
mpeugep,在这里公布你的测试结果。
在演示中运行这些EA,订单没有被放置....原因是什么呢?
在演示中运行这些EA,订单没有被放置....原因是什么呢?
只要没有相应的未结头寸,待定订单就会在新条形图形成之初下达。
在此写下附有堆栈的测试器的积极结果。
当我在DAX演示中实时测试exp_Higt-Low.mq4专家时(5小时),起初它显示盈利,然后它开始亏损。
我只有一句话要说--朝这个方向努力是可能的。唯一的问题是,我的专家顾问试图加载一个带有挂单的 交易流程,这就是为什么它有一个关闭挂单的任务,例如,当其中一个挂单被触发或当其中一个新的对子打开时。
到mql4com
你能按照我上面的描述,添加meta-trader2007之前发布的exp_Higt-Low.mq4吗?
我明天将继续测试。