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

 
sergeev:

1.テスターを書く

2.ビジュアライゼーションを待つ

3. リアルタイムモードでのテスト。
 
papaklass:
Спасибо за ответы. И какой же выход, если рисовать нужно?

セルゲイ

1.テスターを書く

2.ビジュアライゼーションを待つ

あるいは、描こうと思った数値を覚えておいて、描かずにそれを元に作業する。
 

以下のコードは2つの通貨ペアで利益をチェックするものですが、どこでエラーになっているのか理解できません。

     double prof2 =0.0;
     if(PositionSelect(Symbol2)) prof2=PositionGetDouble(POSITION_PROFIT);
     double prof1 =0.0;
     if(PositionSelect(Symbol1)) prof1=PositionGetDouble(POSITION_PROFIT);
     Print ("1дол---prof1=",prof1,"prof2=",prof2);

ログが開通した後の最初の数分間。

DK      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   3---del=60.2999999999998
CK      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   1---P1=1 raz1=0.000180000000000069 Sred1=1.80000000000069
MI      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   2---P2=1 raz2=0.006210000000000049 Sred2=62.10000000000049
FS      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   3---del=60.2999999999998
JR      0       Trade   17:02:20        2010.04.05 00:01:00   instant sell 0.10 GBPUSD at 1.52662 (1.52662 / 1.58921 / 1.52662)
FE      0       Trades  17:02:20        2010.04.05 00:01:00   deal #2 sell 0.10 GBPUSD at 1.52662 done (based on order #2)
MF      0       Trade   17:02:20        2010.04.05 00:01:00   deal performed [#2 sell 0.10 GBPUSD at 1.52662]
GG      0       Trade   17:02:20        2010.04.05 00:01:00   order performed sell 0.10 at 1.52662 [#2 sell 0.10 GBPUSD at 1.52662]
LN      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   продажа 2 инструмента:GBPUSD
EL      0       Trade   17:02:20        2010.04.05 00:01:00   instant buy 0.10 EURUSD at 1.38070 (1.34912 / 1.38070 / 1.34912)
FJ      0       Trades  17:02:20        2010.04.05 00:01:00   deal #3 buy 0.10 EURUSD at 1.38070 done (based on order #3)
LG      0       Trade   17:02:20        2010.04.05 00:01:00   deal performed [#3 buy 0.10 EURUSD at 1.38070]
CQ      0       Trade   17:02:20        2010.04.05 00:01:00   order performed buy 0.10 at 1.38070 [#3 buy 0.10 EURUSD at 1.38070]
DL      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   покупка 1 инструмента:EURUSD
RN      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   $$$sum=-941.7000000000001 prof1=-315.8 prof2=-625.9
NE      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   дол1...vol1=0.1 vol2=0.1
DK      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   1 дол---prof1=-315.8 prof2=-625.9
MO      0       Per_Dol_raz (EURUSD,M1) 17:02:20        2010.04.05 00:01:00   1 дол---del=15 sot=15

941,7ドル - オープニングの最初の分では、新しいバーがまだ形成されていないことを書き込みます。

テストは、m1「始値のみ」サーバー - Alpari、チケット425で行います。

まだバーが出現していないのに、すでにマイナス1000ということはありえない。

しかし、2010年11月から2011年2月までは、このようなことは一度もありませんでした。

//--------------???????????????????????????????????????????-----------------//

 

チケット421でテストしたXPにTook、チケット425で7つありました。

ナンセンスだが、すべてが想定通りに動く。

//---------------------------------------------------------------------//

もし難しくなければ、オプティマイザーの結果を保存する方法を教えてください。

画像ではなく、つまり設定(パラメータ)を持つパスのバリエーション

で、その結果(利益)は、もちろん、htmlで保存できる方が良いのですが......。感謝

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Стили рисования - Документация по MQL5
 
Im_hungry:

図面ではなく、設定(パラメータ)を持つパスのバリアント

そして、その結果(利益)は、もちろん、htmlで保存できる方が良いのですが......。ありがとうございました。

ターミナルヘルプの「最適化結果」の項をご覧ください。
 
Rosh:
ターミナルヘルプの最適化結果 セクションをご覧ください。
ありがとうございます。
 

図の中でどの点が、いわば最も有望なのか、アドバイスをお願いします。

最適化基準(パラメータの完全探索)が、max.profit + min.drawdown の場合。

私が理解するところでは、最高点は、利益+ドローダウンが最大+最小であることを示します。

テスターのすべてのパスの?

ファイル:
 
MetaDriver:

完全に初期化する時間がないのでしょう。アイデアとしては、sleep(pause)を使って初期化と初期計算の時間を確保することですが、sleep()がテスターで動くかどうか分かりません。

私も同じようなことに直面しており、現在までに1人のエキスパートがテスターで不安定に起動し(「厚い」インジケータも)、まだ終わらせる時間がありません。

初期化しようとしないわけではなく、引用符の同期後にすぐにパスアウトしてしまうのです。
 
papaklass:
もちろん、やりますが、不便です。

グラフオブジェクト関数のラッパーを作成する。このクラスの関数に例えば "GrafObject "という名前を付けて、必要なデータをオブジェクトのプロパティに保存し、グラフオブジェクトそのものを作成します。ですから、テスターにいるいないにかかわらず、常にオブジェクトとオブジェクト自体の情報がチャート上に表示されることになります。

class CGrafObject
  {
... переменные_хранящие_свойства_объекта; ...
public:
                     CGrafObject(void){};
                    ~CGrafObject(void){};
   ... обёртки_получения_и_установки свойств(){} ...   
   ... обёртки_функциям_граф_объектов(){}...
  };
 

CDealInfo::TypeDescription() でエラーが発生しました。

switch(Type())の代わりに switch(DealType())を使用。

CHistoryOrderInfo::TypeDescription() にも記載されています。

の代わりにreturn(FormatType(str,Type())) が必要です。