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

 
xruss >> :
私の追加の質問の答えをご存知ですか?

下の条件は問題ないのですが、更新機能は使っていないので、わかりません。

P.S. 私も初心者です。

 
xruss писал(а)>>
が、if()演算子の1行に複数の(&&)を通して条件を列挙するこの順序が受け入れられるかどうか、ご存知の方はいらっしゃいますか?

ただし、言語によって操作の優先順位が異なるので、些細なことを考えないように、もっと括弧をつけるといいですね。

if ((Max_price_1>EMA20_Open) && (Min_price_1>EMA20_Open) && (Heiniken_Red>Heiniken_Blue))
   {
    Opn_B=true;
   }
 
zfs >> :

インジケータのx個の最近接値の中から高値を探し、比較するのです。

RSIの過去2回の極大値を検索する機能はどのようなものですか?

どなたかコードを教えてください。

 
xruss писал(а)>>

...(RefreshRates()によるリフレッシュは必要なのか?)...

RefreshRatesの目的は何ですか?ポイントは、新しいティックが来た後、組み込み変数(Ask、Bidなど)が読み込まれ、start()関数に渡されることです。起動に時間がかかると、新しいティックが来ることがありますが、変数は更新されません。それは、RefreshRatesを呼び出すときです。

起動に時間がかかるときは?通常、取引操作の進行中、つまりネットワーク上のやり取りがあり、その操作に対するサーバーの許可が必要であり、応答が期待される場合です。そのため、通常は1ティックに複数の注文がオープン/クローズされる場合にRefreshRatesを使用します。操作の合間に使用します。

 
amur писал(а)>>

RSIの過去2回の高値の検索機能はどのようなものでしょうか?

どなたかコードを教えてください。

不思議なことに、この作業は簡単ではありません。技術的には、そのような点をさかのぼって探さなければならない。

y(x-1)<y(x) かつ y(x)>y(x+1) です。

しかし、これでは局所的な極値を見つけることになり、ちょっとしたことですが、満足のいく結果にはならないでしょう。

 
Itso >> :

不思議なことに、この仕事は簡単ではありません。技術的には、そのような点をさかのぼって探さなければならない。

y(x-1)<y(x) かつ y(x)>y(x+1) です。

しかし、それでは局所的な極値を見つけてしまい、ちょっとずれた結果になってしまいます。

1番目の最大値と2番目の最大値はどのように区別されるのでしょうか。

というのは、この条件は、第一極大と第二極大、第三極大の両方に当てはまるからです...。

 
amur писал(а)>>

同じように考えているのですが、第1最大と第2最大をどう区別するのか、という考えもあって混乱しています。

というのは、この条件では、第1極大と第2極大、第3極大の両方が当てはまるからです......。

ZigZagについて検索して読んでみることをお勧めします(文献はたくさんあります)。ロシュフのジグザグ-「ジグザグR」をお勧めします。

 
Itso >> :

ジグザグについて検索して読むことをお勧めできます(文献はたくさんあります)。ロシュフのジグザグ-「ジグザグR」をお勧めします。

>>ありがとうございます。

見てみたけど...(((((( ;゚Д゚))))))))) 何もうまくいかなかった...。配列が埋まってから、shifft関数が具体的に何をするのか不明です。

 
amur писал(а)>>

ありがとう、見てみるよ。

見てみると......(((((((( ;゚Д゚))))))) 何も分からない......。配列が満たされた後、shifft関数が何をするのか正確には不明です。

そこがミソで、問題はかなり複雑なのですが、このジグザグがエラーなく機能するのです。RSIに使用することができます。

 
amur >> :

RSIの過去2回の高値の検索機能はどのようなものでしょうか?

どなたかコードで見せていただけませんか?

こんな感じです。

bool exit_for=false;
int max_1=0;int max_2=0;
for(int k=0; k<Bars; k++)
{
	if(	iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k)<iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k+1)
		&& iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k+1)>iRSI(Symbol(),0, rsi_period,PRICE_CLOSE, k+2) 	)
	{
		//Если это первый максимум:
		if( max_1==0)
			max_1= k+1;//Записываем номер бара экстремума
		else
		//Если первый найден, записываем второй
		{	
                        max_2= k+1;
                        exit_for=true;
                } 
	}
        //Выход из цикла, когда найдены оба максимума
        if( exit_for==true) k=Bars+1;  
}