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

 
sergey1294:
早くOrderCalcMargin()関数がCFD、先物、指数などでもちゃんと動くようにならないかなぁ。これらの商品の証拠金を 正しく計算するための公式をどなたか教えてください。

ヘルプにはないのでしょうか?どうやら...
 
Interesting:

で、多分全部持ち出しちゃったんだろうな、他に理由が思いつかないし...。

もう少し詳しく状況を説明しようと思います。

CMqlTimer " というクラスがあり、このクラスは、時間、日、週、月、年という異なる時間間隔が変化する瞬間を追跡する。

例えば、分数が0になれば「新しい時間」が来たことになり、曜日が変数に格納されている数字と一致しなければ、曜日交替(サーバー時間では「00:00:00」)が来たことになるなど、非常にシンプルな原始的方法ですべてが実現されています。で、その上で。

CMqlTimer::OnTimer() で、1秒間隔でタイマーを起動したときに解析が行われます。時間間隔が変更された場合は、関数を実行する必要があります。例えば、「新しい」日であれば、CMqlTimer::OnRolloverDay()関数が実行されるはずです。


残りのコードを削除し、OnRolloverDay()のみを記述すると、以下のようになります。

すべてのユーザー イベントは追跡され、メインクラスに処理されるように渡されます。

以下のような感じです。

そのため、テストモードではイベントがOnChartEventに到達しません。つまり、Expert Advisorはテストモードでは EventChartCustomを 使用して送信されたイベントを処理することができないのです。 ログに全イベントを表示して確認しました。

追記

一番面白いのは、デモではすべてのイベントが取得 できるのに、テスターでは拒否されることです。

319まですべて動作し、テスターでは、イベントが正常に処理されます。前回のリリースで動作したTrue......とは言えません。

alexvd:
ありがとうございます。考えないといけませんね。
この方向でどのように進んでいるのか、お伺いしてもよろしいでしょうか。テスターのイベントがどうしてもちゃんと動いてくれないと...。
 
Interesting:
ヘルプに書いてあるのでは?どうやら...

確かにそうなのですが、わからないのは、数式中の以下の変数で、赤でハイライトされているところです。

識別子

商品説明

シンボルカルクモードFX

Forexモード - FXのための利益とマージン計算

マージン:ロット*契約サイズ/レバレッジ

利益:(クローズ価格-オープン価格)*契約サイズ*ロット数

シンボル_計算_モード_先物

先物モード - 先物の証拠金と利益を計算します。

Margin: Lots *InitialMargin*Percentage/100

利益:(終値-始値)*TickPrice/TickSize*Lots

シンボルカルクモードCFD

CFDモード - CFDのマージンと利益の計算

マージン:ロット*契約サイズ*市場価格*百分率/100

利益:(クローズ価格-オープン価格)*契約サイズ*ロット数

シンボルカルクモードインデックス

CFDインデックスモード - CFDインデックスのマージンと利益の計算

マージン:(ロット*契約サイズ*市場価格)*TickPrice/TickSize

利益:(クローズ価格-オープン価格)*契約サイズ*ロット数

symbol_calc_mode_cfdleverage

CFD レバレッジモード -レバレッジ取引時のCFDの 証拠金と利益を計算します。

マージン:(ロット*契約サイズ*市場価格*比率)/レバレッジ

利益:(終値-始値)*契約サイズ*ロット数

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
Interesting:
この方向でどのように進んでいるのか、お伺いしてもよろしいでしょうか。テスターのイベントがどうしてもちゃんと動いてくれないと...。

あなたの要望で、アプリケーションを形成しました。

 
alexvd:

あなたの要望で、アプリケーションを形成しました。

ありがとうございます、お待ちしております・・・。
 

バグ-以前は動作していたが、今は動作しない。

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
  // вот так работает
     Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1));
  // а вот так нет (а раньше работало)  
     datetime    time_end=0;
     time_end=TimeCurrent()+2*PeriodSeconds(PERIOD_D1);
     Print(time_end);
  }
 
Prival:

バグ-以前は動作していたが、今は動作しない。

私には効果的です。

その結果がこちらです。

2010.09.08 20:15:12 Draft1_1 (EURUSD,M15) 2010.09.10 19:15:04
2010.09.08 20:15:12 Draft1_1 (EURUSD,M15) 2010.09.10 19:15:04

 
Prival:

バグ-以前は動作していたが、今は動作しない。

どちらも私には有効です。ビルド324
 


2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13

違うんだ、うまくいかないんだ、数字が違うんだ、324を作るんだ。Win7 64bit。

 

Prival:

2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13

私はこれを持っています。

2010.09.08 21:18:04 PrivalTest (EURUSD,H1) 2010.09.10 19:18:15
2010.09.08 21:18:04 PrivalTest (EURUSD,H1) 2010.09.10 19:18:15

分です。

2010.09.08 21:30:15 PrivalTest (EURUSD,M1) 2010.09.10 19:30:24
2010.09.08 21:30:15 PrivalTest (EURUSD,M1) 2010.09.10 19:30:24

XPに勝つ。