初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1037

 
Artyom Trishkin:

チェックする。PLOT_SHOW_DATA

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

 
MQL4のSetIndexDrawBegin()関数のMQL5用のアナログを提案してもらえますか?
 
The_Sheikh:
MQL4からMQL5関数SetIndexDrawBegin()へのアナログを提案してください。

https://www.mql5.com/ru/articles/81

void SetIndexDrawBegin(int index,
                       int begin)
bool PlotIndexSetInteger(index,PLOT_DRAW_BEGIN,begin)
SetIndexDrawBegin
データの先頭から、指示線の描画を開始するバーの通し番号を設定します。
PlotIndexSetInteger
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
MT5でストラテジーテスターの ログを無効にすることは可能ですか?Printの予備はないのですが、20Gbを一晩で、VPSが詰まっています。私は7つのペアで戦略を実行し、それぞれで1日に最大10トレードを行っています...
 
Evgeny Dyuka:
MT5でストラテジーテスターの ログを無効にすることは可能ですか?Printの予備は無いが、20Gbを一晩で、VPSが詰まる。私は7つのペアで戦略を実行し、それぞれで1日に最大10トレードを行っています...

VPSで多通貨のEAを動かしているところはありますか?テストは何日間行われたのですか?それとも、7人のテスターが走っているのでしょうか?

 
Alexey Viktorov:

VPS上で多通貨のEAが動作しているか?テストはどのような期間で行われるのですか?それとも、7人のテスターが走っているのでしょうか?

ある多通貨EAは7つのペアで動作し、1日あたり70-80のトレードを行い、1年間放置した後、5時間のテストでログが20GBを超え、VDSが死亡しました。ログに関する問題は絶えず、ボットプルームされたデポがテストを停止せず、デポの負荷が150%と表示され続け、それを停止しないとVDSがハングアップするまでログが表示されることがあります。私はこの問題をプログラム的に解決しました。「Sedstva」が開始時のデポの10%以下になると、テスターは停止しますが、それは松葉づえです。しかし、多通貨のものはどうしたらいいのかわからない。

 

データ型を 変更すると、正規化が解除されます。


      V=NormalizeDouble(size,2);
      closePrice=NormalizeDouble(partPrice,_Digits);

      Print("V = ",V, "","  closePrice = ",closePrice);
      Print("V = ",DoubleToString(V), "","  closePrice = ",DoubleToString(closePrice));


2019.05.05 20:04:29.483 _part_close (EURUSD,D1) V = 0.01 closePrice = 1.13456

2019.05.05 20:04:29.483 _part_close (EURUSD,D1) V = 0.01000000 closePrice = 1.13456000


これは正常なのか?

 
psyman:

データ型を 変更すると、正規化が解除されます。

これは正常なのか?

あなたのコードには型変換がなく、関数https://www.mql5.com/ru/docs/convert/doubletostring を使っただけです。

をデフォルトのパラメータで指定したため、Print()で8文字が表示されました。

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 

こんにちは。

何がエラーなのかがわからない。現在のローソクのすべてのティックを取得したいのですが。

チェックの際、ティックの配列のサイズは 変更されず、現在のローソクのティック数とは等しくなりません。

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   ArraySetAsSeries(time,true);
   _R=__TIK__(time,0);
   return(rates_total);
  }
//+------------------------------------------------------------------+
bool __TIK__(const datetime &time[],int _i)
  {
   MqlTick tick_array[];   // массив для приема тиков 
   MqlTick lasttick;       // для получения данных последнего тика 

   ulong    from_msc=time[_i]*1000;  
   ulong    to_msc=time[_i+1]*1000;              

   CopyTicksRange(Symbol(),tick_array,COPY_TICKS_ALL,from_msc,to_msc);
   int __ArraySize=ArraySize(tick_array);
   Print((string)__ArraySize+"  "+(string)time[_i]+"  "+(string)time[_i+1]);


   return ( false );
  }
 

オーダーラインやオープンポジション の色を変更するには?

今は全部同じ緑色なので、混乱するし、力技で探してもダメです

   int obj_total=ObjectsTotal(0,0,-1);
   string name;
   for(int i=0;i<obj_total;i++)
    {
     name = ObjectName(0,i,-1,-1);
     Print(i," - объект ",name);
    }

ユーザーが作成したオブジェクトのみ利用可能です。

理由: