[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 34 1...272829303132333435363738394041...652 新しいコメント demlin 2011.08.01 16:38 #331 こんにちは。 チャート上にプログラム的にトレンドラインを 引いた場合、その値を任意のポイントで読み取ることは可能か(これもプログラム的に)、教えてください。 Artyom Trishkin 2011.08.01 16:48 #332 demlin: こんにちは。 チャート上にプログラム的にトレンドラインを引いた場合、その値を任意のポイントで読み取ることは可能か(これもプログラム的に)、教えていただけませんか? 少し前に、チャート上の正しいポイントを見つけるためにトレンドラインを使うという記事を書きました。もしかしたら、あなたにも何かが見つかるかもしれません。:) Роман 2011.08.01 16:48 #333 demlin: こんにちは。 チャート上にプログラム的にトレンドラインを引いた場合、その値を任意のポイントで読み取ることは可能か(これもプログラム的に)、教えてください。 無理なようで、でも本当にやろうと思えばできるんだろうな......。:-Р demlin 2011.08.01 16:58 #334 Roman.: できないようですが、本当にやりたいなら......。:-Рとてもうれしいです :) インジケータを作りたかったのですが、初めてインジケータを扱うので、迷ってしまいました。線はそれらしく描かれて いるのですが、値を持つ配列に絞る方法が見つかりません。結局、どこにも行けてないんです。 demlin 2011.08.01 17:03 #335 artmedia70: 以前、チャート上の正しいポイントを見つけるためにトレンドラインを使った記事を書いたことがあります。きっと、あなたにも何かが見つかるはずです。:) ありがとうございます。直線的な機能はあるので、ちょっとひねってみます。 kii 2011.08.01 17:07 #336 MoveFileAでは、すべてがうまくいきました。TheXpert さん、どうもありがとうございました。 Artyom Trishkin 2011.08.01 17:10 #337 demlin: とてもうれしいです :) インジケータを作りたかったのですが、初めてインジケータを扱うので、迷ってしまいました。線はそれらしく描かれているのですが、値を持つ配列に絞る方法が見つかりません。その結果、なんとか絞り込めませんでした。 でも、コードを示して、何が欲しいかを言ってくれれば、直線の方程式はなくてもよかったかもしれない...。インジケーターで、必要なデータはすべてそのバッファにあるのですが...。でも:) Artyom Trishkin 2011.08.01 17:15 #338 いいこと思いついたぞ...。トレンドラインを引いた場合、直線方程式関数を用いて、その始点の値から終点の値までループさせ、各バーで直線方程式関数が返す値を、このために作成した別のインジケータ配列に入力します。そして、必要なバーの番号を用いて、配列からこれらの値を取り出します。こんな感じです... demlin 2011.08.01 17:15 #339 artmedia70: コードを示して、何が欲しいのかを教えてくれれば、直線方程式は必要ないだろうに...。インジケーターで、必要なデータはすべてそのバッファにある・・・。でも:) 以下は、同サイトのチュートリアルからコピーしたコードです :) #property copyright "Copyright © 2011, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_chart_window extern int History=21; // Колич.баров в расчётной истории extern int M= 3; // начальный бар с которого начинаем поиск фракталов в цикле. int i,k; // номера баров в циклах. int Vnf3,Vnf2,Vnf1; // номера реперных фракталов (1-ый справа на графике на нисходящем тренде). int VnfL3,VnfL2,VnfL1; // номера реперных фракталов (1-ый справа на графике на восходящем тренде). int VFN,VFNL; // счетчик найденных фракталов. int Md,MdL; // счетчики кол-ва модификаций double VMF1,VMF2; // промежуточные значения верхних фракталов на нисходящем тренде. double VMFL1,VMFL2; // промежуточные значения нижних фракталов на восходящем тренде. double VlFl_L; // Min значение ближайшего нижнего фрактала на тренде вниз double VlFl_H; // Max значение ближайшего верхнего фрактала на тренде вверх datetime tim1_L; // Время ближайшего нижнего фрактала после нисходящего тренда datetime timL1_H; // Время ближайшего верхнего фрактала после восходящего тренда datetime tim1,tim2,tim3; // время для построения линий вилки Чувашова. datetime timL1,timL2,timL3;// время для построения линий вилки Чувашова. //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); //---- for (i=3;i<=History;i++) {//цикл if(High[i]>High[i+1] &&High[i]>High[i-1]&&High[i]>Close[i-2]) {//фрактал VFN++; // счетчик найденного фрактала. // ------------------------------------------------------------+ if(VFN==1) // если 1-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f1 Vnf1=i; // запоминаем номер Max бара найденного фрактала. VMF1=High[i]; // запоминаем Max значение 1-ого найденного фрактала. tim1=iTime(NULL,0,i); // запоминаем время 1-ой опорной точки. }//-f1 // --------------------------------------------------------------+ if(VFN==2) // если 2-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f2 VMF2=High[i]; // запоминаем Max значение 2-ого найденного фрактала. if(VMF2>VMF1) // если Max значение 2-го фрактала больше 1-го (т.е. направлена вниз), { Vnf2=i; // запоминаем номер Max бара найденного фрактала. tim2=iTime(NULL,0,i); // запомним время 2-ой опорной точки. } else VFN=VFN-1; }//-f2 // --------------------------------------------------------------+ // ------------------------------------------------------------------+ if(VFN==2) break; // найдены все 2 фрактала, выходим из цикла. // ------------------------------------------------------------------+ }//-фрактал }//-цикл //---- for (i=3;i<=History;i++) {//цикл if(Low[i]<Low[i+1] &&Low[i]<Low[i-1]&&Low[i]<Close[i-2]) {//фрактал VFNL++; // счетчик найденного фрактала. // ------------------------------------------------------------+ if(VFNL==1) // если 1-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f1 VnfL1=i; // запоминаем номер Max бара найденного фрактала. VMFL1=Low[i]; // запоминаем Max значение 1-ого найденного фрактала. //Comment("VMFL1=",VMFL1); timL1=iTime(NULL,0,i); // запоминаем время 1-ой опорной точки. }//-f1 // --------------------------------------------------------------+ if(VFNL==2) // если 2-ый фрактал найден, запоминаем значения: Max[i], № свечи[i], время[i]: {// f2 VMFL2=Low[i]; // запоминаем Max значение 2-ого найденного фрактала. if(VMFL2<VMFL1) // если Max значение 2-го фрактала больше 1-го (т.е. направлена вниз), { VnfL2=i; // запоминаем номер Max бара найденного фрактала. timL2=iTime(NULL,0,i); // запомним время 2-ой опорной точки. } else VFNL=VFNL-1; }//-f2 // --------------------------------------------------------------+ // ------------------------------------------------------------------+ if(VFN==2) break; // найдены все 2 фрактала, выходим из цикла. // ------------------------------------------------------------------+ }//-фрактал }//-цикл DelLine();DelLineH();CreateLine();CreateLineH(); return(0); } //+------------------------------------------------------------------+ void DelLine() // Удаление трендовых линий Sell и значков для вилки Чувашова { ObjectDelete("Tr_down1"); // ObjectDelete("Tr_down2"); // ObjectDelete("Frak_1"); //ObjectDelete("Frak_2"); //ObjectDelete("Frak_3"); } void DelLineH() // Удаление трендовых линий BUY и значков для вилки Чувашова { ObjectDelete("Tr_up1"); //ObjectDelete("Tr_up2"); //ObjectDelete("Fr_1"); //ObjectDelete("Fr_2"); //ObjectDelete("Fr_3"); } void CreateLine() // Создание и отрисовка трендовых линий Sell линий вилки Чувашова { ObjectCreate("Tr_down1",OBJ_TREND,0,tim2,VMF2,tim1,VMF1); ObjectSet("Tr_down1",OBJPROP_COLOR,Red); ObjectSet("Tr_down1",OBJPROP_WIDTH,1); // тонкой линией и ObjectSet("Tr_down1",OBJPROP_STYLE,STYLE_SOLID);// пунктиром //ObjectCreate("Tr_down2",OBJ_TREND,0,tim2,VMF2,tim1,VMF1); //ObjectSet("Tr_down2",OBJPROP_COLOR,Aqua); // ObjectSet("Tr_down2",OBJPROP_WIDTH,1); // тонкой линией и // ObjectSet("Tr_down2",OBJPROP_STYLE,STYLE_DOT);// пунктиром } void CreateLineH() // Создание и отрисовка трендовых линий BUY линий вилки Чувашова { ObjectCreate("Tr_up1",OBJ_TREND,0,timL2,VMFL2,timL1,VMFL1); ObjectSet("Tr_up1",OBJPROP_COLOR,Green); ObjectSet("Tr_up1",OBJPROP_WIDTH,1); // тонкой линией и ObjectSet("Tr_up1",OBJPROP_STYLE,STYLE_SOLID);// пунктиром //ObjectCreate("Tr_up2",OBJ_TREND,0,timL2,VMFL2,timL1,VMFL1); //ObjectSet("Tr_up2",OBJPROP_COLOR,Aqua); //ObjectSet("Tr_up2",OBJPROP_WIDTH,1); // тонкой линией и // ObjectSet("Tr_up2",OBJPROP_STYLE,STYLE_DOT);// пунктиром } iCustomで2つの行を取得し、任意のバーでその値を読みたい。 emorzh 2011.08.01 17:23 #340 フォーラムメンバーの皆様、助けてください。 以下の要件を満たすインジケータが必要です。1) 2つのMAの交点(MAの種類、MAの期間、MAを適用する対象、シフトを選択できます。) 2) インジケータが交点に矢印を描く。 3) 交差の瞬間、ビープ音とメールメッセージが鳴ります。 4) 信号は一度だけ生成される。MAを越える瞬間。 MA_Shift_Crossover_Alert.mq4と2MA CrossoverWithPrice_fixed.ex4という2つのインジケータがあります。 最初の方は、ローソク足ごとにシグナルが出ることと、MAを超えた後にシグナルが出ることが気に入らないようです。2枚目は、MAシフトを設定することができません。 2番目のインジケータにMAをシフトする可能性を追加する方法はありますか? 指標はアーカイブに添付しています。 ありがとうございます。 ファイル: indicators_1.zip 5 kb 1...272829303132333435363738394041...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。
チャート上にプログラム的にトレンドラインを 引いた場合、その値を任意のポイントで読み取ることは可能か(これもプログラム的に)、教えてください。
こんにちは。
チャート上にプログラム的にトレンドラインを引いた場合、その値を任意のポイントで読み取ることは可能か(これもプログラム的に)、教えていただけませんか?
こんにちは。
チャート上にプログラム的にトレンドラインを引いた場合、その値を任意のポイントで読み取ることは可能か(これもプログラム的に)、教えてください。
無理なようで、でも本当にやろうと思えばできるんだろうな......。:-Р
できないようですが、本当にやりたいなら......。:-Р
とてもうれしいです :)
インジケータを作りたかったのですが、初めてインジケータを扱うので、迷ってしまいました。線はそれらしく描かれて いるのですが、値を持つ配列に絞る方法が見つかりません。結局、どこにも行けてないんです。
以前、チャート上の正しいポイントを見つけるためにトレンドラインを使った記事を書いたことがあります。きっと、あなたにも何かが見つかるはずです。:)
MoveFileAでは、すべてがうまくいきました。TheXpert さん、どうもありがとうございました。
とてもうれしいです :)
インジケータを作りたかったのですが、初めてインジケータを扱うので、迷ってしまいました。線はそれらしく描かれているのですが、値を持つ配列に絞る方法が見つかりません。その結果、なんとか絞り込めませんでした。
コードを示して、何が欲しいのかを教えてくれれば、直線方程式は必要ないだろうに...。インジケーターで、必要なデータはすべてそのバッファにある・・・。でも:)
以下は、同サイトのチュートリアルからコピーしたコードです :)
iCustomで2つの行を取得し、任意のバーでその値を読みたい。
フォーラムメンバーの皆様、助けてください。
以下の要件を満たすインジケータが必要です。1) 2つのMAの交点(MAの種類、MAの期間、MAを適用する対象、シフトを選択できます。)
2) インジケータが交点に矢印を描く。
3) 交差の瞬間、ビープ音とメールメッセージが鳴ります。
4) 信号は一度だけ生成される。MAを越える瞬間。
MA_Shift_Crossover_Alert.mq4と2MA CrossoverWithPrice_fixed.ex4という2つのインジケータがあります。
最初の方は、ローソク足ごとにシグナルが出ることと、MAを超えた後にシグナルが出ることが気に入らないようです。2枚目は、MAシフトを設定することができません。
2番目のインジケータにMAをシフトする可能性を追加する方法はありますか?
指標はアーカイブに添付しています。
ありがとうございます。