[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 481

 
すみません、何でしょうか?OrderSendの 機能は私にも使えますが、OrderCloseは見せ場がありますよ。
 
Dimka-novitsek:
すみません、何でしょうか?OrderSendの機能は私にも使えますが、OrderCloseは見せ場がありますよ。
total = OrdersTotal();
  for(i=total-1;i>=0;i--)
    {
    OrderSelect(i, SELECT_BY_POS);
    type   = OrderType(); result = false;
    switch(type)
          { 
          case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), l_SlipPage, Red ); break;
          case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), l_SlipPage, Red ); break; 
          }
    if(!result)
      {
      error =  GetLastError(); 
      errorcomment = "Неудалось закрыть ордер №" + OrderTicket() + " " + Symbol() + " " + OrderType() + " " + ErrorDescript(error); 
      Print(errorcomment);
      }  
    }
これはすべての注文をクローズする例で、バイとセルはビッドとアスクでクローズされることに注意してください ....
 
おお、ありがとうございます!!!
 
7777877:

前回の回答、大変ありがとうございました。すべてが機能し、ほぼすべてがクリア...さて、その「ほぼ」ですが。

1.アレイデータで計算したLineをClient Terminalウィンドウに表示するように指示されているのは、どの行(インジケータは添付ファイル参照)でしょうか?

2.バッファの数は文字列で宣言できるのに、なぜIndicatorBuffers関数が必要なのか(というか、どんな場面で使うべきなのか)。

回答ありがとうございました。

#property indicator_buffers 3                                           //объявляем количество буферов

この文字列は、ターミナルに表示されるインジケータ・バッファの数を指定します。

   IndicatorBuffers(4);                                                 //устанавливаем общее количество всех индикаторов, участвующих в расчете всех индикаторных линий

この文字列は、インジケータが計算に使用するバッファの合計数 (可視 3 個、非表示 1 個) を指定します。

追加のバッファを必要としない場合は、この文字列は必要ありません。

バッファの数は 8 個以下で、indicator_buffers プロパティで指定された値以下でなければならない。その好例がこちら


 
おはようございます。教えてください、売値と買値を正規化することは本当に必要なのでしょうか?
NormalizeDouble(Bid, Digits)
だって、こんな風に持っているんだもの
for(int i=1; i<=OrdersTotal(); i++) {  
            if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if (OrderSymbol()!=Symbol( ) )continue;      // Не наш фин. инструм
         if (OrderMagicNumber( ) !=magicnumber)continue;
         if (OrderType()==0){ BUY++; ticket=OrderTicket( );Print( "BUY++   " , BUY  ,"  ticket ",ticket);}
         if (OrderType()==1) {SELL++;ticket=OrderTicket( );Print( "SELL++   " , SELL  ,"  ticket ",ticket);}    } }
         
  
  if (strela1<strela2&&SELL==0&&BUY!=0
  ){ udalenie ();
              
   OrderSend(Symbol( ), OP_BUY, lot, Ask, 3*Point, NormalizeDouble( Bid- (stoplos*Point),Digits),   NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE);           
      Print( "strela1<strela2&&BUY==0&&SELL!=0 " , GetLastError()); }
            
  if (strela1>strela2){ udalenie ();
                
   OrderSend(Symbol( ), OP_SELL, lot, Bid, 3*Point, NormalizeDouble( Ask+ (stoplos*Point),Digits),   NormalizeDouble( Ask-( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE) ; 
        Print( "strela1>strela2&&SELL==0&&BUY!=0 " , GetLastError()); }
      
    if (strela1<strela2&&BUY==0&&SELL==0){    
            
           OrderSend( Symbol( ), OP_BUY, lot, Ask, 3*Point, NormalizeDouble( Bid- (stoplos*Point),Digits),   NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE);  
            Print( "strela1>strela2&&BUY==0&&SELL==0   " , GetLastError()  ,"  Ask ",Ask,"   stoplos= NormalizeDouble( Bid- (stoplos*Point),Digits)  ", NormalizeDouble( Bid- (stoplos*Point),Digits),
"    takeprofit= NormalizeDouble( Ask+( takeprofit*Point),Digits) ", NormalizeDouble( Ask+( takeprofit*Point),Digits)); }
           
   if (strela1>strela2&&BUY==0&&SELL==0){  

以下のようにファールします。 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129

ERR_INVALID_PRICE 129不正な価格 何年も前から起きていない!昨日も起きなかった

 
Dimka-novitsek:
おはようございます。アスクとビッドの価格は本当に正規化する必要があるのでしょうか? なぜなら、私はこれを持っているからです。

以下のようにファールします。 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129

ERR_INVALID_PRICE 129 不正な価格 以前にはなかったことです!!!昨日も見ませんでした。

テスターではその必要はありませんが、オンラインではDCサーバーの指示通りに動かなければなりません。
 
Dimka-novitsek:
おはようございます。売値と買値は本当に正規化する必要があるのでしょうか?

以下のようにファールします。 2012.11.01 11:31:00 AUDUSD,M15: strela1<strela2&&SELL==0&&BUY!=0 129

ERR_INVALID_PRICE 129 不正な価格 何年も前から起きていない!昨日もなかった


いつもこうとは限らない...。

"" 不正な売値または買値、正規化されていない価格の可能性があります。RefreshRates機能で5秒以上遅らせてからデータを更新して、再度お試しください。エラーが続く場合は、すべての取引の 試行を停止し、プログラムロジックを変更する必要があります。""""ドキュメントから "です。

デモや実際の場合 - それは動作しません。 あなたは非常に頻繁に行に2つの注文を開くことを試みる。ストラテジーテスターで動作するようになります。注文が開くまでに遅延が必要です。

 

ありがとうございます!!!正規化を入れる...そして、クソワロタwwwwwwwwwwwwwwwwwwwwwwww頭に血が上っている。高校の幾何学より簡単そうだ。


 
Sepulca:


いつもこうとは限らない...。

"" 不正な売値または買値、正規化されていない価格の可能性があります。RefreshRates機能で5秒以上遅らせてからデータを更新して、再度お試しください。エラーが続く場合は、すべての取引の試行を停止し、プログラムロジックを変更する必要があります。""""ドキュメントから "です。

デモや実際の場合 - それは動作しません。 あなたは非常に頻繁に行に2つの注文を開くことを試みる。ストラテジーテスターで動作するようになります。オープンオーダーの間にディレイを入れる。

not always "とはどういう意味ですか?つまり、どのような証券会社でも動作するものでなくてはなりません。
 
そして、オピニオンズのイフがおかしい!!!!