if (OrdersTotal()!=0 && Bid == Delete_Level)
{
for (int i=1; i<=OrdersTotal(); i++) //Cycle for all orders..
{
if(OrderSelect(i-1,SELECT_BY_POS)==true)//If there is the next one
{
if(OrderType()>1)
{
if(OrderDelete(OrderTicket())==true)
{
Alert ("Ордера удалены");
}
}
}
}
}
Delete_Levelは、現在までの3本のバーにおけるMA30の位置で決定されます。
double MA3 = iMA(NULL, 0, MA_Period_2, 0, MODE_SMA, PRICE_CLOSE, 2); //определение уровня MAdouble Delete_Level = MA3;// Определение значения переменной
日付を扱う関数、つまり、2つの日付の差は0より大きいかどうかを判断する関数の例はありますか?
また、あなたの理解やMQLの理解では、日付とは何ですか?
みんな、コードを理解するのを手伝ってくれ。主なタスクは、あるレベルに達したときに保留中の注文を削除 することです。
Delete_Levelは、現在までの3本のバーにおけるMA30の位置で決定されます。
しかし、このDelete_Levelでは注文は削除されない。何が私の誤りなのか理解するのを助けてください。
"アルゴリズムの行き先 "とは?
削除されないと言うことは、OrderDeleteに行かないということですよね。
では、どこに行くのか、どのような条件でブロックしているのかが問題です。
削除されないと言うことは、OrderDeleteに至らないということですよね。
問題は、それがどこに届くのか、どのような条件でブロックされるのか、ということです。
その理屈はよくわかります。これから直してみようと思います。
何かがクリアになった。でも、まだ解決方法がわからない。Alert を使ってみると、条件
が満たされない。if(OrdersTotal()!=0)" だけは別途可能だが、"Bid == Delete_Level" と一緒にしてはいけない。その理由は何でしょうか。Delete_Level に達したときに、保留中の注文が 削除されない理由。保留中の注文がDelete_Levelに達したときに削除するために、何か提案や代替策をお願いします。
何かがクリアになった。でも、どうすれば解決できるのか、まだわからないんです。Alert を使ってみると、条件
が満たされない。if(OrdersTotal()!=0)" だけは別途可能だが、"Bid == Delete_Level" と一緒にしてはいけない。その理由は何でしょうか。Delete_Level に達したときに、保留中の注文が削除されない理由。保留中の注文がDelete_Levelに達したときに削除するために、何か提案や代替策をお願いします。
これらの変数を正規化し、「共通分母に還元」します。たとえば、Delete_Level 変数の値に何らかの許容範囲(±)を使用します。
何かがクリアになった。でも、どうすれば解決できるのか、まだわからないんです。Alert を使ってみると、条件
が満たされない。if(OrdersTotal()!=0)" だけは別途可能だが、"Bid == Delete_Level" と一緒にしてはいけない。その理由は何でしょうか。Delete_Level に達したときに、保留中の注文が削除されない理由。保留中の注文がDelete_Levelに達したときに削除するために、何か提案や代替策をお願いします。
例えば、こんな感じです。
申し訳ありませんが、お手柔らかにお願いします) のエラーについて教えてください。