ea 在哪里
Habibur Rohman :
ea 在哪里
ea 在哪里
顾问哪儿也没去。顾问已就位:

我想为自己改进智能交易系统,但要做到这一点,我需要了解很多东西!(很多事情我都不懂)。我将分头提问。
有一个代码:
if(m_need_delete_buy_stop || m_need_delete_sell_stop) { int count_buy_stops=0,count_sell_stops=0; CalculateAllPendingOrders(count_buy_stops,count_sell_stops); if(m_need_delete_buy_stop) { if(count_buy_stops>0) { DeleteOrders(ORDER_TYPE_BUY_STOP); return; } else { m_need_delete_buy_stop=false; return; } } if(m_need_delete_sell_stop) { if(count_sell_stops>0) { DeleteOrders(ORDER_TYPE_SELL_STOP); return; } else { m_need_delete_sell_stop=false; return; } } }
它是做什么的?
Sysmart:
我想为自己改进智能交易系统,但要做到这一点,我需要了解很多东西!(很多事情我都不懂)。我将分头提问。
有一个代码:
它是做什么的?
如果标志"m_need_delete_buy_stop"("需要删除挂起的 买入止损单")或 "m_need_delete_sell_stop"("需要删除挂起的卖出止损单")被触发,则继续删除。
if(m_need_delete_buy_stop || m_need_delete_sell_stop)
{ 继续删除。
我们会计算 Expert Advisor 当前有多少挂单:
int count_buy_stops=0,count_sell_stops=0; CalculateAllPendingOrders(count_buy_stops,count_sell_stops);
如果 "需要删除挂起的买入止损单":
if(m_need_delete_buy_stop) { if(count_buy_stops>0) { DeleteOrders(ORDER_TYPE_BUY_STOP); return; } else { m_need_delete_buy_stop=false; return; } }
且已下买入止损单的数量大于零('count_buy_stops') - 则删除它们。如果数量等于零,则重置"m_need_delete_buy_stop"标志。
如果 "有必要删除挂起的卖出止损单",我们也会这样做...
Совершение сделок - Торговые операции - Справка по MetaTrader 5
- www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
谢谢!
另一个我不明白的代码
//--- 我们只在新栏诞生时工作 static datetime PrevBars=0; datetime time_0=iTime(m_symbol.Name(),InpWorkTimeFrame,0); if(time_0==PrevBars) return; PrevBars=time_0; if(!RefreshRates()) { PrevBars=0; return; }
谢谢。我最终明白了:
//--- 我们只在新栏诞生时工作 // 在静态变量中记住最后一小节的开启时间 static datetime PrevBars=0; // 当前时间(iTime - 返回酒吧营业时间的值) datetime time_0=iTime(m_symbol.Name(),InpWorkTimeFrame,0); if(time_0==PrevBars) return; // 如果时间不同是因为条件已过 if(time_0==PrevBars) // 记住时间 PrevBars=time_0; // 如果报价尚未更新,则重置上一栏的开仓时间 if(!RefreshRates()) { PrevBars=0; return; } // 如果你已经到了这里,那就不是一个新酒吧了。
如果没有您的链接,我也不会明白这一点)。
Sysmart:
谢谢。这是我最后的感悟:
如果没有您的链接,我是不会明白的)。
小小更正。这
// 如果你已经到了这里,那就不是一个新酒吧了。 不正确。是正确的:
// 你已经到达了这里,所以酒吧是新的。
对了,下面就是代码:
if(!RefreshRates() || !m_symbol.Refresh()) { PrevBars=0; return; }
我认为它与上面讨论的代码有部分重复:
if(!RefreshRates()) { PrevBars=0; return; }
我认为可以删除
Vladimir Karputov:
谢谢)!
稍作更正。这是
是不正确的。是正确的:
Cidomo:
智能交易系统使用突破买入 (Buy Stop) 和突破卖出 (Sell Stop) 挂单。
作者: Vladimir Karputov