[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 286

 
kolyango:


初心者を助けてください。そんなコードをどう書くか。

成行注文を確認し、その金融商品の成行注文がなければ購入する?

使えない!!!助けて... もしかしたら、誰かが既成のコードを持っているかもしれませんね。

//---- Проверка отрытых ордеров
void CheckOpenedOrders()
 {
  my_OrderBuy=-1;
  my_OrderSell=-1;
  for (int j = 0; j < OrdersTotal(); j++)
   {
    OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() == Symbol())
     {
      if (OrderType() == OP_BUY)
       {
        my_OrderBuy = OrderTicket();
       }
       else DoTrade(1);
      if (OrderType() == OP_SELL)
       {
        my_OrderSell = OrderTicket();
       }
       else DoTrade(2);
     }
   }
 }
//----

//----
void DoTrade(int workmode)
 {
  switch (workmode)
   {
    case 1:
     {
      my_OrderBuy=OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,Digits),SlipPage,
                  0,0,NULL,0,0,Red);
     }
    break;
    
    case 2:
     {
      my_OrderSell=OrderSend(Symbol(),OP_SELL,lots,NormalizeDouble(Bid,Digits),SlipPage,
                   0,0,NULL,0,0,Blue);
     }
    break;
   }
  return;
 }
//----

 
icas:



スタートファンクションや説明文など、すべて実用的な形で教えてください。あまり明確ではありません。ありがとうございました。
 
kolyango:

スタートファンクションや説明文など、すべて実用的な形で教えてください。あまり明確ではありません。ありがとうございました。


質問です。注文を開始するタイミングを知りたいのですが?

 
icas:


質問です。いつ注文を開始すればよいですか?

成行注文を確認し、金融商品の成行買い注文が なければ、買い?こういう地域が必要なんだ...。

 
kolyango:

成行注文を確認し、金融商品の成行買い注文がなければ、買い?こういう地域が必要なんだ...。


では、ロングポジションしか開けないのですか?
 
icas:

では、ロングポジションしか開けないのですか?

そう、私たちの金融商品に対する成行買い注文が なければ、私たちは買うのです
 
kolyango:

はい、もし私たちの金融商品の成行買い注文がなければ、買いましょう

//+------------------------------------------------------------------+
//|                                                      OnlyBuy.mq4 |
//|                      Copyright © 2011, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

extern double lots=0.1;
extern int SlipPage=3;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
  for (int j = 0; j < OrdersTotal(); j++)
   {
    OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() == Symbol())
     {
      if (OrderType() == OP_BUY) return(0);
       else OrderSend(Symbol(),OP_BUY,lots,NormalizeDouble(Ask,Digits),SlipPage,0,0,NULL,0,0,Red);
     }
   }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
icas さん、新参者の前で恥をかかないように、正しいコードに直してください。
 
sergeev:
icas さん、新参者の前で恥をかかないように、正しいコードに直してください。


どこにあるんだ?

 
最初の非購入注文で、アカウントに購入注文が殺到することになります。