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

 

皆さん、こんにちは。みんな、2つの指標を組み合わせるのを手伝ってくれ。もう3日間も放置しているのに、何の効果もない。

最初のインジケータはトレンドを表示し、2番目のインジケータはアラートを出し、エントリーポイントを矢印で表示します。2番目のインジケータは、トレンドに対してのみシグナルを出すようにする必要があります。

1つの指標になるように、あるいは何がいけなかったのか教えてもらおうとしているのです。

ファイル:
 
jarikn:

皆さん、こんにちは。みんな、2つの指標を組み合わせるのを手伝ってくれ。もう3日間も放置しているのに、何の効果もない。

最初のインジケータはトレンドを表示し、2番目のインジケータはアラートを出し、エントリーポイントを矢印で表示します。2番目のインジケータは、トレンドに対してのみシグナルを出すようにする必要があります。

また、何がいけなかったのか、教えてください。

キャッチ

ファイル:
 

いったい何を言ってるんだ、誰もドキュメントを 読んでないのか?

バー

指定した区間のバーの本数を要求する

int  Bars( 
   string           symbol_name,     // имя символа 
   ENUM_TIMEFRAMES  timeframe,       // период 
   datetime         start_time,      // с какой даты 
   datetime         stop_time        // по какую дату 
   );

戻り値

start_time と stop_time パラメータが与えられた場合、この関数は日付範囲内のバーの数を返します。これらのパラメータが与えられていない場合、この関数はバーの総量を返す。

Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
 

何が間違っているのか、どうすればいいのか、教えてください。


void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;

   double lo = OPEN - avg;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
  


一般的に、まず、オブジェクトは、チャート上に作成されますが、表示されていない、第二に、私は別の色の線を置くが、ラインのプロパティは、その正しい名前を持っていますが、両方のケースでその色が赤であり、第三に私はラインが右側に継続された場合2点結合を 指定するには、何日理解できない、しかしレイではなかったのでしょうか?

 
MakarFX:

機能は正常に動作しています。

このように試してみてください。

を追加し、注文終了関数に残高更新を追加

日中に試してみます、ありがとうございました

 
Alexey Viktorov:

もう、皆さんの希望やアドバイスに迷ってしまって...だから、アドバイスも全く本題から外れてしまうかもしれませんが、すみません...。

一日の始まりに残高を確定し、その日のうちに損益を計算し、それに従って取引を継続するかどうかを判断する必要があると理解しているのですが・・・。

そこで、次のように決定しました。

日中にExpert Advisorを再起動する場合は、スワップや手数料を考慮した本日の注文の損益計算を考慮し、OnInit()で日中開始時の残高を計算する必要があります。

マカーの能力を信じて、コードの中ですでにすべてを示すことができる......。

日中に試してみます、ありがとうございました

 
MakarFX:

キャッチ

3日間、頭を悩ませていたんです))))あの、ありがとうございました。
 
MakarFX:

キャッチ

履歴を見ましたが、やはり違いますね。トレンドが買いの時は、売りのシグナルを出したり、その逆もあります。どのラインを変えればいいのか教えてください。すべて順調です。ありがとうございました。
 
jarikn:
履歴を見ましたが、やはり違いますね。トレンドが買いの時は、売りのシグナルを出し、逆の時は、売りのシグナルを出します。どのラインを変えればいいのか教えてください。それ以外は全て最高です。ありがとうございました
合体させただけです。
 
Алексей КоКоКо:

私は間違ってやっているのか私に教えてください)または正しい方法は何ですか 一般的に、最初のオブジェクトは、チャート上に作成されますが、表示されない、第二に私はプロパティに別の色の線を置くが、独自の名前を持っていますが、両方のケースで自分の色が赤であり、第三に私は右側に線を継続したい場合は2点アンカーを 指定するには、日付とは理解していない、レイではなかったのですか?

void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;
   double lo = OPEN - avg;
   
   int shift = Period()*60*5;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data+shift,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data+shift,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }