エラー、バグ、質問 - ページ 797

 
sergeev:

これかな?


2つ質問させてください。

- なぜ、四則演算からコードに変更したのですか?

- このインジケーターは何を示しているのか、どのように取引するのか?

これがそうです。

- 変えなかった。すべて一対一で転送しました。4のコードのf-iの代わりに、5でOPEN、CLOSE、HIGH、LOWの遅い移動平均と速い移動平均から事前に計算したMA配列の値を使い、再び機器の適切な係数を乗じる。

例えば、4のTOTALコード。

if (Symbol() == "EURUSD"){
               OPEN=EUR(Mode,PRICE_OPEN,i,per1,per2)-USD(Mode,PRICE_OPEN,i,per1,per2);
               HIGH=EUR(Mode,PRICE_HIGH,i,per1,per2)-USD(Mode,PRICE_HIGH,i,per1,per2);
               LOW=EUR(Mode,PRICE_LOW,i,per1,per2)-USD(Mode,PRICE_LOW,i,per1,per2);
               CLOSE=EUR(Mode,PRICE_CLOSE,i,per1,per2)-USD(Mode,PRICE_CLOSE,i,per1,per2);
...
 pair[i]=(OPEN+HIGH+LOW+CLOSE)/4;

ここでは、私が代わりにfiveで使用しているEUR f-iの1つを紹介します(下記参照)-すぐにその中の数式を計算します。すべて1対1です。

double EUR(int Mode, int Price, int i, int per1, int per2){
   return(
            (iMA("EURUSD",0,per2,0,Mode,Price,i)-
            iMA("EURUSD",0,per1,0,Mode,Price,i))*10000*kUSD
            +
            (iMA("EURGBP",0,per2,0,Mode,Price,i)-
            iMA("EURGBP",0,per1,0,Mode,Price,i))*10000*kGBP
            +
            (iMA("EURJPY",0,per2,0,Mode,Price,i)-
            iMA("EURJPY",0,per1,0,Mode,Price,i))*100*kJPY
          ); 

5ではこのような計算になります。4と同様に関数を使わず、以前に計算した配列を直接使用します。

if (Symbol() == "EURUSD")
        {     
// ----  OPEN=EUR(Mode,PRICE_OPEN,i,per1,per2)-USD(Mode,PRICE_OPEN,i,per1,per2);          
         OPEN=((OPEN_F_EURUSD[i]-OPEN_S_EURUSD[i])*10000*kUSD+(OPEN_F_EURGBP[i]-OPEN_S_EURGBP[i])*10000*kGBP+(OPEN_F_EURJPY[i]-OPEN_S_EURJPY[i])*100*kJPY -
               (OPEN_S_EURUSD[i]-OPEN_F_EURUSD[i])*10000*kEUR+(OPEN_S_GBPUSD[i]-OPEN_F_GBPUSD[i])*10000*kGBP+(OPEN_F_USDJPY[i]-OPEN_S_USDJPY[i])*100*kJPY);
               
// ----  HIGH=EUR(Mode,PRICE_HIGH,i,per1,per2)-USD(Mode,PRICE_HIGH,i,per1,per2);              
         HIGH=((HIGH_F_EURUSD[i]-HIGH_S_EURUSD[i])*10000*kUSD+(HIGH_F_EURGBP[i]-HIGH_S_EURGBP[i])*10000*kGBP+(HIGH_F_EURJPY[i]-HIGH_S_EURJPY[i])*100*kJPY -
               (HIGH_S_EURUSD[i]-HIGH_F_EURUSD[i])*10000*kEUR+(HIGH_S_GBPUSD[i]-HIGH_F_GBPUSD[i])*10000*kGBP+(HIGH_F_USDJPY[i]-HIGH_S_USDJPY[i])*100*kJPY);
               
// ----  LOW=EUR(Mode,PRICE_LOW,i,per1,per2)-USD(Mode,PRICE_LOW,i,per1,per2);
         LOW=((LOW_F_EURUSD[i]-LOW_S_EURUSD[i])*10000*kUSD+(LOW_F_EURGBP[i]-LOW_S_EURGBP[i])*10000*kGBP+(LOW_F_EURJPY[i]-LOW_S_EURJPY[i])*100*kJPY -
               (LOW_S_EURUSD[i]-LOW_F_EURUSD[i])*10000*kEUR+(LOW_S_GBPUSD[i]-LOW_F_GBPUSD[i])*10000*kGBP+(LOW_F_USDJPY[i]-LOW_S_USDJPY[i])*100*kJPY);
               
// ---   CLOSE=EUR(Mode,PRICE_CLOSE,i,per1,per2)-USD(Mode,PRICE_CLOSE,i,per1,per2);
         CLOSE=((CLOSE_F_EURUSD[i]-CLOSE_S_EURUSD[i])*10000*kUSD+(CLOSE_F_EURGBP[i]-CLOSE_S_EURGBP[i])*10000*kGBP+(CLOSE_F_EURJPY[i]-CLOSE_S_EURJPY[i])*100*kJPY -
               (CLOSE_S_EURUSD[i]-CLOSE_F_EURUSD[i])*10000*kEUR+(CLOSE_S_GBPUSD[i]-CLOSE_F_GBPUSD[i])*10000*kGBP+(CLOSE_F_USDJPY[i]-CLOSE_S_USDJPY[i])*100*kJPY);
         }
      
      pair[i]=(OPEN+HIGH+LOW+CLOSE)/4;    

- 複数のシンボルの動きの累積効果、OPEN、HIGH、LOW、CLOSEのシンボルの高速MAと低速MAの差分を取ることができます。これらを足し合わせ、同じく最適化の対象となる測定器の高速MAと低速MAの差の乗数の係数を考慮して4で割ったものです。

取引すること。1. ゼロライン+Different(ゼロからの距離で偽エントリーをフィルタリングする)を下から上に交差させることによって、買いへ、上から下に交差させることによって、売りへ。予告編のExpert Advisorをご覧ください。

2.変曲線について:ゼロより下に変曲していれば買い、この累積MA機器差線のゼロより上に変曲していれば売り(このオプションはまだEAで利用できません)。

チャンピオンシップでは、1番目か2番目の選択肢のどちらかを使いたい。

ファイル:
 

チャート表示(Bars Mode)が正しくない。

端末を起動すると、インジケータ・バッファ・シンボルの表示が、それらが関連するバーの画像に対して大きくオフセットされています。

ビルド687

また、可視化モードでは、チャートが動いているとき、インジケータ・バッファ・ シンボルは対応するバーの後ろを非常に強く目に見えるラグをもって動いています。

 
R0MAN:

- 変えなかった。すべて一対一で転送しました。

結果は同じではありません。

なぜいつもmqh

をバンドルするのか理解できません。 順番にコードを修正しました。 2つのクラスを追加しました。

CSeries- 4つのアレイと4つのバッファを提供するクラス + これらはINDICATOR_CALCULATION
CPair - 2つのCSeries - FastとSlowを提供するクラスです。

そして関数USD/JPY/EUR/GBP + MT4のように転送開始


私はMT4と結果を比較 - 一対一 - 完全に一致します。

ビールはおごりです :)


チャンピオンシップで1番目と2番目のどちらかのオプションを使いたいのですが。

利益が出ているものはありますか?

ファイル:
 

と、本来はこのような指標になるのでしょうが

ファイル:
 
sergeev:

1.結果が一致しない。

なぜかいつもmqhが入っているんですよね。

とにかく、私はコードをきれいにしました。

CSeries - 4つの配列と4つのバッファを提供するクラスで、INDICATOR_CALCULATIONで定義されています。
CPair - FastとSlowの2つのCSeriesを提供するクラスです。

また、機能USD/JPY/EUR/GBP+MT4と同様にシフトして起動します。


2.MT4と比較してみましたが、一対一で、同じ結果でした。

ビールはおごりです :)

3.収益につながる成果はありますか?


1.おお!心からありがとうございます。まだ見ていない。iCustom-貸し出しですか?

5にフクロウではありません。このインディカはずっと前から持っていたんだ。

2.MASDを装着した外科医、感動!彼は11のトレードで全てのニューロ・マルチ・スペクトラ・ウルトラ・ウルトラを与えているのです。:-)

普段からそうなんです。あとは、iCustomが自分のニーズに合っていれば、信号をフクロウに入れて、ガンガンやっていきますよ

3.ヒールにはフクロウはいませんが...。iCustomに適しているのでしょうか?- 1本目、2本目、3本目のバーの値が必要です(市場に入るための2つの条件:ゼロ交差と(または)ゼロより上か下かの変曲点)。

4.ビール一杯の貸しができたよ」+個人的なメッセージで書きました。

 
R0MAN:

3.ヒールにはフクロウはいませんが...。iCustomに適しているのでしょうか?- は、1本目、2本目、3本目のバーの値を必要とします(2つの市場参入条件: ゼロクロス、および(または)ゼロより上/下の変曲点)をコーディングします。

がすべてiCustomに供給されます。
 
Rosh:
テスターでデバッグができない
予定はありますか?オンラインデバッグは、再現性のない条件のため、ほとんど役に立ちません。
 
そういえば、テスターで実行した後に開くチャートウィンドウに、インジケータを自動的に表示させるにはどうしたらいいのでしょうか?今までは何もする必要がなかったと思うんです。
 
marketeer:
オンラインデバッグでは、条件が再現できないため、ほとんど役に立ちません。

そんな文字があるんだ、大きくて太いね。

予定はありますか?

MetaQuotesにテスターとデバッガーを掛け持ちする熱意があるとは思えませんが、それは理解できますね。この仕事は曲者です。

仮想サーバー」についてのアイデアが徘徊しています。特に、任意のデータの入力(任意の速度で)が許されるのであれば、現実に近いと思います。しかし、それはメタクォートに大きなストレスを与えるオプションでもあります(いくつかの理由が同時にあるようです)。

しかし、もっと多くの方法が考えられます。サムシングサードデバッガの中に「マイクロテスター」のようなものがあり、ペアを設定し、ブレークポイントを指定し、起動すると出来上がりです。デバッガで実行する。ブレークポイントで停止し、「デバッグ期間」が終了するまで、段階的に調査し、「さらに」開始することが可能です。

つまり、こんな感じです。

// しかし、これはすべて私の憶測であり、声に出して考えていることです。 もしかしたら、Stringoは何か別のことを思いつくかもしれません。

でも、何かしなければならないのは確かです。

 

MetaDriver:

仮想サーバー」については、いくつかのアイデアが飛び交っています。特に、任意のデータの入力(任意の速度)を許可すれば、より現実に近くなります。しかし、メタクォーターに負担をかけるオプションでもあります(いくつかの理由が同時にあるようです)。

デバッグができるテスターの方が現実的だと思うし、この方向で夢を見るのはやめた方がいいと思いますね。