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

 
Igor Makanu:

ほとんどの場合、バリアント1が必要で、それから、バーを検索する計算サイクルのインジケータで、次の構造を使用します。

条件を確認した結果、Time[i]に必要な時間が入っている

ご返信ありがとうございました。CheckTimer() 関数で、startTime,endTimeを日付で渡して います。TimeDayOfWeek()は私の理解では1〜5の値を返しますCheckTimer()関数で使用するために、日付 形式に変換するにはどうしたらよいですか?それとも、この機能も改造しなければならないのでしょうか?

 
Gerkl:

返信ありがとうございました。CheckTimer() 関数でstartTime,endTimeを日付で渡して います。TimeDayOfWeek()は私の理解では1から5までの値を返しますCheckTimer()関数で使用するために、日付 形式に変換するにはどうしたらよいですか?それとも、この機能も改造しなければならないのでしょうか?

こんなのはどうでしょう

int   shift = iBarShift(NULL,PERIOD_W1,Time[i]);  
  
datetime startTime = iTime(NULL,PERIOD_W1,shift); 
datetime endTime = startTime + PeriodSeconds(PERIOD_W1); 
 
Alekseu Fedotov:

そうかもしれない

ありがとうございます。しかし、日曜日から日曜日までの一週間が表示され、月曜日から金曜日(取引週)が必要です。


週間

 

1つのEAに同じEAのコピーを10個入れ、パラメータを変えて使うにはどうしたらよいでしょうか?


そうですね...。
EAの全コードを1つの関数にしたものです。
そして、その入力パラメータを 関数のEAパラメータにすればいいのです。

Ontickでは、関数を10回、パラメータを変えて登録するだけです。


そして、コメントで 注文を分けるべきでしょう。
EA のコピーごとに異なるコメントを規定すること。

 
multiplicator:

1つのEAに同じEAのコピーを10個入れ、パラメータを変えて使うにはどうしたらよいでしょうか?


そうですね...。
EAの全コードを1つの関数にしたものです。
そして、その入力パラメータを 関数のEAパラメータにすればいいのです。

Ontickでは、関数を10回、パラメータを変えて書き換えるだけです。


そして、コメントで注文を分けるべきでしょう。
EAのコピーによって異なるコメントを書くことになります。

異なるMajiksを作る方が良い

 
Vladimir Pastushak:

めじるしを別物にしたほうがいい

なぜ、より良いのか?
ただ、もしかしたらまだ別のEAが取引されるかもしれません。
 
Gerkl:

ありがとうございます。しかし、それは私が月曜日から金曜日(取引週)を必要とする一方で、日曜日から日曜日までの一週間を表示する方法です。

もしそれでよければ、5日分の時間を秒単位で足せば=5×24×60×60で、金曜日の開始時刻になります。

必要なものを推測するのは難しいですが、TFのバーの開店 時間を使う方が常に信頼性が高いです


乗算器 です。
なぜ良いのか?
もしかしたら、まだ別のEAが取引されているかもしれません。

注文コメントは信頼性が低いため、0時位置のコメントを上書きしたり、独自情報を付加するサーバーもある。

magikは信頼できる、数字がかわいそうだと思いませんか? magikはint型です。int型に格納できる最大数はヘルプに書いてあります...。数十億のEAに必要なマジックナンバーがあるわけですから...。欲張らずに、マジックナンバーを使いましょう )))

 
Igor Makanu:

オーダーコメントの信頼性が低いため、0時位置のコメントを上書きしたり、サービス情報を付加するサーバーもあります

wizardはint型です。int型に格納できる最大数はヘルプに書いてありますが・・・。数十億のEAに必要なマジックナンバーがあるわけですから...。欲張らずに、マジックナンバーを使いましょう )))

私には、1つのEA-1つのマジックナンバーという固定観念があります。


フクロウの命令をすべて閉じる必要はないので、フクロウ用の共通マジコンも必要ありません。

 

こんにちは、アドバイスをお願いします。このExpert Advisorでは、Profit Equityによってすべてのポジションをクローズするため、スリッページが頻繁に発生します。I.e. 利益が一定値に達すると、取引は終了し、その後は終了しない、初回からではない、一般的に

extern double EquityProfit  = 1.2;

int start()
  {
   Comment("" ,AccountName(),"\n""ACCOUNT"  ,AccountNumber(),"\n""FREE MARGIN"  ,AccountFreeMargin(),"\n""EQUITY"  ,AccountEquity(),"\n""BALANCE"  ,AccountBalance());

   if(AccountEquity() > AccountBalance()*EquityProfit)
     {
      int total=OrdersTotal();

      for(int i=total-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS)==true)
           {
            int type=OrderType();

            bool result=false;

            switch(type)
              {
               case OP_BUY       : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,Red);
               break;
               case OP_SELL      : result=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Red);
              }

            if(result==false)
              {
               Sleep(0);
              }
           }
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
 
Vladimir Baskakov:

こんにちは、アドバイスをお願いします。このExpert Advisorは、Profit Equityで全てのポジションをクローズするため、スリッページが頻繁に発生します。すなわち、利益が指定された値に達すると、取引は終了し、そうでない場合は終了しない。

フラグを使用してエクイティの超過分を修正する必要があります。

そして、すべての注文を0になるまで決済し、フラグを反転させる必要があります。

現在,一部の注文が決済され,別の注文が決済されていない状態となっています。