■超簡単な売買プログラム(リピートイフダン編)を作ってみました。


// 外部パラメータ
extern int MaxLots = 5; // 最大ポジション数
extern double OpenPrice = 90.00; // 約定価格
extern double ClosePrice = 91.00; // 決済価格
extern double PriceRange = 0.20; // 価格の値幅


// マジックナンバー
#define MAGIC  10000


int start() {
  for(int i=0; i<MaxLots; i++) {
   // 現在のポジションのチェック
   int OpenPosition = 0;
   for (int j = OrdersTotal() - 1; j >= 0; j--){
    if(OrderSelect(j, SELECT_BY_POS) == false) { break; }
    if(OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC+i) { continue; }
    OpenPosition++;
   }
   if(OpenPosition != 0) { continue; }


   // 買い注文
   if(OpenPrice < ClosePrice) {
     if(OpenPrice-PriceRange*i >= Ask) { return(-1); }
     OrderSend(Symbol(), OP_BUYLIMIT, 0.1, OpenPrice-PriceRange*i, 3, 0,
          ClosePrice-PriceRange*i, "Buy", MAGIC+i, 0, Red);
   }
   // 売り注文
   else if(OpenPrice > ClosePrice) {
     if(OpenPrice+PriceRange*i <= Bid) { return(-1); }
     OrderSend(Symbol(), OP_SELLLIMIT, 0.1, OpenPrice+PriceRange*i, 3, 0,
          ClosePrice+PriceRange*i, "Sell", MAGIC+i, 0, Blue);
   }
  }
  return(0);
}