[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 407

 
Zhunko:

とにかく、RefreshRates()がないと、私のEAは動きません。ループ状にしています。従って、RefreshRates()は必須である。

ループ状というのはどういう意味ですか?実際、どんなExpert Advisorも、スタートがサイクルを持っているので、ループしていると言えるでしょう。1ティックに1回...

ずん子

初期履歴の読み込みは、この原理で 行われます。そして、定期的に充電しています。そうしないと、Expert Advisorが動作する履歴に「ギャップ」が生じます。なぜそうなるのかはわかりません。

厨房で取引してるお前だから歴史の穴ができてるように見えるんだよ。ダサい厨房で起こることに気がつく。優良ブローカーはそんなもの持ってないはずだ。

ずん子

ページングにRefreshRates()を使ってみました。いつもうまくいくわけではありません。

しかし、RefreshRates()は市場環境の変数を更新するためのものであり、ページングを行うためのものではありません。もちろん、入れ替わりはありません。


ずん子

最後の1小節だけが届くこともある。

最後の小節はどこに入っているのでしょうか?

ずん子

ある商品のチャートが開いていれば、必ずその商品の履歴が残っています。この場合、誤りはありませんでした。必要な測定器のチャートが開いていないときにエラーが表示される。

ふむ、なるほど、MarketInfo()でマーケットデータを引っ張ってくるのであれば、エラーは出ないはずですね。もちろん、それを迂回する場合も。そのようです。まだ確認していませんが、同じロジックのようです。
 

こんにちは。

システムのテストについて質問したかったのです。だいたいのイメージはわかるのですが、実際にEAが動くようになった経験がないので、何でもかんでも作って作ってテストテストして......。一般的には、今、いつ止められるかわからない。

私のExpert Advisorはシンプルで、最適化パラメータはほとんどありません。スキャルピングのようなものではありません。2000年から2013年までの期間、D1で100ドルデポで最小ロット0.01で1回取引しました。これがその報告書です。

ほうこく


この結果は信頼できるのでしょうか?取引回数は300回ですが、ストラテジーのロジックとD1タイムフレームによれば、これ以上はないはずです。この戦略には最適化パラメータが1つだけあり、それはシグナルの忠誠度である。彼らに厳しい制度にすれば、パラメータは改善されるはずだが、案件の量は175件にしかならない。取引件数が多いのに、結果は信用できるのか?それとも、指標は悪くてもトレード数が多い最初のバリエーションを選んだ方がいいのでしょうか?

報告書2


それとも、どちらも意味がなく、より高い数学的期待値などが必要なのでしょうか?

 
EUR/USD H4 の通貨ペアで「更新待ち」が点灯し、他の期間に切り替わらないのですが、どうすればよいですか?
 
shurik32:
EUR/USD H4 通貨ペアで点灯している " 更新待ち " と他の期間には何をすべきかを切り替えません?
履歴を入力 F2スワップ H4!
 
Vinin:

Expert Advisor での計算中(関数 start() 実行中)に新しいティックが来た場合、Expert Advisor はそのティック(目盛り)を知ることができません。RefreshRates()では、更新された最新の価格を使用することができますが、この関数はサーバーにアクセスするものではありません。端末が知っている市場環境を更新します。取引 以外の機能は、サーバーにアクセスしない。

割り当てられたものについては、何とも言えませんね。メタクウォーツに聞くしかないでしょう。

MRCでは頻繁にチャートを開いたり更新したりするので、本命の口座をブロックされました。MQL4の機能ではなく、社内のチャートビューワーです。例えば、MarketInfo()はサーバーにアクセスするか、マーケット概要からいくつかのデータを取得するだけかもしれません。

====================================

私の記憶では、Market Watchのデータは、Predefined Variablesと 同じである必要はありません。では、RefreshRates()は、何をどこから更新するのでしょうか?

答えはひとつしかない。リフレッシュは、サーバーからの履歴をページングして照合することです。それで履歴を更新しようとすると、何度も納得してしまうのです。最後の1小節だけ来ることもよくあった。端末を降ろした後、HST-fileに「穴」ができてしまったのです。しかし、このチャートを開いて更新すると、「穴」は埋まっていた。ちなみに、タスクマネージャーでRefreshRates()を実行すると、データの読み込みが観察できます。 おそらく、RefreshRates()で履歴が更新されたときに照合が発生するのではなく、チャートが更新されたときに発生するのでしょう。

そのため、Expert Advisorのフローに穴のない履歴が必要な場合は、コントロールする必要があります。

ホズ
1.サイクリックとはどういう意味ですか?実際には、Expert Advisorは開始サイクルがあるため、どのExpert Advisorもループしています。1ティックにつき、1回。

2.厨房で取引してるお前だから歴史の穴ができてるように見えるんだよ。ダサい厨房で起こることに気がつく。しかし、質の高いブローカーは、そんなクソみたいなことはしないはずだ。

しかし、RefreshRates()は市場環境の変数を更新するためのものであり、ページングを行うためのものではありません。もちろんページングではありません。

4.最後の小節はどこに来るのでしょうか?

5.ふむ。まあ、私の理解では、MarketInfo()でマーケットデータを引っ張ってくれば、エラーは出ないはずなのですが。迂闊に手を出すと、当然ながらこんな感じです。まだ確認していませんが、同じロジックのようです。

1.こんな感じ。

extern string Tool           = "";    // Имя инструмента.
extern bool   IsRefreshRates = false; // Флаг включения обновления таймсерий.
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()
 {
  string sTool = Tool; // Имя инструмента.
  if (Tool == "") sTool = Symbol();
  while (!IsStopped())
   {
    if (IsRefreshRates) RefreshRates();
    Comment("MarketInfo()\n",
            TimeToStr(MarketInfo(sTool, MODE_TIME), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(MarketInfo(sTool, MODE_BID), Digits), "  ", DoubleToStr(MarketInfo(sTool, MODE_ASK), Digits),
            "\n\nПредопределенные переменные\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Bid, Digits), "  ", DoubleToStr(Ask, Digits),
            "\n\nМассив-таймсерия \"Close[]\"\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Close[0], Digits));
    Sleep(300);
   }
 }

2.ブローカーに依存しない。これは、端末とサーバーとの連携に特有なものです。RefreshRates()は、なぜかチャートを更新するように履歴を更新しない。

3.もうヘルプを 読みますか?また始まったよ。

あらかじめ定義された変数や時系列配列のデータをリフレッシュ することができます。Expert Advisorやスクリプトが長時間計算を行い、データの更新が必要な場合に使用する機能です。データが更新された場合は TRUE、そうでない場合は FALSE を返す。クライアント端末の現在の状態に対応するからといって、データが更新されるとは限らない。Expert Advisorとスクリプトは、履歴データの独自のコピーで動作します。現在のシンボルのデータのコピーは、Expert Advisor またはスクリプトの最初の起動時に作成されます。Expert Advisor を次回起動するたびに(スクリプトは一度だけ実行され、受信ティックに依存しないことに留意してください)、最初に作成されたコピーが更新されます。Expert Advisorやスクリプトの実行中に1つまたは複数の新しいティックが表示されることがあり、データが古くなることがあります。

4.何の話か?Expert Advisorのスレッドでデータの更新の話をする。

5.上のEAコードは、データの更新方法と更新箇所を示しています。IsRefreshRates を含まない場合、MarketInfo() 内のみでのデータ更新となる。

 
 

alpariでilan 2.0 (1.6)を使い、常識的な設定で取引に成功していましたが、無駄にサーバーに負荷をかける非生産的な要求が頻繁に起こるというアラートが来るようになりました。アルパリは速い相場ではストップロスの設定可能な最小値を2スプレッドまで上げ、40ピップス、時にはそれ以下に対応することがわかりました。しかし、私のEAはこの値を15-55pipsの範囲で設定しているようです。これはEAのコードを読んで理解しました。しかし、alpariはそれに満足せず、ブロッキングすると脅されたので、取引を停止しています。私はmql4をよく知りませんでした。私はちょうど問題の原因となっている唯一の行と思われるコードのこれらの行を編集しました、それは任意のイランのタブの中で、冒頭に近いです。

double PrevCl;

double CurrCl;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)){

私は愚かにも15という数字を40に変えて問題を解決したのですが、さらにalpariから問題は解決していないこと、つまり私が何か間違ったことをしたことを知りました、これは当然です。EAコードを正しく編集して、損切りレベルを15-55ではなく40-55pipsの範囲に置く方法をアドバイスしていただけませんか。40-55ポイントのレンジは、ストップロスの設定に余裕がなく、価格から離れすぎていて利益が減るのは承知しています。でも、仕方ないですよね。アルパリを離れたくないんです、あそこは快適ですから。EAの 標準設定では、適切なパラメータがありません。

 
Dmido:

こんにちは。

システムのテストについて質問したかったのです。だいたいのイメージはわかるのですが、実際にEAが動くようになった経験がないので、何でもかんでも作って作ってテストテストして......。一般的には、今、いつ止められるかわからない。

私のExpert Advisorはシンプルで、最適化パラメータはほとんどありません。スキャルピングのようなものではありません。2000年から2013年までの期間、D1で100ドルデポで最小ロット0.01で1回取引しました。これがその報告書です。


この結果は信頼できるのでしょうか?取引回数は300回ですが、ストラテジーのロジックとD1タイムフレームによれば、これ以上はないはずです。この戦略には最適化パラメータが1つだけあり、それはシグナルの忠誠度である。彼らに厳しい制度にすれば、パラメータは改善されるはずだが、案件の量は175件にしかならない。取引件数が多いのに、結果は信用できるのか?それとも、指標は悪くてもトレード数が多い最初のバリエーションを選んだ方がいいのでしょうか?



それとも、どちらも意味がなく、より高い数学的期待値などが必要なのでしょうか?


年率10%は良いのか悪いのか?
 
Andrew245:

alpariでilan 2.0 (1.6)を使い、常識的な設定で取引に成功していましたが、無駄にサーバーに負荷をかける非生産的な要求が頻繁に起こるというアラートが来るようになりました。アルパリは速い相場ではストップロスの設定可能な最小値を2スプレッドまで上げ、40ピップス、時にはそれ以下に対応することがわかりました。しかし、私のEAはこの値を15-55pipsの範囲で設定しているようです。これはEAのコードを読んで理解しました。しかし、alpariはそれに満足せず、ブロッキングすると脅されたので、取引を停止しています。私は本当にmql4を知らない、私はちょうど問題の原因となっている唯一の行と思われるコードのこれらの行を編集しました、それは任意のイランのタブの中にあり、冒頭に近いです。

double PrevCl;

double CurrCl;

if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)){

私は愚かにも15という数字を40に変えて問題を解決したのですが、さらにalpariから問題は解決していないこと、つまり私が何か間違ったことをしたことを知りました、これは当然です。EAコードを正しく編集して、損切りレベルを15-55ではなく40-55pipsの範囲に置く方法をアドバイスしていただけませんか。40-55ポイントのレンジは、ストップロスの設定に余裕がなく、価格から離れすぎていて利益が減るのは承知しています。でも、仕方ないですよね。アルパリを離れたくないんです、あそこは快適ですから。アルパリから離れたくない、あそこは便利だ。


だからストップロスのパラメータを変えろ、なぜインジケータのパラメータを変えるんだ?
 
pako:

で、ストップロスのパラメータを変更するのですが、なぜインジケータのパラメータを変更するのでしょうか?

推測したのですが、見つからないのです、ストップロスのパラメーターが