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

 
artmedia70:
時間[number_bar]。

ありがとうございました。処方してみることにします :)
 
nemo811:
注文が開始される価格(AskまたはBid)を考慮しましたか?

同じ値段で注文を出すように言ったのに、1-2pips遅れて注文が出されています。
 
myrzila:

言っとくけど、同じ値段で注文を処方して、1-2pips後に開くんだよ。

はい、証券会社によっては、スリッページのあるポジションを使用する場合があります。私自身、この目で見るまでは信じていませんでした。当時、私は友人と一緒にある証券会社でスキャルピングをしていました。この取引は1分と持たず、すぐに成立した。取引の大半はプラスで決済されるため、証券会社にとっては利益にならないのだ。この証券会社では、稼いだ分だけ支払い、保留中の注文に対するスリッページやストップオーダー発動時のスリッページを導入し、すべてのトレードを消滅させました。そういうことなんです。そこで、証券会社に連絡し、なぜ設定された価格で注文を開けないのかを聞いてみましょう。
 

こんにちは。

自力ではわからない疑問に戻る。特定の期間の入金/出金をプログラムで決定するには?

つまり、11月25日を取引期間とし、その間の注文をすべて調べれば、その期間の入出金が確定するのです。そして、ここで問題なのが、「どうやって計算するのか」ということです。

extern string            DayX="25.11.2011 00:00";   

if(TimeCurrent()>StrToTime(DayX)) //если текущее время старше момента начала периода
     {
      for(i=0; i<StrToTime(OrdersHistoryTotal()); i++)
       {
         if(OrderOpenTime()<StrToTime(DayX)) continue;
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && OrderType()==6)
          {
            jjjj=+ //а вот здесь загвоздка, что-же суммировать? профит по OrderType()==6????????
          }
       }
     }
 
forexnew:

こんにちは。

自力ではわからない疑問に戻る。特定の期間の入金/出金をプログラムで決定するには?

つまり、11月25日を取引期間とし、その間の注文をすべて調べれば、その期間の入出金が確定するのです。そして、ここで問題なのが、「どうやって計算するのか」ということです。


OrderProfit()が0より大きい場合 - 追加、小さい場合 - 引出し
 
Vinin:

OrderProfit()が0より大きい場合-充填、小さい場合-撤退

ありがとうございました。つまり、どのフィルと出金が別々であったかを判断することが可能なのか!?

extern string            DayX="25.11.2011 00:00";   

if(TimeCurrent()>StrToTime(DayX)) //если текущее время старше момента начала периода
     {
      for(i=0; i<StrToTime(OrdersHistoryTotal()); i++)
       {
         if(OrderOpenTime()<StrToTime(DayX)) continue;
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && OrderType()==6 && OrderProfit()>0)
          {
            Profit1=+OrderProfit(); //доливки
          }

         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && OrderType()==6 && OrderProfit()<0)
          {
            Profit2=+OrderProfit(); //снятия          
          }
       }
     }
 

最大ロット計算機能が、商品番号DDに対して "0 "を返すのはなぜですか?これはいつも起こることではありません。

double MaxmaxLots(int cmd) 
{
    double result = 0;
    double lotStep = MarketInfo(SymbolMax[nnnn], MODE_LOTSTEP);
    double v = MarketInfo(SymbolMax[nnnn], MODE_MINLOT);
    double mult = 100;
    
    while (true) {
        if (AccountFreeMarginCheck(SymbolMax[nnnn], cmd, v + lotStep * mult) > 0) { 
            v = v + lotStep * mult;
        } else {
            mult = mult / 10;
            
            if (mult < 1) {
                if (AccountFreeMarginCheck(SymbolMax[nnnn], cmd, v) > 0) {  
                    result = v;
                }
                break;
            }
        }
    }
    
    return(result);
}    
 
forexnew:

ありがとうございました。つまり、どのリフィルとリムーブを個別に行ったかを特定することが可能なのです


extern string            DayX="25.11.2011 00:00";   

if(TimeCurrent()>StrToTime(DayX)) //если текущее время старше момента начала периода
     {
      for(i=0; i<StrToTime(OrdersHistoryTotal()); i++)
       {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)=false) continue;
         if(OrderOpenTime()<StrToTime(DayX)) continue;
         if(OrderType()!=6) continue;

         if(OrderProfit()>0)
          {
            Profit1=+OrderProfit(); //доливки
          }
         else 
          {
            Profit2=+OrderProfit(); //снятия          
          }
       }
     }
 
int start()

  {
  DrowDownAlert=iCustom(NULL, 0, "Equity_v7",4,0);  
   

 double a=TotalLots(0);
 double b=TotalLots(1);
  Comment (a,b);
  return(0);
  }

//----------------------- подсчёт объема позиций----------------------------//
void TotalLots(bool zet)
{
   double total=0,total1=0;
   int slippage=20;
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
      if (OrderType()==OP_BUY ) total=total+OrderLots();
      if (OrderType()==OP_SELL) total1=total1+OrderLots();
   }
 if (zet==0) return (total); else return (total1) ;  
 
}
なぜerrorkは、関数のreturnがNULLの結果を持っていると出力されるのでしょうか?
 
nikelodeon:
なぜerrorkは、関数のreturnがNULLの結果を持っていると出力されるのでしょうか?

//----------------------- подсчёт объема позиций----------------------------//
int TotalLots(bool zet)
{
   double total=0,total1=0;
   int slippage=20;
   for (int i=OrdersTotal()-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
      if (OrderType()==OP_BUY ) total=total+OrderLots();
      if (OrderType()==OP_SELL) total1=total1+OrderLots();
   }
 if (zet==0) return (total); else return (total1) ;  
 
}