[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 468

 
rlx:


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


おそらく、計算を最適化するために、注文履歴を 別の方法で確認することができます。

///// Есть некий массив торгуемых инстурментов
string symbolfotrade[] = {"EURUSD", .........}
///// Массив флагов
bool isTradedClosed[] = {false, .....}
bool isTradedOpen[]   = {false, .....}
//// Общая переменная
bool isAllTraded = false;
int  isTradedCount = 0;
int  HistRegistr = 0; //// 
start()
  {
   symbfotradeCount = ArraySize(symbolfotrade);
   вначале перебор закрытых ордеров. С конца в начало
   if (!isAllTraded)
     {
      Перебор закрытых ордеров  с начала в конец 
      int totalHistory = OrdersHistoryTotal();
      for(HistRegistr = HistRegistr; HistRegistr < totalHistory; HistRegistr++)
        {
          символ = OrderSymbol();
          Перебор массива торгуемых инструментов
          for(int i = 0; i < symbfotradeCount; i++)
            {
             if (isTradedClosed[i]) continue;
              Если (символ равен symbolfotrade[i]) то {isTradedClosed[i] = true; isTradedCount++; break}
            } 

        }
      Если isTradedCount==symbfotradeCount то  isAllTraded = true; ///// Чтобы не лазать по массивам
     }
例:新規に成立した注文のみをチェックする。したがって、すでにチェックされているクローズドオーダーのチェックを試みることはありません。
 
Expert Advisorが情報を処理し、52組のペアを問題なく処理するには、どれくらいのCPUパワーまたはRAMメモリが必要ですか?
 
demlin:

多通貨のパラメータはどのように最適化するのですか?MT4テスターでは、一度に複数のシンボルをテストすることはできませんが...。多通貨の方を考えていて、今のところ、各シンボルに対して別々にパラメータを最適化し、そのパラメータを多通貨モードのExpert Advisorに転送するという考えに至っています。

私は正しい方向に進んでいるのか、それとも実際はもっと簡単なのか......)

mql5では、すべてを1つのEAに実装してテストとトレードができるのですが、今はmql4を勉強することにしました。

いくつかのシンボルを一度にテストできないなら、各シンボルチャートのコピーを自分で設定すれば同じになるなら、わざわざ1つのEAにする必要はないだろうと思った次第です。コミュニティメンバーの意見を聞いてみたい)))

 

初心者のためのヘルプ、EAを書き、KimIVから関数を使用して、最初は彼らからエラーがあった私は彼のブランチでコメントの助けを借りて、それらを取り除いたと思うが、今警告があり、私はコンパイル時にすべてがスムーズに実行する方法を理解できない、警告は何を意味するのか教えてください。

機能......は参照されないため、削除されます......。

 
ara66676:

初心者のためのヘルプ、EAを書き、KimIVから関数を使用して、最初は彼らからエラーがあった私は彼のブランチでコメントの助けを借りて、それらを取り除いたと思うが、今警告があり、私はコンパイル時にすべてがスムーズに実行する方法を理解できない、警告は何を意味するのか教えてください。

機能......は参照されないため、削除されます......。


この機能はどこにも使われていないことを意味します)。

このメッセージをダブルクリックすると、MetaEditorがその場所を表示します。削除するか、/* */をコメントアウトしてください。

 
tol64:


これは、この関数がどこにも使われていないことを意味します))。

このメッセージをダブルクリックすると、MetaEditorがその場所を表示します。削除するか、/* */をコメントアウトしてください。

あるいは、まったく触れないこと。Expert Advisorを作り直すときに、便利かもしれません。
それよりも、キムの機能をライブラリという形で一度に全部ひっかけて、好きなものを使えるようにしたほうがいい。

キムさんの全機能をプラグインライブラリーの形で。
 
Def:

例えばMAをクロスした後、一定数のバーが経過した後にポジションを建てる方法を教えてください。

例えば、価格がMAの後ろに閉じている場合です。次のバーを待って、同じ色でドジでなければ、ポジションを開くのです。

私のオープニングキャンドルは3本目であることが判明しました。

添付ファイルに例を示しています。

ありがとうございます。


double mashka=iMA(......,3)。

if(Close[3]>Open[3]&&Close[3]>mashka&&mashka>Open[3]&&自分の条件) ......。

 
みんな、あるマジックの数字でオープンポジションの 利益を計算するスクリプトを提案してくれないか、つまり、一つの通貨ペアで反対の注文で二つのグリッドを置きたいんだけど、手動で処理できないんだ。
 
zelek:
みんな、あるマジックの数字でオープンポジションの利益を計算するスクリプトを提案してくれないか、つまり、一つの通貨ペアで反対の注文で二つのグリッドを置きたいんだけど、手動で処理できないんだ。

double CurrentProfit() {
    double profit=0; 
    for (int i=OrdersTotal()-1; i>=0; i--){
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if(OrderSymbol()==Symbol()){
          if(OrderMagicNumber()==Magic) profit+=OrderProfit()+OrderSwap()+OrderCommission();
     } } }
return(profit);}