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

 
みんな知っている。MT4で。ストラテジーテスターが ある。最適化により、パラメータの列挙を推し進めることが可能です。

質問は以下の通りです。

この最適化、パラメーターの検索をExpert Advisorに突っ込めないか?Expert Advisor がパラメータを随時最適化する場合、収益性の高いものを選択して動作させるのですか?例えば、7日ごとにExpert Advisorが7日間最適化されるとします。そして、収益性に関するパラメータを選択。そして、フクロウたちは、すでに7日間も働いている?

答えを聞きたい、これを理解している人がいる。仕事量とでも言いましょうか。作品の厳しさ。などなど。その内容とは

 
Aleksey Radzisheuski:
みんな知っている。MT4で。ストラテジーテスターが ある。最適化により、パラメータの列挙を推し進めることが可能です。
質問は以下の通りです。
この最適化、パラメーターの検索をExpert Advisorに突っ込めないか?Expert Advisor がパラメータを随時最適化する場合、収益性の高いものを選択して動作させるのですか?例えば、7日ごとにExpert Advisorが7日間最適化されるとします。そして、収益性に関するパラメータを選択。そして、フクロウたちは、すでに7日間も働いている?

答えを聞きたい、これを理解している人がいる。仕事量とでも言いましょうか。作品の厳しさ。などなど。その内容とは

以下はその記事ですhttps://www.mql5.com/ru/articles/1467 ...

Автоматическая оптимизация торгового робота в процессе реальной торговли
Автоматическая оптимизация торгового робота в процессе реальной торговли
  • 2007.04.16
  • Igor Malcev
  • www.mql5.com
В статье описана и представлена библиотека функций, позволяющая проводить оптимизацию входных параметров советника, запуская оптимизацию непосредственно из советника.
 
Alekseu Fedotov:


トレンドライン はありますか?

そして、視覚的に0バーを超える(下回る)、いいえ、プロパティでチェックボックス、ビーム。


線は、トレンドラインです。プロパティをレイに変更しました。役に立たなかった。理想は、ゼロバーの位置(上、下)に関係なく価格を表示させることです。

このコードもうまくいきません。

int start() {

double pr=ObjectGetValueByShift("line",0)。

If (Bid==pr){。

アラート(pr);}。

return(0);}。

 
Valerius:

皆さん、こんにちは。

質問ですが、インスタで注文を出そうとすると、ストップがおかしいと言われます。

以下、セリフそのものです。

OrderSend(Symbol(),OP_BUYSTOP,Lots,HiP,3,0,NULL,111,0,clrBlue)を実行。

Stop LossとTake Pointが0になっています。Stop Lossに数値を設定すると全て正常です。

ストップロスは必要ない。どうしたらいいのでしょうか?

これは、StopLossの問題ではなく、保留中の注文の始値の問題です。保留中の注文の 価格が間違っている場合、エラー130が発生します。
 
Kot:


線がトレンドになっている。プロパティをレイに変更しました。役に立たなかった。価格はゼロバーの位置(上、下)に関係なく表示されることが理想的です。

このコードもうまくいきません。

int start() {

double pr=ObjectGetValueByShift("line",0)。

If (Bid==pr){。

アラート(pr);}。

return(0);}。


回線名は正しく入力されていますか?

このスクリプトを試してみて、ログに書かれている内容を示してください。

void OnStart()
  {
     double pr;
     int obj_total=ObjectsTotal(); 
     string name;
     int i; 
     
   for(i=0;i<obj_total;i++) 
     { 
      name=ObjectName(i); 
      if(ObjectType(name)!=OBJ_TREND) continue; 
      PrintFormat("Объект %d:     Имя объекта - %s",i,name); 
      pr=ObjectGetValueByShift(name,0);
      PrintFormat("Объект %d:     Цена - %.5f",i,pr);
      
     } 
  }
 

私たちには課題があります。上位のタイムフレームのインジケータからのデータは、iCustom Expert Advisorに呼び出されます。それらをサポートラインとレジスタンスラインと呼ぶことにしよう。

3つの図形x1 x2 x3があるとする。この3つの図形で線を引くコードをEAで直接書きたいのですが、ご教授ください。

ObjCreateを試しましたが、うまくいきませんでした。

明確にするために、3つの別々のライン。mql4プライマーにリンクしない。動作コードを共有するだけ

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
Artyom Trishkin:

このスレッドでは、新しいMQL4でプログラミングを理解し、学び、MQL5に簡単に切り替えたいと考えている人たちの手助けを始めたいと思います - 言語は非常に似ています。

この場では、タスクやその解決方法、MTプログラミングに関するあらゆる疑問について議論することができます。

他の経験豊富なフォーラムユーザーにも議論に加わってもらい、みんなが面白いブランチになることを期待しています。


これが課題です。iCustom Expert Advisorには、上位のタイムフレームに立つ指標のデータを呼び出すことになります。それらをサポートラインとレジスタンスラインと呼ぶことにしよう。

3つの図形x1 x2 x3があるとする。この3つの図形で線を引くコードをEAで直接書きたいのですが、ご教授ください。

ObjCreateを試しましたが、うまくいきませんでした。

明確にするために、3つの別々のライン。mql4チュートリアルは参考にしないでください。動作コードを共有するだけ

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • 2011.03.28
  • MetaQuotes Software Corp.
  • www.mql5.com
В чем различия между тремя режимами тестирования в MetaTrader 5 и на что обратить внимание? Как происходит тестирование эксперта, торгующего одновременно на нескольких инструментах? Когда и как вычисляются значения индикаторов при тестировании и как обрабатываются события? Как синхронизировать бары с разных инструментов при тестировании в режиме "Только цены открытия"? Статья призвана дать ответы на эти и многие другие вопросы.
 
BoBoforex:

私たちには課題があります。上位のタイムフレームのインジケータからのデータは、iCustom Expert Advisorに呼び出されます。それらをサポートラインとレジスタンスラインと呼ぶことにしよう。

3つの図形x1 x2 x3があるとする。この3つの図形で線を引くコードをEAで直接書きたいのですが、ご教授ください。

ObjCreateを試しましたが、うまくいきませんでした。

明確にするために、3つの別々のライン。mql4プライマーにリンクしない。動作するコードを共有するだけです。


機能

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 30.03.2008                                                     |
//|  Описание : Установка объекта OBJ_HLINE горизонтальная линия               |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (1  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetHLine(color cl, string nm="", double p1=0, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_HLINE, 0, 0,0);
  ObjectSet(nm, OBJPROP_PRICE1, p1);
  ObjectSet(nm, OBJPROP_COLOR , cl);
  ObjectSet(nm, OBJPROP_STYLE , st);
  ObjectSet(nm, OBJPROP_WIDTH , wd);
}

void OnTick()関数の外側に配置します。

そして、これは void OnTick() の内部です。

  SetHLine(clrRed,"x1",x1); 
  SetHLine(clrRed,"x2",x2);
  SetHLine(clrRed,"x3",x3);  
 

i>0の値でVesMass配列を計算するとゼロになるのが理解できないのですが?

   int NumberTotal=3;
   int VesTotal=NumberTotal;//всего веслов в массиве
   double VesMass[];//массив с весами
   ArrayResize(VesMass,VesTotal);



   for(int i=0;i<VesTotal;i++)
     {
      if(i==0)
        {
         VesMass[i]=1;
         Print("VesMass ",i,"=",VesMass[i]);
        }
      if(i>0)
        {
         VesMass[i]=VesMass[i-1]*(4/5);
         Print("VesMass ",i-1,"=",VesMass[i-1]);
         Print("VesMass ",i,"=",VesMass[i]);
        }
     }
 
Alexey Viktorov:
これは、Stop Lossの問題ではなく、保留中の注文の建値の問題です。保留中の注文の 価格が間違っている場合、130のエラーが発生します。


価格のダブルスプレッド内に保留注文を出そうとしたことがある。そうすることで初めて、エラーが消えるのです。これが正しいのかどうか理解できないのですが?

例えば、BUYSTOP注文をBidaの60ポイントに設定します。また、TakeProfitは、スプレッドの値より小さく設定することはできません。

なぜそうなるのか、理解できない。リアル口座では動作しませんが、デモモードでは動作します。