MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1723

 
Artyom Trishkin #:
そして、配列を組んで、適切な基準でソートすることがいかに簡単であるかということです。しかし、100500ページの間、私たちは踵を返したままです。
コードで例を示してください。配列で積み重ねて、ソートもする方法がわからない。
 
Alexey Viktorov #:
結局、誰かからの回答を待つより、確認した方が簡単で早いし...。

私のmqlのスキルは小さすぎます)やってみることはできますが、かなりの時間がかかります)なので、多くの時間を費やしてできないことがわかるより、可能かどうかを調べる方がいいです)
もっと自由な時間があれば、確かに試すのは簡単ですが、今はむしろ、できるのかどうかをより経験豊富な人に聞きたいと思っています。

 
Scarick #:

私のmqlのスキルは小さすぎます)確かにやってみることはできますが、多くの時間がかかります)だから、多くの時間を費やしてそれができないとわかるよりも、何かをすることが可能かどうかを事前に調べる方が良いのです)
私がもっと自由な時間を持てば、確かに試すのは簡単になりますが、今はむしろそれができるかどうかをより経験のある人々に聞きたいと思っています。

もし、あなたのスキルがあまり高くないのに、論理的思考が働いているとしたら、この質問から何がわかるでしょうか。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム。

MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。

スカーリック さん 2021.11.06 17:01

つまり、あるインジケータに5つのシンボルを登録した場合、1つのOnBookEvent()を通して5つのシンボルすべてを操作することができるのでしょうか?重要なのは、どのキャラクターで変化が起きたかというフィルタリングだけでしょうか。

であれば、誰かからの肯定的な回答を待つのではなく、確認することが最も確実な方法です。だから、このように答えたのです。
 
MakarFX #:
コードで例を示してください。配列で積み重ねて、ソートもする方法がわからない。

ここを見てくださいhttp://www.mql5.com/ru/articles/1404 そこではソートされず、配列にスタックされます。

Управление ордерами – это просто
Управление ордерами – это просто
  • www.mql5.com
Статья описывает разнообразные способы контроля открытых позиций и отложенных ордеров и призвана облегчить написание экспертов.
 
MakarFX #:
コードで例を示してください。配列にスタックして、さらにソートする方法がわかりません。

bool BubleSort(構造体&arr[])

{

for(int i = ArraySize(arr)-1;i>=0;i--)
for(int j = i-1;j>=0;j--) {.

if (Compare(arr[i],arr[j])<0 ) Swap(arr[i],arr[j]).

}

}

このようなマイクロアルゴリズムは、片目をつぶって記憶をたどりながら書くものです。

アルゴリズミック・コースを受講してください。

 
Alexey Viktorov #:

あなたの場合、スキルは高くないが論理的思考力があれば、この質問から推測されるように、うまくいきます。

であれば、誰かからのポジティブな答えを待つよりも、確認することが一番確実です。だから、このように答えたのです。
ええ、すでに少ない労力で試せる方法を見つけています。でも、テスターで確認することはできないんです。営業日で待たされる。しかし、あなたは直接答えることができたはずです)私はあなたにコードを書いてくれと頼んでいるわけではなく、ただ質問をしただけです。
 

Maxim Kuznetsov #:

このようなマイクロアルゴリズムは、記憶を頼りに、酔っ払って、片目をつぶって書いているのです。

マジでアルゴリズム講座とか受けろよ。

面白い言い方だなぁ...悩む必要ないじゃん

 
MakarFX #:

面白い言い方だなぁ...悩む必要ないじゃん

通常の方法 - あなたにはソートアルゴリズムが与えられます。よし、通常のバブルソートだ。誰も無理をしていなかった。

そして、通常のメッセージは、本当に - アルゴリズムについて読む

もう文献を読めよ。

 

プログラマーの皆さん、ごきげんよう!!!!

もう一度、質問をさせていただきますが、少し言い換えてみました。

グリッドEAでは、ペニオク注文のチケットを見つける必要があります。最大注文のチケットから-1のソリューションは、多分、戦略テスターでは動作しませんが、それはデモや実際の口座で動作しませんので、私は絵を添付し、それはなぜ明らかであろう。

次から最後の注文券を決定する関数のコードを書きました。このロジックは、グリッド内のすべてのオープンオーダーに目を通すと、それに続く最大限のものが見つかり、それが必要なオーダーチケットとなる、というものである。

しかし、私のプログラミングのレベルが十分でないため、コードに誤りがあるようです。この関数の結果がチケットの最小値となります。この2つの機能は、MAXチケットとペナントチケットです。最大チケット機能は問題なく動作します。

//+----------------------------------------------------------------------------+
//| Расчет тикета предпоследнего ордера в сетке                                |
//+----------------------------------------------------------------------------+
int GetTicketPenultimateOrder()
  {
   penultimate_ticket = 0;
     {
      for(int cnt = OrdersTotal() - 1; cnt >= 0; cnt--)
        {
         if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
           {
            if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
              {
               if(OrderType() == OP_BUY || OrderType() == OP_SELL)
                 {
                  if(OrderTicket() > penultimate_ticket && penultimate_ticket != GetTicketMaxOrder())
                     penultimate_ticket = OrderTicket();
                 }
              }
           }
        }
     }
   return(penultimate_ticket);
  }
//+----------------------------------------------------------------------------+
//| Расчет тикета максимального ордера в сетке                                 |
//+----------------------------------------------------------------------------+
int GetTicketMaxOrder()
  {
   max_ticket = 0;
     {
      for(int cnt = OrdersTotal() - 1; cnt >= 0; cnt--)
        {
         if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
           {
            if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
              {
               if(OrderType() == OP_BUY || OrderType() == OP_SELL)
                 {
                  if(OrderTicket() > max_ticket)
                     max_ticket = OrderTicket();
                 }
              }
           }
        }
     }
   return(max_ticket);
  }

どのようなエラーなのか、アドバイスをお願いします。ありがとうございます。

 
Scarick #:
そう、どうすれば少ない労力で挑戦できるかは、もうわかっているのです。しかし、テスターで確認することができない。営業日で待たされる。でも、直接答えてくれてもいいんですよ)私はコードを書いてくれと言っているわけではなく、質問しただけです。

ほらね・・・悪気はないんだけどね。ポジティブな回答で何が変わるのか?結局、勤務時間内にしか書けないし、チェックもできない。

理由: