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

 
MakarFX:


回答ありがとうございました。でも、これを計算する正しい数式文字列がまだわからない、いろいろと不慣れなんです。のようにここに綴っていただけませんか?

***

 
Порт-моне тв:

回答ありがとうございました。でも、これを計算する正しい数式文字列がまだわからない、いろいろと不慣れなんです。のようにここに綴っていただけませんか?

***

コードを 正しく挿入してください:投稿を編集する際に、 コードをクリックし、ポップアップウィンドウにコードを挿入 してください。
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

ここで誤算だったのは、その日の損益に加えて、冒頭の口座 残高が必要だったことです。:(((;゚Д゚))))))))

Account balance() - 常に変化する、例えば Hour==1 の場合、どのように修正するか?

 
Порт-моне тв:

回答ありがとうございました。でも、これを計算する正しい数式文字列がまだわからない、いろいろと不慣れなんです。のようにここに綴っていただけませんか?

***

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает суммарный профит в валюте депозита                  |
//|             закрытых с определённой даты позиций                           |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента             (""   - любой символ,         |
//|                                               NULL - текущий символ)       |
//|    op - операция                             (-1   - любая позиция)        |
//|    mn - MagicNumber                          (-1   - любой магик)          |
//|    dt - Дата и время в секундах с 1970 года  ( 0   - с начала истории)     |
//+----------------------------------------------------------------------------+
double GetProfitFromDateInCurrency(string sy="",int op=-1,int mn=-1,datetime dt=0)
  {
   double p=0;
   int    i,k=OrdersHistoryTotal();

   if(sy=="0") sy=Symbol();
   for(i=0; i<k; i++) 
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) 
        {
         if((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) 
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL) 
              {
               if(mn<0 || OrderMagicNumber()==mn) 
                 {
                  if(dt<OrderCloseTime()) 
                    {
                     p+=OrderProfit()+OrderCommission()+OrderSwap();
                    }
                 }
              }
           }
        }
     }
   return(p);
  }

利益計算...

もし、当日の利益が欲しいなら

datetime dt=iTime(_Symbol,PERIOD_D1,0);
 
Порт-моне тв:

ここで誤算だったのは、その日の損益に加えて、冒頭の 口座 残高が必要だったことです。:(((;゚Д゚))))))))

Account balance() - 常に変化する、例えば Hour==1 の場合、どのように修正するか?

AccountBalance()-GetProfitFromDateInCurrency(.....)
 
Tatiana Zyrianova:
午後OnChartEventで 処理される チャート上のボタンを 押すことで、インジケータが強制的にCalculateイベントを開始することができるかどうか、教えてください。

同じシンボルとタイムフレームを持つChartSetSymbolPeriodは 、チャートを更新するために使用できます(ターミナルのRefreshコマンドに似ています)。チャートの更新は、それに付随する指標の再計算をトリガーします。このように、ティックがないとき(週末など)でも、チャート上でインジケーターの再計算を行うことができます。

 
MakarFX:

利益計算...

もし、当日の利益が欲しいのであれば

私の希望とはちょっと違うけど。PROFIT FOR THE DAYが一日の始まりのBALANCEの 一定割合(計算済み)を超えたら取引停止、逆に超えなくなるまで-取引(機能も既にある)」が欲しいです。本当に何かアイディアがあるといいのですが。

一日の始まりに口座残高を確認することが必要です!!!Accountbalanceは常に変化するため、使用することはできません。

 
Порт-моне тв:

ここにあるのですが、エラーが発生するため、修正するのを手伝ってください。

失態

  datetime TimeCheck_sb = StrToTime("1:00");
  if(TimeCurrent()==TimeCheck_sb)
     {
      AccountBalance() = sb1; sb1 = AccountBalance();
     }
 
Порт-моне тв:

私が求めているのは、そういうことではありません。私は、「もしその日の利益が、その日の始まりの残高の 一定割合(すでに計算済み)を超えたら、取引を停止する、あるいはその逆で、超えていない間は、取引する(この機能もすでに存在する)」が必要です。本当に何かアイディアがあるといいのですが。

一日の始まりに口座残高を確認することが必要です!!!Accountbalanceは常に変化するため、使用することができず、ある時間に設定された数式が必要です。

だから言ったでしょ

AccountBalance()-GetProfitFromDateInCurrency(.....)

その日の最初の口座残高を求める計算式が必要です。

 
MakarFX:

だから言ったじゃないですか。

現在の残高から当日の利益を引くと、その日の始まりの残高になる

のように、設定したい割合、例えば(1%)が数値で変化してしまうのが問題です。

AccountBalance()-GetProfitFromDateInCurrency(.....)

新しい取引をするたびに残高が増え、1%も増加します。 つまり、固定されたセットポイントがないため、私の関数は機能しません。