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

 
Stanislav Korotky:
特定のバーのボリュームを計算するアルゴリズムを提案していただけないでしょうか(どこかにすでに記載されているかもしれませんが)。例えば、CopyTicksRangeで特定のバーのすべてのティックを要求し、データウィンドウに表示されているのと同じボリューム(実数とティックの両方)を計算結果として取得する必要があります。取引所商品の両ボリュームで桁違いの乖離があるのですが(具体的には、MQ-DemoでAFLTを取る)。FXの場合、ティックボリュームは 同じで、そこでは実ボリュームは論外です。
ボリュームを合計するときは、フラグ-TICK_FLAGを確認してください。そうでないと、同じボリュームを合計で何回も数えることになります。
 
Dmitriy Skub:
ボリュームを合計するときは、フラグ-TICK_FLAGを確認する必要があります。そうでないと、同じボリュームを合計で何回も数えることになります。

もちろん、国旗は見ていますよ。それを聞いていたのですが、具体的な内容が知りたかったのです。すでに回答済みです。TRADEの刻みを要求しやすくなりました。効くんです。

 
Stanislav Korotky:

もちろん、国旗は見ていますよ。それを聞いていたのですが、具体的な内容が知りたかったのです。すでに回答済みです。TRADEの刻みを要求しやすくなりました。効くんです。

ENUM_SYMBOL_CALC_MODEに依存するフラグを適用することも可能です。

 
Alexey Viktorov:

ENUM_SYMBOL_CALC_MODEに依存するフラグを適用することも可能です。

もちろん、そうです。

 
このトピックに関連しないコメントは、「MQL4 MT4 MetaTrader 4初心者からの質問」に移動しました。
 
内部エラー#27
#import "Test.ex5"
        int f();
#import
static int i = Test::f();
 
Николай Никитюк:

LongCondition」「ShortCondition」関数にTrendTenkanメソッドの計算結果を使用する必要があり、それでもできない場合はどうすればいいのでしょうか?これは、LongConditionがTrendTenkanを呼び出す必要があるということでしょうか?

明らかなエラーには手を加えるしかない。

for(i=idx+1;i<idx+21;i++)
     {if(DiffKijun(i)>0.0) {value_t=TYPE_TREND_UP; break; return(value_t);}
//здесь явно что-то не так
//return после break не имеет смысла

どこから何を呼び出せばいいのかわからない

 

内部エラー #112

class A;
struct B {
        void f() { a.g(); }
        A *a;
};
void OnStart()
{
        B b;
        b.f();
}
 

build 1653では、ランタイムエラーは消えておらず、別の部分に移動しています。

Test2.ex5' で 'f1' が見つかりません。

//Test.mqh
class B {
        virtual void  f() {}
};
class C {
        virtual void g( B& ) {}
};
class A : C {};
#import "Test2.ex5"
        A *f1();
        B *f2();
#import
//Test.mq5
#include "Test.mqh"
void OnStart()
{
        f1();
}
//Test2.mq5
#property library
#include "Test.mqh"
A *f1() export { return NULL; }
B *f2() export { return NULL; }
 

コンパイルエラー

#import "Test.ex5"
        void g();   //g(1)
#import
        void g() {} //g(2)
typedef void (*fn)();
void f( fn )       {}
void f( int, int ) {}
void OnStart()
{
        f( Test::g ); //нормально
        f(     ::g ); //error: 'f' - no one of the overloads can be applied to the function call
        f(       g ); //error: 'f' - no one of the overloads can be applied to the function call
//а как иначе указать что g - это g(2) ... и причем здесь overloads ???
        fn gg = g;    //нормально
        f( gg );
}
理由: