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

 
gdtt:

この構成。

同じデータ型とは いえ、他のオブジェクトのプライベートメンバーへの直接参照なので、禁止されるべきだと思うのですが。

禁止すべきと思いますか?使わないでください。

private: 要素のアクセス指定子の後 (および次のアクセス指定子の前)に宣言されたクラスメンバは このクラスのメンバ関数だけが利用 できます。

ドキュメントには、アクセスについて明示的に書かれており、オブジェクトについては何も書かれていません(クラスについてのみ)。

ちなみに、コピーコンストラクタはまさにこの効果に基づくものである。

 
stringo:

禁止すべきと思いますか?使わないでください。

ドキュメントには、アクセスについて明示的に書かれており、オブジェクトについては何も書かれていません(クラスについてのみ)。

ちなみに、コピーコンストラクタはまさにこの効果に基づくものである。

OK、了解、ありがとう
 
Alex5757000 以前呼び出した保留中の注文 のOrderCalcMargin()関数が0.0を返していることが判明したのですが?

そうですね、状況説明から判断すると、保留中の注文のOrderCalcMargin() 関数は「0.0」を返しますね。これは、未決済の注文に証拠金が必要ないことを示します。

もし、保留中の注文がトリガーされたときにどれだけのマージンが必要になるかを見積もる必要がある場合は、最初のパラメータとして成行注文の1つを使用します。

 

そのため、「EX5の読み込みに失敗しました」エラー関数をライブラリに入れた後

#import "GetPriceBy.ex5"
double GetHighByTime(datetime Time);
double GetLowByTime(datetime Time);
#import

どうしたんですか?

------------------------------

機能自体に問題があるかどうかを確認することにした。ライブラリ関数の本体がすべて「return(1);」だけであっても、エラーになります。

ヘルプの例のようにインポート する

#import "user32.dll"
int    MessageBoxW(uint hWnd,string lpText,string lpCaption,uint uType);
#import "stdlib.ex5"
string ErrorDescription(int error_code);
int    RGB(int red_value,int green_value,int blue_value);
bool   CompareDoubles(double number1,double number2);
string DoubleToStrMorePrecision(double number,int precision);
string IntegerToHexString(int integer_number);
#import "ExpertSample.dll"
int    GetIntValue(int);
double GetDoubleValue(double);
string GetStringValue(string);
double GetArrayItemValue(double &arr[],int,int);
bool   SetArrayItemValue(double &arr[],int,int,double);
double GetRatesItemValue(double &rates[][6],int,int,int);
#import
 
FiftyStars:

そのため、「EX5の読み込みに失敗しました」エラーライブラリに関数を入れた後

ライブラリにエクスポート可能な関数として宣言されているか?
 
alexvd:
ライブラリにエクスポート可能な関数として宣言されているか?
と宣言しましたが、すでに解決しています。コンピュータを再起動しただけです xD 1ヶ月間作業を中断していたのが功を奏したのか、すでにいろいろなところに不具合が現れ始めています。
 
教えてください、ここに私のリクエスト構造がありますが、他に基本的に何が足りないのでしょうか?
  
 
 MqlTick last_tick;SymbolInfoTick(Symbol(),last_tick);
 
   MqlTradeRequest request={0};
      MqlTradeResult result={0};
      
 
  {
    request.     action=TRADE_ACTION_DEAL;           // Тип выполняемого действия
    request.     price=last_tick.bid;
    request.                        volume=1;           // Запрашиваемый объем сделки в лотах     
    request.     type=ORDER_TYPE_SELL;     // Тип ордера
    request.     type_filling =ORDER_FILLING_RETURN;          
    
   }
   
  OrderSend(request,result); 
  
  
  int Error=GetLastError(); ResetLastError();
        printf("Error %i ",Error);
      
        

2012.10.10 19:22:29 (EURUSD,M1) Error 4756 ERR_TRADE_SEND_FAILED
4756
取引要求の送信に 失敗しました

申し訳ないのですが、例えば注文ではなく、ポジションを開くのであれば、価格を指定する必要がないなど、できるだけ情報がないとダメなのでしょうか?ストッププロフィットがないのであれば、なぜないのか?多分、後でロボットにセットしてもらいたい。貿易要請で決定的に不足している分野とは?それとも何でしょうか?

また、指定しないことも可能でしょうか?type_fillingです。注文が全数実行されない可能性がある、みたいな説明なんだけど...。どうしてですか?よくわからないんですけどね。オーケー、.

ああ、そこが致命的だったんですね。 request.symbol=_Symbol; 一般的にロボットが行くチャート上の位置を正確に配信することは言うまでもないと思っていたのですが...。

 
LR Correlationを最適化結果の パラメータ(Custom max)として設定する方法を教えてください。
 
Vacuum:
LR Correlationを最適化 結果のパラメータとして設定する方法(Custom max)を教えてください。

まず、LR Correlationを計算する必要がある。これは本ライブラリhttps://www.mql5.com/ru/code/1081 で行っています。

そして、この値をOnTesterで 次のように返します。 https://www.mql5.com/ru/articles/286

CTradeStatistics
CTradeStatistics
  • 投票: 8
  • 2012.09.13
  • Andrey Voytenko
  • www.mql5.com
Класс для расчета показателей из перечисления ENUM_STATISTICS
 
Dimka-novitsek:
教えてください、ここに私のリクエスト構造がありますが、他に基本的に何が足りないのでしょうか?

2012.10.10 19:22:29 (EURUSD,M1) Error 4756 ERR_TRADE_SEND_FAILED
4756
取引要求の送信に 失敗しました

申し訳ないのですが、例えば注文ではなく、ポジションを開くのであれば、価格を指定する必要がないなど、できるだけ情報がないとダメなのでしょうか?ストッププロフィットがないのであれば、なぜないのか?多分、後でロボットにセットしてもらいたい。貿易要請で決定的に不足している分野とは?それとも何でしょうか?

また、指定しないことも可能でしょうか?type_fillingです。注文が全数実行されない可能性がある、みたいな説明なんだけど...。どうしてですか?よくわからないんですけどね。オーケー、.

ああ、そこが致命的だったんですね request.symbol=_Symbol; 一般的にロボットがいるであろうチャート上の位置の配信だと思っていたのですが......。

標準ライブラリの利用をお勧めします。

#include <Trade\Trade.mqh>
CTrade            trade;
MqlTick           last_tick;
double Lot=0.01;
string main_comment="";
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- тип позиции
   bool Type;
//----------------------------------+
//--- если покупаем
   Type=true;                         
//--- если продаём     
   Type=false;
//----------------------------------+
   if(Type)
     {
      SymbolInfoTick(_Symbol,last_tick);
      double price=last_tick.ask;
      trade.PositionOpen(_Symbol,ORDER_TYPE_BUY,NormalizeDouble(Lot,2),price,0,0,main_comment);
     }
   else
     {
      SymbolInfoTick(_Symbol,last_tick);
      double price=last_tick.bid;
      trade.PositionOpen(_Symbol,ORDER_TYPE_SELL,NormalizeDouble(Lot,2),price,0,0,main_comment);
     }

  }