[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 39

 
hoz:
正直なところ、なぜそのようなものが必要なのか、まったく理解できません。どうやら開発者は、そのことも考えていなかったようです。
開発者が思いつかなかったことがあるのは、とてもいいことだと思います。そういうものをまとめて、一緒にしてしまうと
 
Kobalerro:

アドバイスありがとうございます!でもちょっと複雑すぎますね。そして、あなたのバージョンでは、すべての動作が判明し、入力のための条件を確認するために10を要します。

で、最初に成功した5つだけを開き、そのうちの1つが閉じると、条件にマッチした最初の1つが再び開くという仕組みになっています。

EURUSD 1 , GBPUSD 1 , EURGBP 0 に限定されるものではない。

もっとシンプルな解決方法があるはずだと思うのですが。あるパラメータで制限された条件の注文の総数を数えるとか。

記号かマジックナンバーのどちらかで制限を設けるべきですが、1つ以上ではありません。

しかし、おそらく、あなたのバリアントも動作しますが、どのようにコードでそれを実装するために、私は考えることはできません。


はい、そう思います。ディスクへの書き込みをしなくても、簡単にできるようになりました。
標準の端子から別の端子に手綱を結んでいるところです
標準端末の手綱を別の端末に結んでいるところです(笑)。

許してくれ、とにかくやるしかないんだ。
というのは、フレディ・マーキュリー卿が言ったからです。
Show must go on!

では、スペックを整理してみましょう。
私の理解では

1.あるアカウントでは、通貨ペアのチャートのセットでウィンドウを大量に開いています(10個)。

2.それぞれのチャートには、Expert Advisorという仕事道具が置かれていて、何かをしてくれる。

3.以下の条件を満たすアカウントであること。

3.1 口座にある未決済の成行注文の総数は5を越えてはならない。
馬券型(保留)の注文はカウントされないはず(だと思うのですが、指定されていませんね)
3.2 アカウント上の一連のチャートに基づいて、特定のシンボルのリストが形成されます。

そして、これらのシンボルは、それぞれ最大で1つのシンボルを常に持つことができます。

は、1つ以上の未決済注文を持つことはできません。

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

こんな感じ!?すべて正しいかどうか見てみましょう
では、どの言語で行うべきか教えてください(mq4やmq5など)。
と、取引するインスタンスのリスト(固定か、毎回違うか)。

各EAの本文に短く貼り付けるべきだと思います

(希望すれば手続きとして登録できる)ことで、彼が

現在あるアクションのパーミッションについて決定します。

午前5時なので、そろそろ失礼したいと思います :))

マッドズックス

 
Kobalerro:

ありがとうございます!でも、謎すぎる。そして、あなたのバージョンの関数がすべてに対して機能し、入力条件のチェックに10を要するのです。

で、時間的に最初の5つだけを開き、そのうちの1つが閉じると、条件に合う最初の1つが再び開くという仕組みになっています。

EURUSD 1 , GBPUSD 1 , EURGBP 0 に限定されるものではない。

もっとシンプルな解決方法があるはずだと思うのですが。あるパラメータで制限された条件の注文の総数を数えるとか。

また、記号またはマジックナンバーによる制限で、1つ以上にはならない。

しかし、おそらく、あなたのバリアントも動作しますが、どのようにコードでそれを実装するために、私は考えることはできません。



三本松で相撲をとってはいけない。ユニークなマジックの下でExpトランザクションを分岐させる(選択されたシンボル上のExpオーダーにマジックを割り当てる)。そして、条件付きif - else演算子を使って、記号と魔法記号でフィルターを繋ぎ、入力値の異なるキムI.V.からこの関数を 使う。

NumberOfOrders()関数。

.それだけです。

 
hoz:


HM.全部読むまで意味が分かりませんでした :)どのようなデータを出力したいのですか?

私が考えるに、この状況の解決策は次のようなものです。

1.数値int 59と17を文字列型に変換する。

2.そして、これらの文字列のデータを連結する。

3. int型に変換して戻す

他にも選択肢はありそうですが、今のところ思いつきません。


素晴らしい答えです。シンプルで分かりやすく、他の選択肢は必要ありません。なぜなら、この1つは
チョー良い:))
 

もう一度、運試しをしてみる。

こんにちは インジケータがありますhttps://www.mql5.com/ru/code/7176

歴史の上でも通用する。実生活ではかなりボロボロになっている、など。

例えばこのインジケータをベースにして、各バーや各インターバルを再描画/再計算したい場合、どうすればいいのでしょうか?

例えば、M5で取引してシグナルを待っていても来ないかもしれません。15~20分待って、他のタイムフレームに切り替え、再びM5で取引すると、シグナルが出ていることが分かります。別の時間枠に切り替えて、もう一度m5で見てみると、10分前にはあったことが判明します。他のタイムフレームに切り替えることなく、自動的に再計算するにはどうしたらよいのでしょうか。

 

おかしな質問が出てきました。例えば、ある条件で買い注文を 出すことにした。

1.速い波1が遅い波2を下から上へ横切った。(重要なのは、交差する瞬間ではなく、速い波1が遅い波2より高いということです)。

2.ローソク足が高速の1に触れたので、買い注文を出す。

ということは、ローソク足の価格が、見かけ上、速い波動1の価格とほぼ同じであれば、ある程度の指定された偏差を持つという条件を作る必要があるのですね?

基本的には、fastmask1がslowmask1を下から横切った時点でローソク足が現在上になっているので、それ以上はローソク足の安値をfastmask1の価格と比較する必要があるのでは?

即ち

if( iMA(fast) > iMA(slow) )
{
  if(low[0] == iMa(fast))
  OrderSend(параметры посыла ордера);
}

しかしこの場合、ローソク足がiMA(fast)の価格にぴったりとつくことは考えにくく、価格がすぐにそれを飛び越えてさらに進んだり、反発したりするため、その点は考慮されていません。そこで、ある程度の範囲を指定する必要があります。

正しく実装するには?

 
Twilight:

もう一度、運試しをしてみる。

こんにちは インジケータがありますhttps://www.mql5.com/ru/code/7176

歴史の上でも通用する。実生活ではかなりボロボロになっている、など。

このインジケータを例えば各バーや各インターバルで使用したい場合、再描画/再計算は可能ですか?

例えば、M5で取引してシグナルを待っていても来ないかもしれません。15~20分待って、他のタイムフレームに切り替え、再びM5で取引すると、シグナルが出ていることが分かります。別の時間枠に切り替えて、もう一度m5で見てみると、10分前にあったことが判明します。タイムフレームを切り替えることなく、自動的にシグナルを再計算するにはどうすればよいですか?

著者のインジケーターの説明(リンク参照)をよく読まれましたか?

ただ、この指標は、言ってみれば動的なものである。つまり、10本以上(!)のバーを再描画することができるのです。そして、あなたが緑色に見えているものは、かつては赤色だったのです。しかも、トレンドが上がったから緑になっただけ。

???- もう引きすぎなんだよ!!!!
 
silatyt:

この指標に対する著者のアブストラクト(リンク先)をよく読まれましたか?

ただ、この指標は、言ってみれば動的なものである。つまり、10本以上(!)のバーを再描画することができるのです。そして、あなたが緑色に見えているものは、かつては赤色だったのです。そして、トレンドが上がったからこそ、緑色になったのです。

???- どうせ再計算されるんだから!


再描画するのはわかるのですが、新しいバーや ある間隔ごとに任意のインジケータを再計算する技術に興味があります。

あらゆる指標を再計算する技術に興味があります。

問題は、手動でタイムフレームを変更することなく、各バーで任意のインジケータを再計算する方法です。

 
Twilight:


新しいバーや与えられたタイムフレームごとに、どのインディケータも再計算する技術に興味があります。

たとえ、あとから何かあっても。

質問は、手動でタイムフレームを変更することなく、すべてのバーで任意のインジケータを再計算するように聞こえます。

インジケーターの中を覗いたことがありますか?一般的にはこのような感じです。

int start()
  {
   int counted_bars=IndicatorCounted();
//----
   if (counted_bars < 0) return(-1);
   if (counted_bars > 0) counted_bars--; 
   int limit=Bars-counted_bars;
   for (int i=limit;i>=0;i--)
    {
    //расчёт индикатора
    }
//----
   return(0);
  }

再計算するバーの本数を定義する変数をlimitと呼びます。それをベースに計算することができます。

 
silatyt:

インジケーターの中を覗いたことがありますか?一般的にはこのような感じです。

再計算するバーの本数を定義する変数がlimitである。そこから計算してもよい。


Expert Advisorにインジケータのコードを挿入して、そこで再計算するのですか?

5つのインジケーターがあったら?

他に再計算する方法はないのでしょうか?

iCustomでExpert Advisorにすべてのインジケータを添付しています。

新しいバーごとにインジケータの呼び出しと その最後の値などが表示されますが、タイムフレームを変更して戻るまで、取引されたシンボルウィンドウに再描画されることはありません。

PCMを押してリフレッシュを押しても再描画もされず、なぜかタイムフレームを変更したときだけ再描画されます。

P.S. そして、呼ばれるようにソフトウェアPCM/リフレッシュ?

RefreshRatesが間違っているようです。