どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 174

 
GameOver:

そうではありません。

絶対値ではなく、指標である比率の配列があります。
つまり、0.5は「50%減」ではなく、「2倍減」を意味するのです。
で、0.2は80%減ではなく、5倍減です。
と同時に、2や5がちょうどよく、それぞれ2倍、5倍という意味を表現しています。

配列例
1.2 1.02 0.833 10 0.98 0.1


どうしたんだ? スクリプトを書いたんだが、君が何をどう考えているのかよく理解できなかったかもしれない。

double volume[7]={1,1.2, 1.02, 0.833, 10, 0.98, 0.1};
int aver_bar=7;                         
//double muss[n];
 for (  int n=0; n>=0;n--)                                          // n - номер бара для поиска коеффициента, i- количество баров в которіх будет найдено коефф.
 {
  double z,k,zz,f;
  k=0;                                                              // k счетчик
  z=volume[n];                                                      // Volume- буфер величины которую сравниваем, z-записываем чтобы каждый раз не обращаться в массив
  for (int m=n+aver_bar-1; m>=n+1;m--)                              // перебор всех баров влияющих на коееф.
  {
   zz=(volume[m])/z-1;                                              // отношение во сколько раз величина на исходном баре больше или меньше искомого 
   if( zz<0) zz= -1/(zz+1)+1;                                       // если величина zz меньще 1
   k+=zz;                                                           // сумируем в k значение
  }       
  //muss[n]=-k/((aver_bar-1)/1.0);                                  //  рассчитиваем коеффициент на n-м  баре
  Alert ("rez = ", k/((aver_bar-1)/1.0)+1);
 }

アラートが0.9999を返す

このアルゴリズムに基づくインジケータは、間違ったロジックを示しています(より正確には、インジケータ内の場合は、muss[n]=k/((ver_bar-1)/1.0 )+1ではなく muss[n ]=k/((ver_bar-1)/1. 0) となります

そして、それはRSIに遠隔的に似ているが、より敏感である(バー間の傾斜角の点で)

 

если кто знает иное, математическое решение - буду благодарен )


配列を2つに分割し、それぞれについて異なる計算を行うため、他の解決策はありません。

1) 1より大きい数値の場合 - 配列要素の増加分を1に対するパーセンテージで求めます。

2) 1より小さい数について - 1を得るための1未満の数からの増加分をパーセントで求め、その結果をマイナス記号"-"で表す。

3) 2種類の計算式で算出した値の平均を求める。

4) 1を加える (正直なところ、理由はわからない。おそらくさらなる計算のためだろうが、すべてが0を中心に回っている方がより明確だ(少なくとも私個人としては))。

 
ALXIMIKS:


4) 1を加える (正直なところ、なぜかはわからない。さらなる計算のためかもしれないが、すべてが0を中心に回っている方が明確だ (少なくとも私個人としては)) 。


この点については、すでに説明したとおりです。

0.2 5 5 0.2 のような例で1を加えずに計算すると 0に なります。
この場合のゼロの物理的な意味は、「値が変化しない」である。
すなわち、係数は実際には1.0である。

この場合、すべての値が例えば→5 5 5に等しいとすると
の場合、合計は5となり、これが正しい合計となります。

こんな感じで手に入れました

for(i=0; i<n; i++){ // 配列をループします。
if (Arr[i]>=1) {Sum=Sum+(Arr[i]-1);}。
else (Sum=Sum-(1/Arr[i] -1));
}
Sum=Sum/n。

if (Sum>0) res=1+Sum;
さもなければ res=-1/(Sum-1);

なぜ必要なのか?
例えば、10年間の平均で、HL TuesdayとHL Mondayの比率を求めるとしよう;-)



 
GameOver:


何に使うの?
例えば、10年間の平均で、火曜日のHLと月曜日のHLの比率を求める必要があるとしよう ;-)

と、ゼロを使った演算をどう説明するのか?配列にいくつかの値の差分があると非常に影響力があります))
 
rosomah:

MQL5にはカチッとしたストーリーがあるのですが、ご存じですか?私は読んでいないので、そこでも見つけられませんでした。

MT5にもティック履歴はありません。テスターでは刻みを生成していますが、その方法についてはこちらを ご覧ください。
 
pu6ka:
MT5にもティック履歴はありません。テスターでは、ここで 説明したような刻みを生成しています。
ありがとうございます、もう読みました、好きな話題、ここ3日です。
 

こんにちは、親愛なる皆さん

小学校のアドバイザーの探し方、書き方について相談です。

条件は以下の通りです。

前のバーが上昇している場合、(始値<終値)現在のバーで売ります。

前のバーが下落している場合(始値>終値)、現在のバーで買います。

新しいバーの始値でポジションを建てる。新しいバーの終値でポジションを閉じます

自分では見つけられない。

よろしくお願いします。

 
zorkiy911:

こんにちは、親愛なる皆さん

小学校のアドバイザーの探し方、書き方について相談です。

条件は以下の通りです。

前のバーが上昇している場合、(始値<終値)現在のバーで売ります。

前のバーが下落している場合(始値>終値)、現在のバーで買います。

新しいバーの始値でポジションを建てる。新しいバーの終値でポジションを閉じます。

自分では見つけられない。

よろしくお願いします。


そして、あなたはそうしないでしょう。なぜなら、それは意味がないからです。意味があると思うのであれば、少なくとも1日、スプレッドだけを考慮して、エントリーポイントとエグジットポイントをマークしたチャートの画像を提供してください。
 
BeerGod:

そして、あなたはそうしないでしょう。なぜなら、それは意味がないからです。意味があると思うのであれば、少なくとも1日、スプレッドだけを考慮して、エントリーポイントとエグジットポイントをマークしたチャートの画像を提供してください。
このようなExpert Advisorが何に必要なのかわかりませんので、ご教授ください。私自身はできていません。どのような絵柄が必要ですか?
 
zorkiy911:
このようなEAが必要なことは、かなり明確になっているので、大いに参考にさせてください。私自身はなんとか書けていません。どのようなイメージが必要ですか?

このアルゴリズムに隠された大きな秘密とは何でしょうか?

あなたの条件によると、こんな感じです。

裏付き

しかし、1つ目も2つ目も安定はしないでしょう。

5分で描きました、ネタバレOKです)

ファイル: