記事「古いトレンドトレーディング戦略の再検討:2つのストキャスティクス、MAとフィボナッチ」についてのディスカッション

 

新しい記事「古いトレンドトレーディング戦略の再検討:2つのストキャスティクス、MAとフィボナッチ」はパブリッシュされました:

古い取引戦略。この記事では、純粋にテクニカルな方法でトレンドをフォローするための戦略の1つを紹介します。これは純粋なテクニカル戦略で、シグナルとターゲットを出すためにいくつかのテクニカル指標とツールを使用します。戦略の構成要素は次の通りです。14期間のストキャスティクス、5期間のストキャスティクス、200期間の移動平均線、フィボナッチ予測ツール(目標設定用)。

この戦略の取引ルールは以下の通りです。

  • 両方のストキャスティクスが同時に売られ過ぎのレベルに達し、跳ね返された後、(同時期に)売られ過ぎのレベルに戻るたびに、買いシグナルが発生します。すべてのプロセスは、相場が200期間移動平均線を上回っている間におこなわなければなりません。1番目のターゲットは、ストキャスティックスが最初に底を打ったときの安値と、2回目に底を打ったときの安値からフィボナッチプロジェクションツールを使って設定します。従って、1番目のターゲットは61.8%の予測であり、2番目のターゲットは100.0%の予測です。
  • 両方のストキャスティクスが同時に買われすぎの水準に達し、跳ね返された後、再び買われすぎの水準に戻る(ほぼ同時期)たびに、ショートシグナルが発生します。すべてのプロセスは、相場が200期間移動平均線を下回っている間に行わなければならない。1番目のターゲットは、ストキャスティクスが最初に頂点に達したときの高値と、2回目に頂点に達したときの高値からフィボナッチプロジェクションツールを使って設定します。従って、1番目のターゲットは61.8%の予測であり、2番目のターゲットは100.0%の予測です。

(フィボナッチレベルごとにストップレベルを設定するよう、戦略を変更しました。)

次の図は弱気シグナルを示しています。

弱気


結局のところ、結果は市場によって異なる可能性があり、現在の結果が安定するとは限りません。ある時期には有効でも、ある時期にはパフォーマンスが低下することもあります。

作者: Javier Santiago Gaston De Iriarte Cabrera

 

悪気はなく、ただ事実だ。ライブ口座では絶対に使わないでください。

   int Highest = iHighest(Symbol(),my_timeframe,MODE_REAL_VOLUME,WHOLE_ARRAY,1);

これで何ができると思う?

先物と株を除いて、ほとんどのシンボルには実際の出来高データはありません。FXでは、これは常に1を返します。最高値は常に1です。

そして、この指標(実際の出来高で得られたHighest)を使ってHigh値を求めているのです:

   double highestValue = iHigh(Symbol(),my_timeframe,Highest);

混ぜるべきでないものを混ぜていることになります(自分が何をしているのか分かっている場合を除く)。High "価格と実際の出来高はどのように関係しているのでしょうか?

いずれにせよ、それは常にHigh[1]と同じで、どうやらあなたが得ようとしていたものと同じである。しかし、それならiHighestや実際の出来高を経由することなく、直接それを取得するのはどうでしょうか?

これ以上は言いません。あなたはこう言った:

この記事の目的は、MQL5でプログラミングする方法を理解してもらうことです。

もし誰かがMQL5でのプログラミング方法を理解したいのであれば、この記事は何が何でも避けることをお勧めする。

 
Alain Verleyen #:

悪気はなく、ただ事実だ。悪気はないんだ。

これは何をやっているのですか?

先物と株を除いて、ほとんどのシンボルには実際の出来高データはありません。FXでは、これは常に1を返します。最高値は常に1です。

そして、この指標(実際の出来高で得られたHighest)を使用して、High値を取得します:

混ぜるべきでないものを混ぜているのです(自分が何をしているのか分かっている場合を除く)。High "価格と実際の出来高はどのように関係しているのでしょうか?

いずれにせよ、それは常にHigh[1]と同じで、どうやらあなたが得ようとしていたものと同じである。しかし、それなら、iHighestや実際の出来高を経由することなく、直接それを取得するのはどうでしょうか?

これ以上は言いません。あなたは言った:

この記事の目的は、MQL5でプログラミングする方法を理解してもらうことです。

もし誰かがMQL5でのプログラミング方法を理解したいのであれば、私はこの記事を全力で避けることをお勧めする。


私は戦略を説明する、それが私の目的だ。自分でプログラムを書くこともできる。これはほんの一例だ。私は結果を示さなければならない状況にあるので、シンプルなEAをアップロードしている。本当の目的はストラテジーを見せることです。

その通り、これは プログラミングの勉強には役立ちません。

 

それに関してはアランと同じ意見だ。もし助けになるのであれば、修正方法を紹介しよう:(OnTick()関数の最初の部分を置き換える。)

MqlTick tick;
SymbolInfoTick(_Symbol,tick);

int highest_index = iHighest(NULL,0,MODE_CLOSE,100,0);
int lowest_index = iLowest(NULL,0,MODE_CLOSE,100,0); 

if(highest_index == -1 || lowest_index == -1) { 
   PrintFormat("iHighest()/iLowest() call error. Error code=%d",GetLastError());
   return;
 }

double previousHigh = iHigh(NULL, PERIOD_CURRENT, highest_index);
double previousLow = iLow(NULL, PERIOD_CURRENT, lowest_index);
double currentHigh = iHigh(NULL, PERIOD_CURRENT, 1);
double currentLow = iLow(NULL, PERIOD_CURRENT, 1);
 

説明は明快ですが、コードには不必要な宣言や行がたくさんあります。

MAの条件とストキャスティクスの 条件がどこで比較され、MAのトレンド表示に収束しているのかがわかりません。

ご指摘いただければ、コードを修正して簡略化できるかもしれません。

EAを動かしてみましたが、残念ながら約定しません。