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

 
弟が来ました。
 
voidIndicatorBuffers() int count)

カスタム・インジケータの計算に使用するバッファのメモリを確保します。 バッファの数は8を超えることはできず、indicator_buffers プロパティで指定した値より小さくすることはできません。 カスタム・インジケータがカウントのために追加のバッファを必要とする場合、この関数を使用してバッファの合計数を指定する必要があります。

I.e.これでいいのでしょうか?

#property indicator_buffers 9 double ind_buffer1[]; // 追加計算用の配列 double ind_buffer2[]; double ind_buffer3[]; double ind_buffer4[]; double ind_buffer5[]; double ind_buffer6[]; double ind_buffer7[]; double ind_buffer8[].All rights reserved;
double ind_buffer9[]; SetIndexBuffer(0,ind_buffer2); SetIndexBuffer(1,ind_buffer3); SetIndexBuffer(2,ind_buffer4); SetIndexBuffer(3,ind_buffer5)。
SetIndexBuffer(4,ind_buffer6); SetIndexBuffer(5,ind_buffer7); SetIndexBuffer(6,ind_buffer8); SetIndexBuffer(7,ind_buffer9) となります。
 

どなたか、EAの書き方を 個人的にアドバイスしていただけませんか?特に:ダブルロットにトレーリングストップを付けるにはどうしたらよいですか?

 
Leo59:
voidIndicatorBuffers() int count)

カスタム・インジケータの計算に使用するバッファのメモリを割り当てます。 バッファの数は8を超えることはできず、indicator_buffers プロパティで指定した値より小さくすることはできません。 カスタム・インジケータがカウントのために追加のバッファを必要とする場合、この関数を使用してバッファの合計数を指定する必要があります。

つまり、許可されているのです。

いいえ。
#プロパティ indicator_buffers9
"バッファの数は8を超えることはできません "は、#property indicator_buffersとIndicatorBuffersの両方のキーワードです。
プロパティ indicator_buffers で描画バッファの数を指定すると、IndicatorBuffers = #プロパティ indicator_buffers+number of non-drawing buffers で計算します。すべてのバッファが描画されている場合、IndicatorBuffers = #property indicator_buffers となります。この場合、IndicatorBufferの使用は任意である。
 

専門家の力を借りたい。すでにここで何度か質問しているのですが、mql5.com/en/jobで仕事を与え、これまで多くの時間、お金、労力を費やしましたが、結果が出ません......。:(

この問題の目標は、価格の範囲内に注文が存在するかどうかをチェックするような関数を書くことである。

もっと単純に、例えば0.9995から1.0005の範囲にベイオーダーがあるかと問われたとき。

ここに投稿した人は、動作するソリューションを持っている...例えば、15ドル

MT4...

 
granit77:
いいえ。
#プロパティ indicator_buffers9
"バッファの数は8を超えることはできません "は、#property indicator_buffersとIndicatorBuffersの両方のキーワードです。
プロパティ indicator_buffers で描画バッファの数を指定すると、IndicatorBuffers = #プロパティ indicator_buffers+ 非描画バッファの数で計算されるようになります。すべてのバッファが描画されている場合、IndicatorBuffers = #property indicator_buffers となります。この場合、IndicatorBufferの使用は任意である。

granit77 様もし差し支えなければ、間違っているところがあれば、直接コードに修正を加えてください。明確に理解できるようになる。

#property indicator_buffers 8 double ind_buffer1[]; // 追加計算用の配列 double ind_buffer2[]; double ind_buffer3[]; double ind_buffer4[]; double ind_buffer5[]; double ind_buffer6[]; double ind_buffer7[]; double ind_buffer8[]; double ind_buffer9[].PAT;   

int init() { IndicatorBuffers(9); SetIndexBuffer(0,ind_buffer2)、SetIndexBuffer(1,ind_buffer3)、SetIndexBuffer(2,ind_buffer4)、SetIndexBuffer(3,ind_buffer5);
SetIndexBuffer(4,ind_buffer6); SetIndexBuffer(5,ind_buffer7); SetIndexBuffer(6,ind_buffer8); SetIndexBuffer(7,ind_buffer9); return(0); } ※この例では、ind_buffer6とind_buffer9の2つのバッファを使用しています。
 
w_ersoc:

専門家の力を借りたい。すでにここで何度か質問しているのですが、mql5.com/en/jobで仕事を与え、これまで多くの時間、お金、労力を費やしましたが、結果が出ません......。:(

このタスクの目的は、価格帯に注文が存在するかどうかをチェックするような関数を書くことである。

さらに簡単に言うと、例えば0.9995から1.0005の範囲にベイオーダーがあるかと問われたとき。

ここで動作する解決策を投稿した人は...。例えば、15ドル...

MT4...

ループの中で、すべてのオープンポジションを 調べ、選択された注文タイプが関数に渡されたものと同じであれば、注文記号が関数に渡されたものと同じであれば、注文の開始価格が指定した範囲(0.9995以上、1.0005以下)内にあれば、関数は真を返し、そうでなければ偽を返します。

偶然の一致を確認しながら、シンプルに注文を列挙しています。

ZS 15ポンドで女性はアイスクリームを、子供は花束を...あるいはその逆.:)

 
artmedia70:

ループ内では、選択された注文タイプが関数に渡されたものと等しい場合、注文マジックナンバーが関数に渡されたものと等しい場合、注文のオープン価格が指定範囲(0.9995以上、1.0005以下)内にある場合、すべてのオープンポジションを通過し、関数が真を、それ以外の場合、偽を返します。

偶然の一致を確認しながら、シンプルに注文を列挙しています。

ZS 15ポンドで女性はアイスクリームを、子供は花束を...あるいはその逆.:)

ああ、初歩的なことだが、うまくいかないんだ。

議論してもいいけど、多くの人がデタラメだと言って結局何もない((

 
w_ersoc:

初歩的なことですが、うまくいきません。

議論してもいいけど、多くの人がデタラメだと言って結局何もない((


お待たせしました。

//+------------------------------------------------------------------+
//|          Function  : GetOrdersInThePrice(min,max,&tickets[])bool |
//|          Copyright © 2012, XrustSolution.  mail:xrustx@gmail.com |
//|          https://www.youtube.com/user/opmlv http://forexrust.info |
//+------------------------------------------------------------------+
//|   Description: Пишет в массив тикеты ордеров с ценою открытия    |
//| между максимальной и минимальной ценой, если ордеров нет = false |
//+------------------------------------------------------------------+
bool GetOrdersInThePrice(double pr1,double pr2,int &tickets[]){int i,ii;double min,max;
   min = MathMin(pr1,pr2);
   max = MathMax(pr1,pr2);
   ArrayResize(tickets,100);
   for(i=OrdersTotal()-1;i>=0;i--){
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
         if(OrderSymbol()!=Symbol()){continue;}
         if(OrderOpenPrice()>max){continue;}
         if(OrderOpenPrice()<min){continue;}
         tickets[ii] = OrderTicket();
         ii++;
      }
   }
   if(ii<1){return(false);}
   ArrayResize(tickets,ii);
   return(true);
}
 
FAQ:


これでよしとする。

非互換型エラー