絵馬クロス! - ページ 66 1...596061626364656667686970717273...86 新しいコメント witchazel 2006.06.21 10:21 #651 codersguru: EMAクロスのバージョン3を書いています。何か新しいアイデアはありますか? 何かコメントはありますか? すべてのpoeplesのおかげで私はこのスレッドを共有! 同じように動作するバージョンを書くことができるかもしれませんが、私はそれを購入し、販売しないことを伝えるために設定を設定することができます。 私は売りがオフになっているときにさらに購入したくない、ちょうど何もしない。 取引は十分長いので、これがあれば、常に利子と取引できるようになります。 [Deleted] 2006.06.21 21:02 #652 witchazel: 同じように動作するバージョンを書くことができるかもしれませんが、私はそれを購入し、販売しないように伝えるために設定を設定することができます。 私は売りがオフになっているときにさらに購入したくない、ちょうど何もしない 取引は十分に長く、私は常に金利と取引できるように、これを持っているのに役立つだろう。 こんにちは。 まず、あなたの努力に感謝します。 一日一回、"その日の結果"(その日の利益/損失)を、例えば午後9時に電子メールで送信する機能を コード化することは可能でしょうか? 再びハードワークのために感謝します 削除済み 2006.06.26 17:41 #653 Originally Posted by codersguruI'm writing the version 3 of the EMA Cross!何か新しいアイデアはありますか? 何かコメントはありますか? このスレッドを共有するすべてのpoeplesに感謝します。 私はこのEAを研究するのに時間を費やしました。それはリトレースメントに大きく依存しています。これを本当に機能させるためには、十分なリトレースメントが起こりそうにないときにそれを検知し、TPまでリトレースする必要がある方向にポジションを入力しない方法が必要です。それができれば、本当にいいものができるはずです。私はまた、シグナルの方向に一度に1つのポジションのみを開く類似のEAで作業しています。これは、チャネリングパターンの限界を検出せず、このEAのように放棄されたポジションで終わるという点で同じ問題を持っています。修正方法は理論的には簡単で、チャネルの強い抵抗線付近ではロングポジションを許さず、チャネルの強い支持線付近ではショートポジションを許さないようにすることです。プログラムがこれらのレベルに入らないようにします。それは、その利益を作るために外ではなく、チャネルの内側に見ておいてください。チャネルの外側を見ると、放棄されたポジションを作り出し、損をすることになります。 チャネルを検出する方法?まだ何が有効なのかわかりません...。 https://www.mql5.com/en/forum/general expertlive 2006.06.26 19:55 #654 シャネル アラゴン様 これはインジケーターです ファイル: shi_channel_-_1.zip 2 kb 削除済み 2006.06.27 01:28 #655 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); } //+------------------------------------------------------------------ 何が一番効果的なのかわかりません。 両方を構築してテストする方法があると思います。 Ema Cross! コーディングのヘルプ Coding help 削除済み 2006.06.27 01:52 #656 #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で乖離した傾きを与える方法を恥ずかしながら使っています。これでフィルターを作るとなると、傾斜が大きく変化するのが気になる。 Help adding indicator as Ask! Ema Cross! expertlive 2006.06.27 14:54 #657 シーシャネル-v.2 new 親愛なるAaragorn ...これは新しいバージョンとあなたがそれを使用する方法を知るために絵のチャートです。 ファイル: shi_shanel_-_2.gif 19 kb shi_shanel_-_v.zip 3 kb 削除済み 2006.06.27 15:59 #658 expertlive: 親愛なるAaragorn ...これは、新しいバージョンとあなたがそれを使用する方法を知っているために画像のチャートです。 expertliveさん、お疲れ様です。プラットフォームにうまく読み込ませることができず、困っています。 インジケータフォルダに解凍するのですが、プラットフォームを再起動しても表示されません。なぜなのかよくわかりません。 圧縮せずに直接ここに添付するか、コードを投稿していただければ、もしかしたらうまくいくかもしれませんか? これはexpertsフォルダとindicatorsフォルダのどちらに入れるべきでしょうか?これは実際に売買注文を実行するのでしょうか、それとも単なるインジケーターなのでしょうか? あなたが投稿した画像から、私がここでやろうとしていることを理解していることは明らかです。プログラムをチャンネル内に収めてそのためのプログラム方法をご存知でしょうか? expertlive 2006.06.27 17:03 #659 shi shanel v.2 new Aaragorn: あなたの仕事expertliveに感謝しなさい。私はそれがプラットホームで首尾よく荷を積むことを得る悩みを有する。 インジケータフォルダに解凍したのですが、プラットフォームを再起動しても表示されません。なぜなのかよくわかりません。 このまま添付していただくか、zip圧縮せずに直接ここにコードを投稿していただければ、もしかしたらうまくいくかもしれませんでしょうか? これはexpertsフォルダとindicatorsフォルダのどちらに入れるべきでしょうか?これは実際に売買注文を実行するのでしょうか、それとも単なるインジケータなのでしょうか? 投稿された画像から、私がここでやろうとしていることを理解されていることは明らかです。プログラムをチャンネル内に留めておく。そのためのプログラム方法をご存知ですか? それが働かないならこれを使用する再度送るために私を言いなさい ファイル: shi_channel4for_trade_channel_v2_stop.mq4 10 kb 削除済み 2006.06.27 18:29 #660 というのは、素晴らしい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でフィルターが機能するようにしたいのです。 私はあなたのプログラミング能力に感心しています。 ファイル: ema_crossmodv4.mq4 12 kb whatever.mq4 3 kb shi_and_autoch.gif 13 kb Help adding indicator as Ask! Channeling Detection 1...596061626364656667686970717273...86 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
EMAクロスのバージョン3を書いています。
何か新しいアイデアはありますか?
何かコメントはありますか?
すべてのpoeplesのおかげで私はこのスレッドを共有同じように動作するバージョンを書くことができるかもしれませんが、私はそれを購入し、販売しないことを伝えるために設定を設定することができます。 私は売りがオフになっているときにさらに購入したくない、ちょうど何もしない。
取引は十分長いので、これがあれば、常に利子と取引できるようになります。
同じように動作するバージョンを書くことができるかもしれませんが、私はそれを購入し、販売しないように伝えるために設定を設定することができます。 私は売りがオフになっているときにさらに購入したくない、ちょうど何もしない
こんにちは。
まず、あなたの努力に感謝します。
一日一回、"その日の結果"(その日の利益/損失)を、例えば午後9時に電子メールで送信する機能を コード化することは可能でしょうか?
再びハードワークのために感謝します
I'm writing the version 3 of the EMA Cross!
何か新しいアイデアはありますか?
何かコメントはありますか?
このスレッドを共有するすべてのpoeplesに感謝します。私はこのEAを研究するのに時間を費やしました。それはリトレースメントに大きく依存しています。これを本当に機能させるためには、十分なリトレースメントが起こりそうにないときにそれを検知し、TPまでリトレースする必要がある方向にポジションを入力しない方法が必要です。それができれば、本当にいいものができるはずです。私はまた、シグナルの方向に一度に1つのポジションのみを開く類似のEAで作業しています。これは、チャネリングパターンの限界を検出せず、このEAのように放棄されたポジションで終わるという点で同じ問題を持っています。修正方法は理論的には簡単で、チャネルの強い抵抗線付近ではロングポジションを許さず、チャネルの強い支持線付近ではショートポジションを許さないようにすることです。プログラムがこれらのレベルに入らないようにします。それは、その利益を作るために外ではなく、チャネルの内側に見ておいてください。チャネルの外側を見ると、放棄されたポジションを作り出し、損をすることになります。
チャネルを検出する方法?まだ何が有効なのかわかりません...。
https://www.mql5.com/en/forum/general
シャネル
アラゴン様 これはインジケーターです
親愛なる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 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 ...これは新しいバージョンとあなたがそれを使用する方法を知るために絵のチャートです。
親愛なるAaragorn ...これは、新しいバージョンとあなたがそれを使用する方法を知っているために画像のチャートです。
expertliveさん、お疲れ様です。プラットフォームにうまく読み込ませることができず、困っています。
インジケータフォルダに解凍するのですが、プラットフォームを再起動しても表示されません。なぜなのかよくわかりません。
圧縮せずに直接ここに添付するか、コードを投稿していただければ、もしかしたらうまくいくかもしれませんか?
これはexpertsフォルダとindicatorsフォルダのどちらに入れるべきでしょうか?これは実際に売買注文を実行するのでしょうか、それとも単なるインジケーターなのでしょうか?
あなたが投稿した画像から、私がここでやろうとしていることを理解していることは明らかです。プログラムをチャンネル内に収めてそのためのプログラム方法をご存知でしょうか?
shi shanel v.2 new
あなたの仕事expertliveに感謝しなさい。私はそれがプラットホームで首尾よく荷を積むことを得る悩みを有する。
インジケータフォルダに解凍したのですが、プラットフォームを再起動しても表示されません。なぜなのかよくわかりません。
このまま添付していただくか、zip圧縮せずに直接ここにコードを投稿していただければ、もしかしたらうまくいくかもしれませんでしょうか?
これはexpertsフォルダとindicatorsフォルダのどちらに入れるべきでしょうか?これは実際に売買注文を実行するのでしょうか、それとも単なるインジケータなのでしょうか?
投稿された画像から、私がここでやろうとしていることを理解されていることは明らかです。プログラムをチャンネル内に留めておく。そのためのプログラム方法をご存知ですか?それが働かないならこれを使用する再度送るために私を言いなさい
というのは、素晴らしいexpertlive、ありがとうございます。このインジケーターも同じように改造していただけませんか?同じようなものでもshiよりこっちの方が安定していて好きです。このインジケーターをEAに組み込んでバックテストする方法を教えてください。この2つのEAのフィルターとしてこれを追加したいと思います(添付参照)。
//----------------------------------
#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でフィルターが機能するようにしたいのです。
私はあなたのプログラミング能力に感心しています。