需要一个拖网专业人员的建议,即控制两个位置相互独立,如何实现? - 页 6 123456789 新评论 Aleksey 2011.10.31 14:56 #51 charony: 这大概就是它的工作原理。 只是我对启动拖网的标准不感兴趣。 我需要拖网来分别处理每一个未结头寸和其他头寸 这条线索只开始搜索处于正数的位置,它不会在负数位置上移动止损。 "可以为这两个位置设置50个点的拖网。 但它们不会同时关闭。 两个位置都有50点的拖累" 只有当两者都在正数时才会关闭,如果一个在正数,另一个在负数,那么止损将只在正数的位置移动。 [删除] 2011.10.31 14:58 #52 PozitiF: 我没有读完所有的页面,但我想我已经知道了它的要点。 https://www.mql5.com/ru/articles/1390,用订单创建一个数组,当你创建一个订单时,从某个地方取一个魔术,你可以在EA的输入参数中写上魔术=1,例如,在下一个开仓订单中增加1的值。 如果终端崩溃了,你将能够恢复阵列。 在我写的前一页中,Magic作为参数的trull。 这不是正确的数组,你不能把int和double放在同一个数组中。 Aleksey 2011.10.31 15:02 #53 charony: 这个数组是错误的,你不能把int和double放在同一个数组中。 你可以,它只是在点的前面放一个整数。 [删除] 2011.10.31 15:36 #54 PozitiF: 你可以,它只是在点的前面放一个整数。 双重价格 EUR/USD 1.3915 in int 1 int sell = 1, in double sell = 1.0 然后寻找程序不工作的原因???????? 或者更糟的是,"科利亚-马金 "叔叔出现了。 Aleksey 2011.10.31 15:42 #55 而且你为什么要把价格放在int里,我根本没有写过任何关于这个的内容,也没有建议过。 我写道,你可以把int数放在一个double类型的变量中。 从双倍数再回到int,对你来说都是有效的)https://www.mql5.com/ru/forum/136406 [删除] 2011.10.31 16:05 #56 我把int MN=TimeCurrent(); and this OrderSend(Symbol(),OP_BUY,Lots_New,Ask,2,0,0,NULL,MN,0,Green)。 也就是说,每个订单都有一个魔法。 在选择后的拖网中 int Tip=OrderType()。 如果(OrderSymbol()!=Symbol()||Tip>1)继续。 如果(OrderMagicNumber()==MN) 我现在要试试。 [删除] 2011.10.31 16:17 #57 不是的,一定是其他方面出了问题,我现在说的是拖网。 我们将寻找它。 [删除] 2011.10.31 16:28 #58 PozitiF: 而且你为什么要把价格放在int里,我根本没有写过任何关于这个的东西,也没有建议过。 我写道,你可以把int数放在一个double类型的变量中。 从double再回到int,又都能正常工作了)https://www.mql5.com/ru/forum/136406 双重价格EUR/USD 1.3915进入int 1,然后再次回到 双重价格,你会得到 1.0。 双重价格 欧元/美元 1,3915 =========> 双重 1.0 其中笑?????????????????? int 1------> double 1.0 ------> int 1在这里可能会起作用,但它并不酷。 Aleksey 2011.10.31 16:56 #59 charony: 不是的,一定是其他方面出了问题,我现在说的是拖网。 我去找找看。 Trall是100%有效的,它几乎在我所有的EA中都有效。 int Trall = 50; int MN= TimeCurrent(); OrderSend(Symbol(),OP_BUY,Lots_New,Ask,2,0,0,NULL,MN,0,Green); int Tip=OrderType(); if(OrderSymbol()!=Symbol()||Tip>1)continue; for(int i = 0; i<OrderTotals(); i++){ if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true){ if(OrderMagicNumber()==MN) TrailingStop(Trall, 5, MN); } } 它应该是拖网式的。 [删除] 2011.10.31 19:15 #60 //+-----------------------------trailingstop----------------------------------------------+ total=OrdersTotal(); for(int n=0;n<total;n++) { if(OrderSelect(n, SELECT_BY_POS, MODE_TRADES) == true) { int Tip=OrderType(); if(OrderSymbol()==Symbol()&&OrderType()==Tip) { MN = OrderMagicNumber(); TrailingStop(level_ts, level_step , MN); } } } return; // exit start() } //+-----------------------------start end----------------------------------------------+ void TrailingStop(int level_ts,int level_step , int MN) { int ot, err, quantity_orders, cx; bool fm; double op, as, bd, pt, sl, tp, ut; //---- quantity_orders = OrdersTotal(); if(quantity_orders >= 0) { for(cx = 0; cx < quantity_orders; cx++) { if(!OrderSelect(cx, SELECT_BY_POS, MODE_TRADES)) { Print("Error: SimpleTrailing(), OrderSelect: " + cx + ". Îøèáêà: " + GetLastError()); } if (OrderMagicNumber()==MN ) { pt = MarketInfo(OrderSymbol(), MODE_POINT); bd = MarketInfo(OrderSymbol(), MODE_BID); as = MarketInfo(OrderSymbol(), MODE_ASK); op = OrderOpenPrice(); ot = OrderType(); sl = OrderStopLoss(); tp = OrderTakeProfit(); ut = level_ts + level_step; if(ot == OP_BUY) { if(sl == 0 || sl < op) { if(op < (bd - ut * pt)) { sl = bd - level_ts * pt; } } else { if(sl < (bd - ut * pt) && bd > (op + ut * pt)) { sl = bd - level_ts * pt; } } } if(ot == OP_SELL) { if(sl == 0 || sl > op) { if(op > (as + ut * pt)) { sl = as + level_ts * pt; } } else { if(sl > (as + ut * pt) && as < (op - ut * pt)) { sl = as + level_ts * pt; } } } if (sl != OrderStopLoss()) { op = NormalizeDouble(op, Digits); tp = NormalizeDouble(tp, Digits); sl = NormalizeDouble(sl, Digits); fm = OrderModify(OrderTicket(), op, sl, tp, 0, CLR_NONE); } } } } } //+-----------------------------trailingstop end----------------------------------------------+ 我插入了代码,拖网工作了。 但问题仍然存在。 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这大概就是它的工作原理。
只是我对启动拖网的标准不感兴趣。
我需要拖网来分别处理每一个未结头寸和其他头寸
这条线索只开始搜索处于正数的位置,它不会在负数位置上移动止损。
"可以为这两个位置设置50个点的拖网。
但它们不会同时关闭。
两个位置都有50点的拖累"
只有当两者都在正数时才会关闭,如果一个在正数,另一个在负数,那么止损将只在正数的位置移动。
我没有读完所有的页面,但我想我已经知道了它的要点。
https://www.mql5.com/ru/articles/1390,用订单创建一个数组,当你创建一个订单时,从某个地方取一个魔术,你可以在EA的输入参数中写上魔术=1,例如,在下一个开仓订单中增加1的值。
如果终端崩溃了,你将能够恢复阵列。
在我写的前一页中,Magic作为参数的trull。
这不是正确的数组,你不能把int和double放在同一个数组中。
这个数组是错误的,你不能把int和double放在同一个数组中。
你可以,它只是在点的前面放一个整数。
双重价格 EUR/USD 1.3915 in int 1
int sell = 1, in double sell = 1.0
然后寻找程序不工作的原因????????
或者更糟的是,"科利亚-马金 "叔叔出现了。
而且你为什么要把价格放在int里,我根本没有写过任何关于这个的内容,也没有建议过。
我写道,你可以把int数放在一个double类型的变量中。
从双倍数再回到int,对你来说都是有效的)https://www.mql5.com/ru/forum/136406
我把int MN=TimeCurrent(); and this OrderSend(Symbol(),OP_BUY,Lots_New,Ask,2,0,0,NULL,MN,0,Green)。
也就是说,每个订单都有一个魔法。
在选择后的拖网中
int Tip=OrderType()。
如果(OrderSymbol()!=Symbol()||Tip>1)继续。
如果(OrderMagicNumber()==MN)
我现在要试试。
不是的,一定是其他方面出了问题,我现在说的是拖网。
我们将寻找它。
而且你为什么要把价格放在int里,我根本没有写过任何关于这个的东西,也没有建议过。
我写道,你可以把int数放在一个double类型的变量中。
从double再回到int,又都能正常工作了)https://www.mql5.com/ru/forum/136406
双重价格EUR/USD 1.3915进入int 1,然后再次回到 双重价格,你会得到 1.0。
双重价格 欧元/美元 1,3915 =========> 双重 1.0
其中笑??????????????????
int 1------> double 1.0 ------> int 1在这里可能会起作用,但它并不酷。
不是的,一定是其他方面出了问题,我现在说的是拖网。
我去找找看。
Trall是100%有效的,它几乎在我所有的EA中都有效。
它应该是拖网式的。
我插入了代码,拖网工作了。
但问题仍然存在。