[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 92

 
Shniperson >> :
皆さん。H4取引にH1バーを考慮させるにはどうしたらいいでしょうか? 例えば if(... && Close[0](H1 bar)>High[1](H1 bar) ?........................................................。

iClose()とiHigh()を使用する - これらの関数で任意のタイムフレームを設定することができます。

 
バッファの割り当てがおかしい(Buffer1の結果がインジケータウィンドウに表示されない)のが理解できません。 また、2つ目の質問ですが、現在のゼロバーだけに制限できるのに、なぜゼロバーとその前のバー(limit=2)をインジケータが計算しなければならないのですか?

#property indicator_separate_window
#property indicator_buffers 1

extern int FastMA=3;
extern int SlowMA=25;

double Buffer1[];


double Buffer2[];

int init()
{
SetIndexBuffer(0,Buffer1);
SetIndexBuffer(1,Buffer2);
return(0);
}

int start()
{
int limit,counted_bars;
counted_bars=IndicatorCounted(); //counted_bars=Bars-1
if(counted_bars>0) counted_bars--; //??? counted_bars=Bars-1-1
limit=Bars-counted_bars; //лимит теперь равен двум
for(int i=0; i<limit; i++){
Buffer2[i]=MathAbs(Close[i]-Open[i]);
}
for(i=0; i<limit; i++){
Buffer1[i]=Buffer2[i]*(-1);
}
}

 
親愛なるプログラマーの皆様、インジケータに音を挿入して、インジケータが ゼロを越えたときに鳴るようにしたいのですが、どうすればよいでしょうか?ありがとうございました。
ファイル:
 
C-4 >> :
あるバッファから別のバッファへの割り当てがおかしい(Buffer1の結果がインジケータウィンドウに出力されない)のが理解できないのですが...。

描画バッファのSetIndexStyle(0,DRAW_LINE); と、計算バッファのIndicatorBuffers(2) が抜けています。



 
ビンゴ!まあもちろんIndicatorBuffers(2)は、SetIndexBufferを指定すれば十分だと思ったのですが。ちなみに、SetIndexStyle(0,DRAW_LINE)なしでも、細い黒い線が出るのですが、これはデフォルトの設定が効いているのでしょうか?
 

こんにちは、エキスパートです。

未決済注文だけを決済するEAを作ってみた!(セミオートマチックトレード)。

閉鎖の規則: 主要な終わりは価格チャネルに行く、それが近い SHELL の上の 1 ポイントを壊せば。

1ポイントでも下がればBAYを閉じます。 また、一定の距離で数ポイントの損益分岐をする保険もあります。

私はすべてが正しく行われた場合、私は質問を持っている、コードは正しいです!!!?

extern bool check=false; 
extern int PeriodP=12; 
extern double TrailingStop = 35;// расстояние после которого будем устанавливать безубыток
extern double X=5;//установка в + 5 пунктов! 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   double P_up0, P_down0, P_up1, P_down1;
   int cnt, total;

  P_up0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,0);
  P_down0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,0);
  P_up1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,1);
  P_down1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,1);

    
   for( cnt=OrdersTotal()-1; cnt>=0; cnt--) {
      OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&    OrderSymbol()==Symbol())   {
         if(OrderType()==OP_BUY) 
            {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); 
                 return(0); 
                }
            if( TrailingStop>0)  
              {                  
               if(Bid-OrderOpenPrice()>Point* TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point* TrailingStop && OrderStopLoss()!=OrderOpenPrice()+ X*Point)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ X*Point,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else  
         {
            
            if( P_up1< P_up0) 
            {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); 
               return(0); 
              }
            if( TrailingStop>0)  
              {               
               if((OrderOpenPrice()-Ask)>(Point* TrailingStop))
                 {
                  if(NormalizeDouble(OrderStopLoss(),Digits) != NormalizeDouble(OrderOpenPrice()- X*Point,Digits))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()- X*Point,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
            
           }
        }
     
   if ( check) Order_Open();
   return(0);
  }
//+------------------------------------------------------------------+

void Order_Open(){
   if (OrdersTotal()<=1) {
      OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"",20080421,0);
      OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"",20080421,0);
   }
}
 
ロングポジションを決済する条件はなく、今はとにかく買い注文が決済されます。
注文のオーバーシュートがある場合は、必ずOrderSelectの 前か後にRefreshRates()を入れてください。
 
Roger >> :
ロングポジションを決済する条件がなく、今はとにかく買い注文が決済されます。

BUYのクローズが本当に懐かしいです。

少なくとも、エラーなくコンパイルが完了しました。

extern bool check=false; 
extern int PeriodP=12; 
extern double TrailingStop = 35;// расстояние после которого будем устанавливать безубыток
extern double X=5;//установка в + 5 пунктов! 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   double P_up0, P_down0, P_up1, P_down1;
   int cnt, total;

  P_up0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,0);
  P_down0=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,0);
  P_up1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,0,1);
  P_down1=iCustom(Symbol(),Period(),"Ценовой канал", PeriodP,1,1);

    
   for( cnt=OrdersTotal()-1; cnt>=0; cnt--) {
      OrderSelect( cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&    OrderSymbol()==Symbol())   {
         if(OrderType()==OP_BUY) {  
            
            if( P_down1> P_down0) {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); 
                 return(0); 
                }
            if( TrailingStop>0)  
              {                  
               if(Bid-OrderOpenPrice()>Point* TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point* TrailingStop && OrderStopLoss()!=OrderOpenPrice()+ X*Point)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+ X*Point,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
            else  
            {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); 
               return(0); 
              }
            if( TrailingStop>0)  
              {               
               if((OrderOpenPrice()-Ask)>(Point* TrailingStop))
                 {
                  if(NormalizeDouble(OrderStopLoss(),Digits) != NormalizeDouble(OrderOpenPrice()- X*Point,Digits))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()- X*Point,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
            
           }
        
     }
   if ( check) Order_Open();
   return(0);
  }
//+------------------------------------------------------------------+

void Order_Open(){
   if (OrdersTotal()<=1) {
      OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"",20080421,0);
      OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,0,"",20080421,0);
   }
}
 

非常に「素朴な」質問ですが、預託通貨 で1(1)オープンインデックスロットの 価格はどのように計算するのでしょうか?

例:昨日、私は1ロットの日経を開いた時の価格は9400ピップスだった。質問:どのように私は9400(預金ではない!すなわちロットの価格)オープン時の預金通貨にあったどのくらいのお金を知っていますか?

 
jobber писал(а)>>

非常に「素朴な」質問ですが、預託通貨で1(1)オープンインデックスロットの 価格はどのように計算するのでしょうか?

例:昨日、私は1ロットの日経を開設しました。開設時の価格は9400ピップスでした。私の質問は:どのように私は9400が開設時の預金通貨で(預金ではない!すなわちロットの価格)どのくらいのお金だった知っていますか?

i>MarketInfo()は、このパラメータでは役に立ちません。