フェニックス登場 - ページ 13

 
AZBOfin:
wow, it gets more confusing my minute.

次のことを提案します。

1) すべての計算は、ローカルタイムではなく、サーバータイムに基づいて行われます。

2) EAのすべての時間設定はGMTで行われること。

3) ServerOffsetという新しい変数を導入する。

この変数は、GMTタイムゾーンからサーバーのタイムゾーンへのオフセットを反映します。

今日はGMT-7、明日はGMT-4、来週はGMT+2かもしれません。

しかし、私の取引サーバーは常に同じ場所にあります。そして、これがすべての計算の基礎となるべきです。

私の2セントだけですが、hendrickは男です、どう思いますか?

AZBOfin

私のようなタイムシフトが苦手な人のために、シンプルにしておくのです。私はまだそこまでコーディングしていません...唯一良いのは、コードが必要なものを検知して自動的に調整し、ユーザーがそれを台無しにする必要がないようにすることでしょう。

 
ファイル:
 
Hendrick:
ちょっと教えて欲しいことがある。PhoenixのBUYとSELLのシグナルは、以下のコードで生成されています。

MA =iMA(NULL,MA_Timeframe,MA_Length,0,MODE_SMA,PRICE_OPEN,0);

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

.

ヘンドリック、やはりこの掲示板でフォローしているようです。

Firebird v63gにはトレンドコードが入っていたのですが、使われてませんでした。私はこれを改造したFirebirdで使っていますが、トレンド時のトレードの停止に効果があるようです。

extern int DVLimit = 10; // Renatoによって含まれています。

int TrendUp=0, Trenddown=0;

double iFXAnalyser(int FXA_Period, int mode, int shift)// MrPipによってローカル関数が 作られた。

if ( (iFXAnalyser(0,MODE_DIV,0)>DVLimit*Point && iFXAnalyser(0,MODE_SLOPE,0)>0 ) )Trendup=1;

if ( (iFXAnalyser(0,MODE_DIV,0)<-DVLimit*Point && iFXAnalyser(0,MODE_SLOPE,0)<0 ) ))TrendDown=1;

そして、SELLトリガーでDealTime==1に続いて、"&& TrendUp !=1 "をpurする。そして、DealTime==1に続く"&& TrendDown !=1 "をBUYトリガーで実行します。

もう一つの方法は、RVIに制御因子を入れて、取引活動を規制することです。

extern double RVI_Factor =50; // RVI値に0〜200の係数を加え、売買を制御する。

そして売りと買いのトリガーでRVIコードを "RVI(0+(RVI_Factor*Point)) "に尊重するように変更します。

もう一つの方法は、2つ目のiMAエンベロープを大きくして、アクティブな取引領域を狭くし、非トレンド時に取引を奨励することです。

extern double PercentLimit = 0.15; // 2番目に高いエンベロープ(バンド)で取引を停止させる。

int Safe2=0;

if ( myMA*(1+(PercentLimit/100))=Ask) Safe2=1;

SELLとBUYのトリガーに"&& Safe2==1 "を入れる。PercentLimitに設定した2つ目のFirebirdタイプのIndicatorを取り付けると、アクティブな取引エリアを確認することができます。

私は1つのFirebirdで3つのフィルターを使用していますが、平均して50%以下のトレードで90%の勝率です。問題は、ニュースが市場に与える影響です。このスレッドで、過去4回の金曜日は、木曜日からの未決済取引の持ち越しにより、大きなマイナス効果があったことを報告しました。私は、歴史的なグループの損失をよりよく管理できるかどうかを確認するために、取引日や時間を削除することをテストしています。

ヘンドリック これは、あなたの取引時間結果チャートをさらに発展させるもので、大変な作業だと思います。しかし、私は6/24の取引時間にプログラム可能なEAを持ちたいと考えています。履歴のあるゴースト・トレードが再び利益を生むと、これらの時間は良い取引時間として再確立されます。希望的観測ですが、これに取り組んでみるか、コーダーがこれを動作させることができるかどうかを見てみるつもりです。今、私はyorタイプのチャートを使い、これを手動で行おうとしています。

タイピングが多すぎる。まあ、スレッドでワインを飲むとこうなるんでしょうけど。もしこれがすべて意味をなさないなら、それはワインのせいです。

ワッケナ

 
Hendrick:
私はいくつかの助けを必要としています。PhoenixのBUYとSELLのシグナルは以下のコードで生成されています。

MA =iMA(NULL,MA_Timeframe,MA_Length,0,MODE_SMA,PRICE_OPEN,0);

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

Firebirdのスレッドで誰かが以下の変更を提案しました。

あなたの代わりに

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

に変更したそうです。

RVI=iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,0)-iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,1) に変更しました。

これで誤信号が少なくなったとのことです。これは役に立つのでしょうか?

 

追加信号

Hendrickさん、こんにちは。

トレードの準備をするとき、私はいつも高いTFでトレンドの形成を見ています。

同じ15分足でPhoenixにシグナルを追加するのは限界があるのではないでしょうか?

マルチタイムフレームインジケーターXOをご覧ください。

好きなTFに設定することができますが、M15で動作するPhoenixのために、私はH4またはH5に設定します。

H4、もしくはD1に設定することをお勧めします。

EAの入力パネルでTFを設定するのが最も柔軟性があり、途中で最適化することができます。

添付の画像は、M15とH4の2つのインディケータをロードしたものです。

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

ハーバート

PS、今日Holyguy7さんが教えてくれたようにFirebirdのiRVIをiMACDに変更しましたが、副作用としてバックテストでの Firebirdのスピードが上がりましたが 、偽のシグナルは取り除けないという印象を持ちました。

ファイル:
 
holyguy7:
Firebirdのスレッドで誰かが以下の変更を提案しました。

の代わりに、あなたのものを使用します。

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1);

に変更したそうです。

RVI=iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,0)-iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,1) に変更されました。

彼らは、その方が誤信号が少ないと主張しています。これは役に立つのでしょうか?

やあ、Holyguy。

Phoenixバージョン2では、15MのチャートにSMA120とSMA12を使用するようになりました。主な目的は、Phoenixがトレンドに逆らった取引をするのを防ぐことです。今のところうまくいっているようです。

 
HerbertH:
こんにちは、Hendrick。

トレードの準備をするとき、私はいつも高いTFでトレンドの形成を見ています。

同じ15分のTFでPhoenixにシグナルを追加するのは限界があるのでは?

マルチタイムフレームのインジケーターXOをご覧ください。

好きなTFに設定することができますが、M15で動作するPhoenixのために、私はH4またはH5に設定します。

H4、もしくはD1に設定することをお勧めします。

EAの入力パネルでTFを設定するのが最も柔軟性があり、途中で最適化することができます。

添付の画像は、M15とH4の2つのインディケータをロードしたものです。

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

ハーバート

PS、今日Holyguy7さんにご指摘いただいたようにFirebirdのiRVIをiMACDに変更しましたが、副作用としてバックテストでのFirebirdのスピードが上がりましたが 、偽のシグナルは除去されないという印象を持ちました。

こんにちは、Herberth。

私のHolyguyへの前の答えを参照してください。

 

Phoenix v2

Phoenixバージョン2です。

変更点

ダイバージェンスを削除(使い道がないと思うので)

Surf-ordersを削除。

RVIを以下のコードに置き換えました。

AdMA=(iMA(NULL,PERIOD_M15,120,0,0,3,1) - iMA(NULL,PERIOD_M15,12,0,0,3,1));

if(Point==0.0001) {AdMA=AdMA*1000;}

if(Point==0.01) {AdMA=AdMA*10;}

if(AdMA > 1)

{

AdSELLSignal = true。

SortOrder = "SELLSignal";

}

if(AdMA < -1)

{

AdBUYSignal = true。

SortOrder = "BUYSignal"。

}

if((AdMA > -1) && (AdMA < 1))

{

AdBUYSELLSignal = true。

SortOrder = "BUYSELLSignal "とする。

}

このコードの目的は、Phoenixがトレンドに逆らったトレードをするのを防ぐことです。

テスト用です。

ファイル内の設定を使用します。TF=15。利用可能なすべてのペア。

ファイル:
 
Hendrick:
Phoenixバージョン2です。

変更点

ダイバージェンスを削除 (無駄だと思うので)

Surf-ordersを削除 (パフォーマンスが良くなかった)

RVIを次のコードで置き換えました。

AdMA=(iMA(NULL,PERIOD_M15,120,0,0,3,1) - iMA(NULL,PERIOD_M15,12,0,0,3,1)));

if(Point==0.0001) {AdMA=AdMA*1000;}

if(Point==0.01) {AdMA=AdMA*10;}

if(AdMA > 1)

{

AdSELLSignal = true。

SortOrder = "SELLSignal";

}

if(AdMA < -1)

{

AdBUYSignal = true。

SortOrder = "BUYSignal"。

}

if((AdMA > -1) && (AdMA < 1))

{

AdBUYSELLSignal = true。

SortOrder = "BUYSELLSignal "とする。

}

このコードの目的は、Phoenixがトレンドに逆らったトレードをするのを防ぐことです。

テスト用です。

ファイルからの設定を使用します。TF=15です。利用可能なすべてのペア

ありがとうございます、チャート上に置いてみます。

バックテスト はしていますか?

 
Yauhen:
ありがとうございます、チャート上に置いてみてください。

こんにちは。

バックテストはして ません、フォワードテストのみです。