初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 743

 

皆さん、こんにちは。MQL5について質問です。

チケットのポジションをクローズする機能にコメントを挿入したいのですが。

これまではCTradeクラスを使用していましたが、このような可能性はありません。

ということは、OrderSendを使う必要があるんですね?

https://www.mql5.com/ru/docs/constants/tradingconstants/enum_trade_request_actions#trade_action_deal サンプルではOnStart関数が 書かれていますが、ここがよくわかりません。それとも、すべてをカスタム関数に記述して、必要なときに呼び出すようにしてもよいでしょうか?

OnInitに何か追加する必要があるのでしょうか?

また、OrderSendでclosingを書き、openingやmodificationはCTradeクラスをベースにしたままだとコンフリクトしないのでしょうか?

ありがとうございました。

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:

大雑把に言うと - 私があなたに書いたことをよく読んで、あなたのコードから無限ループを削除してください。

Expert Advisor を無限ループにすることは、本当に正しい解決策なのでしょうか?

まず、これは解決策ではなく、私が言っていることの本質を示すための例です。

次に、無限ループではなく、プログラムの終了時に正しく安全に終了することです。

そして第三に、あなたは全く別のことを解決するために私に手紙を書いている。その方法はいくらでも思いつく。

つまり、私のループは私の状況を阻害するものと考えているのですね。そうなんですか?

とにかく、わかったんです。このスレッドに悪乗りしてしまった・・・。

でも、とにかくありがとうございます

 
Marat Sultanov:

まず、これは解決策ではなく、本質を示すための一例です。

次に、無限ループではなく、プログラムの終了時に正しく安全に終了することです。

そして第三に、あなたは全く別のことを解決するために私に手紙を書いているのですが、その方法はいくらでも考えられます。

つまり、私のループは私の状況を阻害するものと考えているのですね。そうなんですか?

とにかく、わかったんです。このスレッドに悪乗りしてしまった・・・。

でも、とにかくありがとうございます

番組の最後に、そう、中断されるのです。

重たい計算をして、設定画面が呼ばれたら中断するようにしてください。

あなたのコードがどのように動作するかを見ました - それは設定の変数の変化に反応しません - それは無限ループによって阻止され、EAを削除 することによってのみ中断することができ、それは再び開始されません - あなたはチャートからそれを削除しました...。

重い計算はタイマーで把握するようにしましょう。計算の瞬間にタイマーが呼ばれるかどうかはわからないが。

しかし、いずれにせよ、長い計算をエミュレートするためのループは良い解決策とは言えません。

 
こんにちは。関数の入力パラメータに配列を設定する方法を教えてください。
double test[];


double Test(.....)
{

}
 
Fresto:
こんにちは。関数の入力パラメータに配列を設定する方法を教えてください。

関数に配列を渡す?

こんな感じです。

//+------------------------------------------------------------------+
double test[];
ArrayResize(test,2);
ArrayInitialize(test,256);

Print(Test(test));
//+------------------------------------------------------------------+
double Test(double &array[])
{
   if(ArraySize(array)==0) return(WRONG_VALUE);
   array[0]+=array[1];
   return(array[0]);
}
//+------------------------------------------------------------------+

そうですか.だいしょうせつ

 
Artyom Trishkin:

プログラムを終了させると、はい、そうなります。

そして、本当に重い計算をして、設定ウィンドウが呼ばれたときにそれを中断するようにします。

あなたのコードがどのように動作するかを見ました - それは設定の変数の変化に反応しません - それは無限ループによってそうすることを許可されていません、それはEAを削除することによってのみ中断することができ、それは再び開始しません - あなたはチャートからそれを削除した...

重い計算をタイマーで追ってみてください。計算時にタイマーが呼ばれるかどうかはわからないけど。

しかし、いずれにせよ、長い計算をエミュレートするためのループは良い解決策とは言えません。

ありがとうございます。

了解しました。しかし、残念ながら相応のニーズがあります。

しかし、いずれにせよ、長い計算をエミュレートするためのループは良い解決策とは言えません。

例えば、大きなファイルに書き込んだり、大きなファイルから読み出したり、あるいはそれらをまとめて行う必要がある場合があります。想像力を膨らませれば、バツグンのクレイジーさが手に入るし、実装すれば痛みも二乗になる :)

StopFlagで割り込みをトレースできるのに、入力パラメータが変更されないのは不思議です :(

 
hello, question:グラフに 表示されるコメントの角度を変更することは可能でしょうか
 
Dmitry Melnichenko:
こんにちは、質問があります。チャートのコメントの 角度を変えることは可能でしょうか

いいえ。

グラフィカルラベルOBJ_LABELを自分で作成し、そのプロパティを変更しない限りは

OBJPROP_ANGLE


関数:ObjectSetDouble を使用
 
インジケーターのヘルプ
ファイル:
llassiff.mq5  17 kb
 
Rafael Sahibgareev:
みんな、インジケータを理解するのを手伝ってくれ
理解できないコードがあるんだ自分で修正する必要があります。
ファイル:
llassiff.mq5  18 kb
理由: