フォワードテストを使用して実行しているEAがありますが、問題が解決しません。異なるチャートで同時にアクティブな注文をすることはできません(各チャートが異なるペアを表す)。

私は毎回Symbolチェックをしていますが、それでも異なる通貨の複数の注文が適用されない理由を見つけることができないようです。異なるペアとの取引が行われるのは事実ですが、毎回1ペアのみです。私は、各ペアが一度に1つのオーダーを持つことになるアクティブなオーダーを持つ複数のペアを持つことを望んでいました。しかし、私はすべてのペアが1回発生するという順序を1つ持っています。

以下は注文がトリガーされるキーコードです。私は何かが足りないのですか?

事前にご協力いただきありがとうございます。

コード:

Quote Originally Posted by ;
int start()
{
intカウント。

if(Barslt; 100){印刷(100未満の小節); (0)を返します。 }

total = OrdersTotal();

if(trend!= 0){last_trend = trend; }
trend = MACD_Direction();
strength = trend_strength();

if(pending_timegt; 0)last_pending_time = pending_time。

(count = 0; countlt; total; count )> gt;
{
OrderSelect(count、SELECT_BY_POS、MODE_TRADES);
if(OrderType()lt; = OP_SELL OrderSymbol()== Symbol())
{
if(OrderType()== OP_BUY find_highest)
{
trailing_stop(1);
if(Close [0] gt; = OrderOpenPrice() Point * 5){pending_time = 0; revival_attempts = 0; opposite_trend_duration = 0; opp_trend_period = 0; }
if(Close [0] lt; orderopenprice() point * 5){= pending_time = last_loss = OrderOpenPrice() Point * 5 - Close [0]; opp_trend_period = 0;} lt; brgt; if(strengthlt; = - 0.95 * MACD_level)opp_trend_period ;
if(best_deal()gt; 0)ClosePending();
}
そうでなければ(OrderType()== OP_SELL find_lowest)
{
trailing_stop(2);
if(Close [0] lt; = OrderOpenPrice() - Point * 5){pending_time = 0; revival_attempts = 0; opp_trend_period = 0; }
if(Close [0] gt; OrderOpenPrice() - Point * 5)pending_time ;
if(strengthgt; = 0.95 * MACD_level)opp_trend_period ;
if(best_deal()gt; 0)ClosePending();
}
}
}

if(trendgt; 0 strengthgt; = 0.95 * MACD_level){buy_flag = true; sell_flag = false; last_trend =トレンド。 }
if(trendlt; 0 strengthlt; = - 0.95 * MACD_level){sell_flag = true; buy_flag = false; last_trend =トレンド。 }

if((sell_flag == true || buy_flag == true)合計== 0トレンド!= 0)
{
if(buy_flag == true)do_order(1);
if(sell_flag == true)do_order(2)。
}
}
<;orderopenprice() point * 5)>; <;total; count )>;