トレンドフォローの戦略。 - ページ 12

 
JLY:

また、線がなくなった場合、アイコンを削除するにはどうすればよいのでしょうか?

ObjectDelete(0,"имя значка"+name);
если у значка нет имени, то в данном случае
ObjectDelete(0,name);

バーでの時間計算が必要

バーでやる。

は時間を知っている、つまりTime[9]は9小節だった。

冒頭だけ書きました。

それなら、好きなようにすればいい。

 
pako:

バーでは時間計算が必要

バーでやる。

Time[9]が9小節であったというように、時間がわかっているのですね。

冒頭だけ書きました。

それなら、好きなようにすればいい。

ありがとうございます、ただ、行を作成する必要がなかったので(パラメータを設定するだけ)、すべてうまくいきました。

4では、iBarShiftによる 小節単位の時間を算出した。この配合を使いました。

datetime time01=time1NEW;datetime time02=time2NEW;
int shift01=iBarShift(0,0,time01);int shift02=iBarShift(0,0,time02);//перевод из скунд в бары
int timeCHANGE=shift01-shift02;//разница между 1-й и 2-й точкой линии
int timeBAR=(shift02-timeCHANGE);//прибавить разницу ко 2-й точке
int timeBARc=Time[timeBAR];//Перевод из баров в секунды

5番目にはこの機能がなく、Copy*の使い方がわからない...。

 
JLY:

ありがとうございます。しかし、行を作成する必要はありませんでしたが(パラメータを設定するだけ)、動作しています。

4では、iBarShiftを通して小節単位の時間をカウントしていた。これが公式です。

5thにはこの機能がなく、Copy*機能の使い方がまだわからないのですが...。

5でiBarShift アナログ

int iBarShift(string symbol,
                  int tf,
                  datetime time,
                  bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  }
 
MQL5では、ピリオドの定数が変更されているため(新しいピリオドM2、M3、M4、M6、M10、M12、H2、H3、H6、H8、H12が追加)、以下の関数でMQL4のピリオドに変換することが可能です。
ENUM_TIMEFRAMES TFMigrate(int tf)
  {
   switch(tf)
     {
      case 0: return(PERIOD_CURRENT);
      case 1: return(PERIOD_M1);
      case 5: return(PERIOD_M5);
      case 15: return(PERIOD_M15);
      case 30: return(PERIOD_M30);
      case 60: return(PERIOD_H1);
      case 240: return(PERIOD_H4);
      case 1440: return(PERIOD_D1);
      case 10080: return(PERIOD_W1);
      case 43200: return(PERIOD_MN1);
      
      case 2: return(PERIOD_M2);
      case 3: return(PERIOD_M3);
      case 4: return(PERIOD_M4);      
      case 6: return(PERIOD_M6);
      case 10: return(PERIOD_M10);
      case 12: return(PERIOD_M12);
      case 16385: return(PERIOD_H1);
      case 16386: return(PERIOD_H2);
      case 16387: return(PERIOD_H3);
      case 16388: return(PERIOD_H4);
      case 16390: return(PERIOD_H6);
      case 16392: return(PERIOD_H8);
      case 16396: return(PERIOD_H12);
      case 16408: return(PERIOD_D1);
      case 32769: return(PERIOD_W1);
      case 49153: return(PERIOD_MN1);      
      default: return(PERIOD_CURRENT);
     }
  }
 
JLY:

秒単位で描画を行いました、週末には隙間があります、つまりまだバー単位で数える必要があります。

int  PeriodSeconds(
   ENUM_TIMEFRAMES  period=PERIOD_CURRENT      // период графика
   );
周期中の秒数を返す。
 
pako:

ありがとうございました。バーシフトカウント

あとは、出来上がったバーを秒に換算するだけです。4では、Time[bar]でした。

5では、ルールに従ってこのようにやっているのですが、うまくいきません。

datetime Time[];
int count=1; 
ArraySetAsSeries(Time,true);
int timeBARsec=CopyTime(_Symbol,_Period,timeBAR,count,Time);//Перевод из баров в секунды
 
JLY:

ありがとうございました。バーシフトカウント

あとは、出来上がったバーを秒に換算するだけです。4では、Time[bar]でした。

5では、ルールでやっているのですが、うまくいかないんです。

質問の理解が正しければ

    datetime Time[]; 
    ArraySetAsSeries(Time,true);
    CopyTime(Symbol(),PERIOD_CURRENT,0,100,Time);
    long timeBARsec = Time[2];//Перевод из баров в секунды, в данном случае Time[бар] бар = 2

    Comment("timeBARsec = ",StringToTime(Time[2]));
 
pako:

問題文が正しければ

はい、動作しています) ありがとうございました)

もし「終わり」がなければ、それはゼロであり、見ることはできない。

ファイル:
TimeEnd.mq5  5 kb
 

1.インジケーターの時間精度とアイコンの説明の時間を作成(チャートプロパティに 説明を入れる)。

2.アイコンはバッファに入れた方が良いのでしょうか?ただ、時間と価格を同じバッファーにまとめるにはどうしたらいいのでしょうか?

3.線を引いた後、まだアイコンがない(バーが表示されていない)場合、エラー(「エキスパート」タブ)となり、他のアイコンの作業が中断されます。

2013.09.22 00:10:36 FlatExecution (EURUSD,D1) 'FlatExecution.mq5' の配列が範囲外 (124,30)になっています。

I.e. 配列が範囲外である...エラーはこの行にあります。

long timeBARsec=Time[timeBAR];

どうすれば、このエラーでインジケータがマヒしないようにできますか?このエラーで動作がマヒしないようにインジケータを変更するにはどうしたらよいですか?

取引アルゴリズム:時間アイコンでエントリー、エントリーラインでストップ、エントリーラインアイコンでエグジット。

5.線描きのルール:各フラクタルから後続のすべてのフラクタルへ、上から上へ、下から下へ。価格に触れる線は削除し、描画しないようにします。


ファイル:
 

エラーが発生する不具合は解消されました。

シグナルバーのオープニングにアイコンが描画されるようになりました。

実行されると別の姿になり、線も引かれて梁がなくなる。実行されない場合は、黄色で表示されます。

2点目以降にストップがかかるラインがある場合、2点目以降にストップをかけることができます。実はストップも計算が違えば、この線上に移動させることができるのです。

フラクタルによれば、描画は変わらない。

アルゴリズムこのサインは、必ずしも一義的な売買を意味するものではありません。しかし、ニュースは何らかの影響を与えると思います。実際には、フラクタルによる自動描画とこの描画の修正(影響を受けた線の除去)がないため、テストは実施されませんでした。

ファイル: