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

 
chief2000 >> :

i "ごとに変数の状態を格納する配列を設定すると、問題が発生しました。

は、ディメンジョンを「[]」で定義していませんでした。

int init()の中で、配列がindicator SetIndexBuffer(0,MyArray); として定義されていれば、追加で初期化する必要はないでしょう。

そうでなければ、MyArray[];を宣言する以外に、ArrayResize(MyArray,Count);のサイズを初期化する必要があります。

と、まさに割り当てが行われる関数の中にあります。

では

int start()
{ArrayResize( MyArray, Count);
//...
return(0);
}

.

しかし、MyArray[1000]; という数値で明示的に配列のサイズを宣言すれば、このようなことは必要ありません。

ArrayResizeメソッドは、配列のサイズが事前にわからず、プログラム中で計算する場合に便利です。

 
Urain >> :

int init()において、配列が指標として定義されている場合、SetIndexBuffer(0,MyArray);は追加で初期化する必要はない。

そうでない場合は、MyArray[];を宣言する以外に、ArrayResize(MyArray,Count);のサイズを初期化する必要があります。

と、まさに割り当てが行われる関数の中にあります。

にして

.

しかし、配列のサイズがMyArray[1000];のように明示的に宣言されていれば、そのようなことは必要ありません。

ArrayResizeメソッドは、配列のサイズが事前にわからず、プログラム内で計算する場合に便利です。



その答えは、「徹底的」ですありがとうございました。

 
chief2000 >> :

その答えは、「徹底的」ですありがとうございました。

その辺のことは、教科書にコンパクトにわかりやすく書いてあるので、「聞く」から「読む」へと徐々に移行していけばいいと思います。

 

Ifの後にswitch文が挿入できるかどうか教えてください。

のものです。

ばあいは

スイッチ

 
chief2000 >> :

岸辺で釣りをしているチュクチャ。アメリカの潜水艦が近づいてきて、艦長が姿を現す。

周りを見渡し、東北コースを叫ぶ。ボートは急降下して消えた。しばらくして、ロシアの潜水艦が

ロシアの潜水艦が上がってくる。船長はチュクチャに、アメリカの潜水艦がどの方向に消えたのか尋ねる。

Chukcha answer:
- 北東コース!
- 小賢しいこと言わないで、指で見せてよ。

:)

初心者の方へのアドバイスです。

MQLには、魚を作るために呼び出される関数がいくつかあります。

この関数がDLLとして書き直されれば、例えばOmegaのように他のプログラムで呼び出すことが可能になります。

ありがとうございます。

 
granit77 >> :

その辺のことは、教科書にコンパクトにわかりやすく書いてあるので、「聞く」から「読む」へと徐々に移行していけばいいのだ。

確かにそうなのですが、何事も時間がかかるものです。そしてすぐにMQL5を勉強しなければならない。

 

人々の親切なヘルプを条件...どのように適切に次のような条件を綴る:0と100の2つのレベルを持つ指標である...と条件は次のとおりです:ラインは、いくつかの時間後にレベル0以下に行った0レベルを超えて行ったと100のレベルを超えて行った100条件の終了レベルを終了する必要があります。

ׂ

EAに入れられない...。やり方がわからない、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、。

で、以下のような条件は書けるのでしょうか?


 
Infinity >> :

人々の親切な条件...どのように適切に次のような条件を綴るために助ける:0と100の2つのレベルを持つ指標である...と条件は次のとおりです:ラインは、いくつかの時間後にレベル0以下に行った0レベルを超えて行き、100のレベルを超えて行き、100条件の終了レベルを終了する必要があります。

EAに入れられない...。やり方がわからない、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、。

で、以下のような条件は書けるのでしょうか?


LagueroのEAを探して、私はそこにそのような条件があったと思うが、私は正確に覚えていない、しかし、あなたのはそれによく似ている....

 
Infinity писал(а)>>

人々の親切な条件に役立ちます。 どのように適切に次のような条件を綴る:0と100の2つのレベルを持つ指標である...と条件は次のとおりです:ラインは、いくつかの時間後にレベル0以下になった0レベルを超えて行き、100のレベルを超えて行き、100条件の終了レベルを終了する必要があります。

EAに入れられない...。やり方がわからない、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、。

で、以下のような条件は書けるのでしょうか?

というようなものでなければならない。

if( ind[1]>0 && ind[2]<=0) flag_1 = true;
if( ind[1]<0 && ind[2]>=0) flag_1 = false;

if( flag_1 && ind[1]>100 && ind[2]<=100) { flag_2 = true; flag_1=false; }

if( flag_2 && flag_2 && ind[1]<100 && ind[2]>=100)
{
   flag_2 = false;
   // Здесь вроде бы произошло описываемое событие...
   // Но надо экспертом проверять...
}
つまり、このチェックボックスで記述すれば、計算が少なくなり、しかもサイクルが発生しない......ということです。
 
Infinity >> :

人々の親切な条件に役立ちます。 どのように適切に次のような条件を綴る:0と100の2つのレベルを持つ指標である...と条件は次のとおりです:ラインは、いくつかの時間後にレベル0以下になった0レベルを超えて行き、100のレベルを超えて行き、100条件の終了レベルを終了する必要があります。

EAに入れられない...。やり方がわからない、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、。

で、以下のような条件は書けるのでしょうか?


インディケーターには、こんなものがいいかもしれない--あくまでアイデア(!?)ですが。

x[ i]=iRSI(...); // <= Пусть RSI будет в качестве Примера. 

TimeStart = 0;
TimeEnd   = 0;


if( x[ i]>0   &&   x[ i+1]<=0) {
   TimeStart=Time[ i];
}
if( x[ i]>=100   &&   x[ i+1]<100){
   TimeEnd=Time[ i+1];
}

if( TimeStart!=0   &&   TimeEnd!=0   &&   TimeEnd> TimeStart) {
   Range_i_Start = iBarShift(NULL,0, TimeStart);
   Range_i_End   = iBarShift(NULL,0, TimeEnd);

   bool status = false;
   for(int k = ... Range_i_Start -> Range_i_End  ) {
      if( x[ k]<0   ||   x[ k]>100) {
         status = true;
         break;
      }
   } // for()

   if( status==false) {
      ... Done;

      TimeStart = 0;
      TimeEnd   = 0;
   }
} // if(TimeStart!=0   &&   TimeEnd!=0) {