絵馬クロス! - ページ 66

 
codersguru:
EMAクロスのバージョン3を書いています。

何か新しいアイデアはありますか?

何かコメントはありますか?

すべてのpoeplesのおかげで私はこのスレッドを共有!

同じように動作するバージョンを書くことができるかもしれませんが、私はそれを購入し、販売しないことを伝えるために設定を設定することができます。 私は売りがオフになっているときにさらに購入したくない、ちょうど何もしない。

取引は十分長いので、これがあれば、常に利子と取引できるようになります。

 
witchazel:
同じように動作するバージョンを書くことができるかもしれませんが、私はそれを購入し、販売しないように伝えるために設定を設定することができます。 私は売りがオフになっているときにさらに購入したくない、ちょうど何もしない 取引は十分に長く、私は常に金利と取引できるように、これを持っているのに役立つだろう。

こんにちは。

まず、あなたの努力に感謝します。

一日一回、"その日の結果"(その日の利益/損失)を、例えば午後9時に電子メールで送信する機能を コード化することは可能でしょうか?

再びハードワークのために感謝します

 
Originally Posted by codersguru

I'm writing the version 3 of the EMA Cross!

何か新しいアイデアはありますか?

何かコメントはありますか?

このスレッドを共有するすべてのpoeplesに感謝します。

私はこのEAを研究するのに時間を費やしました。それはリトレースメントに大きく依存しています。これを本当に機能させるためには、十分なリトレースメントが起こりそうにないときにそれを検知し、TPまでリトレースする必要がある方向にポジションを入力しない方法が必要です。それができれば、本当にいいものができるはずです。私はまた、シグナルの方向に一度に1つのポジションのみを開く類似のEAで作業しています。これは、チャネリングパターンの限界を検出せず、このEAのように放棄されたポジションで終わるという点で同じ問題を持っています。修正方法は理論的には簡単で、チャネルの強い抵抗線付近ではロングポジションを許さず、チャネルの強い支持線付近ではショートポジションを許さないようにすることです。プログラムがこれらのレベルに入らないようにします。それは、その利益を作るために外ではなく、チャネルの内側に見ておいてください。チャネルの外側を見ると、放棄されたポジションを作り出し、損をすることになります。

チャネルを検出する方法?まだ何が有効なのかわかりません...。

https://www.mql5.com/en/forum/general

 

シャネル

アラゴン様 これはインジケーターです

ファイル:
 
expertlive:
親愛なるAaragon これはインジケータです

expertliveさんありがとうございます。

どの時間軸のチャネルラインに最も注意を払うべきかについて質問です。本当に知りたいのは、このインジケータを私の使っているEAの実行ロジックにどのように組み込むかです。私はまだプログラミングの勉強をそれほどしていません。このチャンネルラインを使って、EAがチャンネルの外側でクローズしなければならないポジションに入るのを制限したいと思います。私は5mチャートで作業していますが、そのTFのチャンネルは小さすぎます。

15mチャートではチャネルサイズ65、傾き0.53、30mチャートではチャネルサイズ246、傾き-1.62と表示されています。これはかなり乖離していますね。このようなジレンマをどうにかするには、バックテストのサムスクリューを下げて、どのTFを使うかインジケータの設定を変更できるようにして、どちらが一番うまくいくかを見るしかないですね。

あと、こんなブレイクアウトのインジケーターもありました。

//+------------------------------------------------------------------+

//| 5dayBreakout.mq4 |

//| Bill Sica |

//| http://www.tetsuyama.com |

//+------------------------------------------------------------------+

#property copyright "Bill Sica"

#property link "http://www.tetsuyama.com"

#property indicator_chart_window

//---- input parameters

extern int DAYS=5;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

//---- indicators

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

double daily_high1[20];

double daily_low1[20];

double yesterday_close;

double phigh,plow;

int i=1;

//---- TODO: add your code here

ArrayResize(daily_high1,DAYS);

ArrayResize(daily_low1,DAYS);

ArrayInitialize(daily_high1,0);

ArrayInitialize(daily_low1,0);

ArrayCopySeries(daily_low1, MODE_LOW, Symbol(), PERIOD_D1);

ArrayCopySeries(daily_high1, MODE_HIGH, Symbol(), PERIOD_D1);

/* initialise */

plow=daily_low1[1];

phigh=daily_high1[1];

for(i=1;i<DAYS;i++)

{

if(plow>daily_low1)

{

plow =daily_low1;

}

}

for(i=1;i<DAYS;i++)

{

if(phigh<daily_high1)

{

phigh =daily_high1;

}

}

Comment("\n5dayH ",phigh,"\n5dayL ",plow);

ObjectDelete("5dayHigh1");

ObjectDelete("5dayLow1");

ObjectCreate("5dayHigh1", OBJ_HLINE,0, CurTime(),phigh);

ObjectSet("5dayHigh1",OBJPROP_COLOR,SpringGreen);

ObjectSet("5dayHigh1",OBJPROP_STYLE,STYLE_SOLID);

ObjectCreate("5dayLow1", OBJ_HLINE,0, CurTime(),plow);

ObjectSet("5dayLow1",OBJPROP_COLOR,Red);

ObjectSet("5dayLow1",OBJPROP_STYLE,STYLE_SOLID);

ObjectsRedraw();

return(0);

}

//+------------------------------------------------------------------

何が一番効果的なのかわかりません。 両方を構築してテストする方法があると思います。

 
#property copyright "ANG3110@latchess.com"

//----------------------------------

#property indicator_chart_window

//----------------------------------

extern int Hours=24;

extern color col=SkyBlue;

//------------------

double lr,lr0,lrp;

double sx,sy,sxy,sx2,aa,bb;

int p,sName,fs;

int f,f0,f1;

double dh,dl,dh_1,dl_1,dh_2,dl_2;

int ai_1,ai_2,bi_1,bi_2;

double hai,lai,dhi,dli,dhm,dlm,ha0,hap,la0,lap;

double price_p1,price_p0,price_p2,price_01,price_00,price_02;

int p1,p0,p2,fp;

//*****************************************

int init() {

p=Hours*60/Period();

if (fs==0) {sName=CurTime(); fs=1;}

return(0);}

//*******************************

int deinit() {

ObjectDelete("1"+sName);

ObjectDelete("0"+sName);

ObjectDelete("2"+sName); }

//*******************************

int start() {

int i,n;

//------------------------------------------------------------------------------

if (f==1) {

p1=iBarShift(Symbol(),Period(),ObjectGet("1"+sName,OBJPROP_TIME1));

p0=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1));

p2=iBarShift(Symbol(),Period(),ObjectGet("2"+sName,OBJPROP_TIME1));

if (fp==0 && p!=p1) {p=p1; fp=1;}

if (fp==0 && p!=p0) {p=p0; fp=1;}

if (fp==0 && p!=p2) {p=p2; fp=1;}

}

//====================================================

sx=0; sy=0; sxy=0; sx2=0;

for (n=0; n<=p; n++) {sx+=n; sy+=Close[n]; sxy+=n*Close[n]; sx2+=MathPow(n,2);}

aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2); bb=(sy-aa*sx)/(p+1);

//----------------------------------------------------

for (i=0; i<=p; i++) {

lr=bb+aa*i;

dh=High-lr; dl=Low-lr;

//----------------------------------------------------

if (i<p/2) {if (i==0) {dh_1=0.0; dl_1=0.0; ai_1=i; bi_1=i;}

if (dh>=dh_1) {dh_1=dh; ai_1=i;}

if (dl<=dl_1) {dl_1=dl; bi_1=i;}}

//----------------------------------------------------

if (i>=p/2) {if (i==p/2) {dh_2=0.0; dl_2=0.0; ai_2=i; bi_2=i;}

if (dh>=dh_2) {dh_2=dh; ai_2=i;}

if (dl<=dl_2) {dl_2=dl; bi_2=i;}}}

//-------------------------------------

lr0=bb; lrp=bb+aa*(i+p);

//===================================================

if (MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2)) f=1;

if (MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2)) f=2;

if (MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2)) {if (MathAbs(dh_1-dh_2)=MathAbs(dl_1-dl_2)) f=2;}

//=================================================

if (f==1) {

for (n=0; n<=20; n++) { f1=0;

for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);

if (i==0 || i==p/2) dhm=0.0;

if (High-hai>dhm && i<p/2) {ai_1=i; f1=1;}

if (High-hai>dhm && i>=p/2) {ai_2=i; f1=1;} }

if (f==0) break;}

//----------------------------

for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);

dli=Low-hai;

if (i==0) dlm=0.0; if (dli<dlm) dlm=dli;}

ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1);

hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1);

//----------------------------

price_p1=hap;

price_p0=hap+dlm/2;

price_p2=hap+dlm;

price_01=ha0;

price_00=ha0+dlm/2;

price_02=ha0+dlm;

}

//=================================================

if (f==2) {

for (n=0; n<=20; n++) { f1=0;

for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1);

if (i==0 || i==p/2) dlm=0.0;

if (Low-lai<dlm && i<p/2) {bi_1=i; f1=1;}

if (Low-lai=p/2) {bi_2=i; f1=1;}}

if (f==0) break;}

//----------------------------

for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1);

dhi=High-lai;

if (i==0) dhm=0.0; if (dhi>dhm) dhm=dhi;}

la0=Low*(0-bi_2)/(bi_1-bi_2)+Low*(0-bi_1)/(bi_2-bi_1);

lap=Low*(p-bi_2)/(bi_1-bi_2)+Low*(p-bi_1)/(bi_2-bi_1);

//----------------------------------------------------------------

price_p1=lap;

price_p0=lap+dhm/2;

price_p2=lap+dhm;

price_01=la0;

price_00=la0+dhm/2;

price_02=la0+dhm;

}

//===================================================================================

ObjectCreate("1"+sName,2, 0,Time[p],price_p1,Time[0],price_01);

ObjectCreate("0"+sName,2, 0,Time[p],price_p0,Time[0],price_00);

ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02);

//-----------------------------------------------------------------

ObjectSet("1"+sName,OBJPROP_COLOR,col);

ObjectSet("0"+sName,OBJPROP_COLOR,col);

ObjectSet("0"+sName,OBJPROP_STYLE,STYLE_DOT);

ObjectSet("2"+sName,OBJPROP_COLOR,col);

//---------------------------------------------

ObjectSet("1"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1);

ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("1"+sName,OBJPROP_PRICE2,price_01);

ObjectSet("0"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0);

ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("0"+sName,OBJPROP_PRICE2,price_00);

ObjectSet("2"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2);

ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("2"+sName,OBJPROP_PRICE2,price_02);

//==================================================================

f=1; p1=p; p0=p; p2=p; fp=0;

//*************************************************************************************

return(0);}

//=====================================================================================

これは、各時間枠で異なるスロープを与えるものではありません。どこまで遡って線を引くかによって、傾きが変わってくるんだ。

ふむふむ、これで3つの方法か...。

高値と安値を使う方法、乖離した傾きを持つ方法、そしてこの方法...私は、それぞれのTFで乖離した傾きを与える方法を恥ずかしながら使っています。これでフィルターを作るとなると、傾斜が大きく変化するのが気になる。

 

シーシャネル-v.2 new

親愛なるAaragorn ...これは新しいバージョンとあなたがそれを使用する方法を知るために絵のチャートです。

ファイル:
 
expertlive:
親愛なるAaragorn ...これは、新しいバージョンとあなたがそれを使用する方法を知っているために画像のチャートです。

expertliveさん、お疲れ様です。プラットフォームにうまく読み込ませることができず、困っています。

インジケータフォルダに解凍するのですが、プラットフォームを再起動しても表示されません。なぜなのかよくわかりません。

圧縮せずに直接ここに添付するか、コードを投稿していただければ、もしかしたらうまくいくかもしれませんか?

これはexpertsフォルダとindicatorsフォルダのどちらに入れるべきでしょうか?これは実際に売買注文を実行するのでしょうか、それとも単なるインジケーターなのでしょうか?

あなたが投稿した画像から、私がここでやろうとしていることを理解していることは明らかです。プログラムをチャンネル内に収めてそのためのプログラム方法をご存知でしょうか?

 

shi shanel v.2 new

Aaragorn:
あなたの仕事expertliveに感謝しなさい。私はそれがプラットホームで首尾よく荷を積むことを得る悩みを有する。

インジケータフォルダに解凍したのですが、プラットフォームを再起動しても表示されません。なぜなのかよくわかりません。

このまま添付していただくか、zip圧縮せずに直接ここにコードを投稿していただければ、もしかしたらうまくいくかもしれませんでしょうか?

これはexpertsフォルダとindicatorsフォルダのどちらに入れるべきでしょうか?これは実際に売買注文を実行するのでしょうか、それとも単なるインジケータなのでしょうか?

投稿された画像から、私がここでやろうとしていることを理解されていることは明らかです。プログラムをチャンネル内に留めておく。そのためのプログラム方法をご存知ですか?

それが働かないならこれを使用する再度送るために私を言いなさい

 

というのは、素晴らしいexpertlive、ありがとうございます。このインジケーターも同じように改造していただけませんか?同じようなものでもshiよりこっちの方が安定していて好きです。このインジケーターをEAに組み込んでバックテストする方法を教えてください。この2つのEAのフィルターとしてこれを追加したいと思います(添付参照)。

#property copyright "ANG3110@latchess.com"

//----------------------------------

#property indicator_chart_window

//----------------------------------

extern int Hours=24;

extern color col=SkyBlue;

//------------------

double lr,lr0,lrp;

double sx,sy,sxy,sx2,aa,bb;

int p,sName,fs;

int f,f0,f1;

double dh,dl,dh_1,dl_1,dh_2,dl_2;

int ai_1,ai_2,bi_1,bi_2;

double hai,lai,dhi,dli,dhm,dlm,ha0,hap,la0,lap;

double price_p1,price_p0,price_p2,price_01,price_00,price_02;

int p1,p0,p2,fp;

//*****************************************

int init() {

p=Hours*60/Period();

if (fs==0) {sName=CurTime(); fs=1;}

return(0);}

//*******************************

int deinit() {

ObjectDelete("1"+sName);

ObjectDelete("0"+sName);

ObjectDelete("2"+sName); }

//*******************************

int start() {

int i,n;

//------------------------------------------------------------------------------

if (f==1) {

p1=iBarShift(Symbol(),Period(),ObjectGet("1"+sName,OBJPROP_TIME1));

p0=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1));

p2=iBarShift(Symbol(),Period(),ObjectGet("2"+sName,OBJPROP_TIME1));

if (fp==0 && p!=p1) {p=p1; fp=1;}

if (fp==0 && p!=p0) {p=p0; fp=1;}

if (fp==0 && p!=p2) {p=p2; fp=1;}

}

//====================================================

sx=0; sy=0; sxy=0; sx2=0;

for (n=0; n<=p; n++) {sx+=n; sy+=Close[n]; sxy+=n*Close[n]; sx2+=MathPow(n,2);}

aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2); bb=(sy-aa*sx)/(p+1);

//----------------------------------------------------

for (i=0; i<=p; i++) {

lr=bb+aa*i;

dh=High-lr; dl=Low-lr;

//----------------------------------------------------

if (i<p/2) {if (i==0) {dh_1=0.0; dl_1=0.0; ai_1=i; bi_1=i;}

if (dh>=dh_1) {dh_1=dh; ai_1=i;}

if (dl<=dl_1) {dl_1=dl; bi_1=i;}}

//----------------------------------------------------

if (i>=p/2) {if (i==p/2) {dh_2=0.0; dl_2=0.0; ai_2=i; bi_2=i;}

if (dh>=dh_2) {dh_2=dh; ai_2=i;}

if (dl<=dl_2) {dl_2=dl; bi_2=i;}}}

//-------------------------------------

lr0=bb; lrp=bb+aa*(i+p);

//===================================================

if (MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2)) f=1;

if (MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2)) f=2;

if (MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2)) {if (MathAbs(dh_1-dh_2)=MathAbs(dl_1-dl_2)) f=2;}

//=================================================

if (f==1) {

for (n=0; n<=20; n++) { f1=0;

for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);

if (i==0 || i==p/2) dhm=0.0;

if (High-hai>dhm && i<p/2) {ai_1=i; f1=1;}

if (High-hai>dhm && i>=p/2) {ai_2=i; f1=1;} }

if (f==0) break;}

//----------------------------

for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);

dli=Low-hai;

if (i==0) dlm=0.0; if (dli<dlm) dlm=dli;}

ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1);

hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1);

//----------------------------

price_p1=hap;

price_p0=hap+dlm/2;

price_p2=hap+dlm;

price_01=ha0;

price_00=ha0+dlm/2;

price_02=ha0+dlm;

}

//=================================================

if (f==2) {

for (n=0; n<=20; n++) { f1=0;

for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1);

if (i==0 || i==p/2) dlm=0.0;

if (Low-lai<dlm && i<p/2) {bi_1=i; f1=1;}

if (Low-lai=p/2) {bi_2=i; f1=1;}}

if (f==0) break;}

//----------------------------

for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1);

dhi=High-lai;

if (i==0) dhm=0.0; if (dhi>dhm) dhm=dhi;}

la0=Low*(0-bi_2)/(bi_1-bi_2)+Low*(0-bi_1)/(bi_2-bi_1);

lap=Low*(p-bi_2)/(bi_1-bi_2)+Low*(p-bi_1)/(bi_2-bi_1);

//----------------------------------------------------------------

price_p1=lap;

price_p0=lap+dhm/2;

price_p2=lap+dhm;

price_01=la0;

price_00=la0+dhm/2;

price_02=la0+dhm;

}

//===================================================================================

ObjectCreate("1"+sName,2, 0,Time[p],price_p1,Time[0],price_01);

ObjectCreate("0"+sName,2, 0,Time[p],price_p0,Time[0],price_00);

ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02);

//-----------------------------------------------------------------

ObjectSet("1"+sName,OBJPROP_COLOR,col);

ObjectSet("0"+sName,OBJPROP_COLOR,col);

ObjectSet("0"+sName,OBJPROP_STYLE,STYLE_DOT);

ObjectSet("2"+sName,OBJPROP_COLOR,col);

//---------------------------------------------

ObjectSet("1"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1);

ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("1"+sName,OBJPROP_PRICE2,price_01);

ObjectSet("0"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0);

ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("0"+sName,OBJPROP_PRICE2,price_00);

ObjectSet("2"+sName,OBJPROP_TIME1,Time[p]);

ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2);

ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]);

ObjectSet("2"+sName,OBJPROP_PRICE2,price_02);

//==================================================================

f=1; p1=p; p0=p; p2=p; fp=0;

//*************************************************************************************

return(0);}

//=====================================================================================

.gif画像は、チャート上の2つの違いを示しています。これはバーの数 でチャートの動きも変わります。英語を表示しているのでしょうか?

EMA CROSSでは、ストップロスをフィルターレベルに設定するだけでなく、EMA CROSSがチャンネルの外側でクローズしなければならないポジションを全くオープンしないようにしたいのです。TPの目標にもよりますが、EMA CROSSと'whatever'EAでフィルターが機能するようにしたいのです。

私はあなたのプログラミング能力に感心しています。

ファイル: