//+------------------------------------------------------------------+//| Check for close order conditions |//+------------------------------------------------------------------+void CheckForClose()
{
double ma;
//--- go trading only for first tiks of new barif(Volume[0]>1) return;
//--- get Moving Average
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
//--- check order type if(OrderType()==OP_BUY)
{
if(Open[1]>ma && Close[1]<ma)
{
if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
if(OrderType()==OP_SELL)
{
if(Open[1]<ma && Close[1]>ma)
{
if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
Print("OrderClose error ",GetLastError());
}
break;
}
}
//---
}
新しいタイプのアート。
トレーディングの風刺。
私はそれが好きだ。
1.C言語の知識は必要ない。MQL4は異なる機能である。
boopa26は人の時間を無駄にしない。
時間を無駄にした?上のコードがあなたの時間を無駄にしているように見えますか? ええと...おそらく違います WHRoeder
これは簡単なタスクではありませんでしたが、上のコードは注文を閉じることができます。
boopa26が思うに
静的 int last_index_inside_trade_pool = OrdersTotal()-1
while last_index_inside_trade_pool >=0 do 以下のコード。
以下のコードは、注文を見つけ、注文をチェック し、注文をクローズし、GetLastError()を実行する。
は理解できないが
では、なぜループを使ったコードを投稿 したのでしょうか?
サイクルコードは、サイクルを使わずに同じことをするために別の書き方をすることができます。
boopa26はfor cycles while cyclesよりif条件の方が好きです。
コードの書き方を知らずにコードを書けると思っているのか?関数は関係ない。
私はif条件whileサイクルを行う方法を知っているサイクルの基本的な数学。mql4はC言語プログラミングの例 * () == などはできますが、関数のため同じではありません。
0から1を選択するスイッチは何ですか?
オーダーセレクトファンクションは、オーダー合計が0より大きくなると、0から1に切り替わるのですか?
ドキュメント
"戻り値
関数が成功した場合はtrueを、そうでない場合はfalseを返します。エラー 情報を得るには、GetLastError() 関数を呼び出す必要があります。"
関数が成功した場合、1を返すのですか?
私はこの人が大好きです :-)
この掲示板にしか書いていないのですか、それとも他にリンクがあるのですか?
もしステージでやるのであれば、どこでチケットを入手できますか?
このフォーラムだけ
eddieさんは、オーダーセレクト機能について 何かご存知でしょうか?
では、なぜループを使ったコードを投稿 したのですか?
コードの書き方を知らないのに、コードを書けると思っているのか。関数は関係ない。
なぜ、あなたのコードがまだ動かないか不思議ですか?ステップ1」に従って「C」で適切にコーディングすることを学んでいれば、MQLでのコーディングはもっと上手になったはずです(CやC++に似ているからです)!あなたはまだ「基本」を知らないからです。
あなたは「関数」(ステップ3)さえも理解できていません!OrderSelect()」はいつから整数を返すようになったのか、ドキュメントには明確にブール値を返すと書いてあるのに。OrderClose()」の結果や、コードのどこかで実行時エラーが発生したかどうかのチェックもしない!
あなたの結果。そして、私たちのアドバイスに従わないので、私たちの時間も無駄にしています。