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

 

こんにちは

それとも、現在の価格よりも 高い価格でbylimit注文を送信して、それがすぐに実行されるようにすることが可能になったのでしょうか。本物の株式市場のシステムのように?

滑りを制限するような?

 

どうしても分からないので、ヒントをください。時間取得が あります

int GetHandle() { return(0); }

bool SelectHandle( int ) { return(true); }
  
int NewHandle = 0;  
int PrevHandle = GetHandle();    

datetime time = SelectHandle(NewHandle) ? TimeCurrent() : 0;  
SelectHandle(PrevHandle);


同じことをするマクロの書き方

time = MACROS(NewHandle, TimeCurrent()); // Макрос


問題は、マクロ内でPrevHandleが作成されていないことです。

 

皆さん、こんにちは。

ターミナルビルド1960年(ベータ版1966年も同じ)。関数CopyTicks, CopyTicksRangeは ターミナル上で動作するインジケーターでは正常に動作しますが、テスターでは、これらの関数で同じインジケーターを実行すると結果が-1、エラー4014と 表示されます。開発者の方、その理由を教えてください。

 
fxsaber:

同じことをするマクロの書き方

関数の何がいけないの?
 
Alexey Navoykov:
この機能の何が問題なのでしょうか?

TimeCurrentの 代わりに、どんな関数でも構わないからです。

 
fxsaber:

TimeCurrentの代わりに、どんな関数でも構わないということです。

では、グローバル 変数が使用されている場合のみです。
 
fxsaber:

同じことをするマクロの書き方

問題は、マクロ内でPrevHandleを作成できないことです。

大きな問題は、カンマ演算子がないことだと思います。カンマ演算子がなければ、このようなマクロを取得することはまず不可能です。

 
認識されていない天才の典型的な症候群...。高尚なことを言いながら、一番簡単な問題が解けない...。
考えてみてください...一週間
ヒント:MQLでの解答がすでに存在すること自体がヒントです。
 
pavlick_:

私見ですが、大きな問題はカンマ演算子がないことです。カンマ演算子がなければ、このようなマクロを得ることはまず不可能です。

こんなこともできるんですね。

int MACROS_helper_int;
#define  MACROS(NEW_HANDLE_, FN_)  (MACROS_helper_int=GetHandle())*0+(SelectHandle(NEW_HANDLE_) ? FN_ : 0);  \
                                  SelectHandle(MACROS_helper_int);

でも、カサカサしていると、どこかに状態的に置けず、=を通じてしか置けません。

SZY:そして、if, whileなどの後に丁寧にinを使う。

if(true)
   MACROS(...);

私はたぶん使わないでしょう。

 
A100:
認識されていない天才の典型的な症候群...。高尚なことを言いながら、一番簡単な問題が解けない...。
考えてみてください...一週間
ここで、MQLでの解答がすでに存在していること自体がヒントとなります。

さあ、ご主人様、見事な解決策で庶民を驚かせてください。