KimIVの便利な機能 - ページ 96 1...8990919293949596979899100101102103...128 新しいコメント Mazepa 2009.12.26 20:03 #951 KimIV >> : 何も加えなくても...。すでにラインに入っています。 ありがとうございました。 あなたのスレッドはネット上の宝物です。 見つけたら、もうたまりません。 Mazepa 2009.12.27 10:36 #952 KimIV >> : 何も加えなくても...。すでにラインに入っています。 イゴールさんや、このスレッドに定期的に書き込んでいる皆さんにお聞きしたいのですが。ブランチを閲覧しましたが、トレンドの角度を判定する機能が見つかりませんでした。 15分足チャートで6本以上のローソク足でトレンドの角度を判定する機能はありますか? Леонид 2010.01.06 13:54 #953 を引けるような機能はないのでしょうか? プロファイル テンプレート ??? Victor Nikolaev 2010.01.06 18:03 #954 mazepa писал(а)>> イゴールさんや、このスレッドに定期的に書き込んでいる皆さんにお聞きしたいのですが。ブランチに目を通しましたが、トレンドの角度を判定する機能が見つかりませんでした。 15分足のローソク足6本以上でトレンドの角度を判定する機能はないでしょうか? 角度ではなく、価格の変化率で語ることができる 削除済み 2010.01.07 16:59 #955 ごあいさつお疲れ様でした。 インジケーターを作っているのですが、EquationDirect関数でクロスポイントが正しく計算されないことがあります :( 私のチャートで線のポイントを計算し、わかりやすいようにテスト用インジケータで添付しました。この関数はオフセットがあると正しく交点を計算しません。つまり、ある角度では関数の計算式は適切ではなく、何らかの方法で修正する必要があるため、そうなると計算が別の計算式で行われることになります IMHO #define CPR "DECIDE" #define mName "Signal" #property indicator_chart_window extern int SignalBars=30; // кол-во баров для сигнала extern int TrendBars=300; // кол-во баров для т. линий extern color CostMaxColor=FireBrick; // цвет максимальной цены extern color CostMinColor=SteelBlue; // цвет минимальной цены extern color VLineColor=DarkSlateGray; // цвет минимальной цены extern color TrendColor=Gray; // цвет трендовых линий extern color OrderColor=Green; // цвет сигнала ордера extern color LabelColor=Navy; // цвет меток // Инициализация - функция начальных установок int init(){ if(!IsDemo())return(0); if( SignalBars<30) SignalBars=30; } // ДеИнициализация - функция завершения работы int deinit(){ ObjectDelete("UpTrend"); ObjectDelete("DownTrend"); ObjectDelete("MaxCost"); ObjectDelete("MinCost"); ObjectDelete("SignOrder"); ObjectDelete("Trend"); ObjectDelete("Volume"); } // СТАРТ - основная функция обработки int start(){ int bar; double val, upb, t1, t2, h1, h2; val=173; bar=iHighest(NULL,0,MODE_HIGH,100,0); t1=Time[0]-273600; h1=High[ bar]; t2= t1-518400; h2=High[ bar]- val*Point; SetTLine( TrendColor,"DownTrend", t2, h2, t1, h1, True,STYLE_SOLID,2); upb= EquationDirect( t1, h1, t2, h2,Time[0]); SetArrow(6,DarkViolet,"UpBorder",Time[0], upb,2); SetVLine( VLineColor,"VLine",Time[0],STYLE_SOLID); } // --- ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ --- // вертикальная временная линия void SetVLine(color cl,string nm="",datetime t1=0,int st=0,int wd=1){ // Параметры: // cl - цвет линии // nm - наименование ("" - время открытия текущего бара) // t1 - время (0 - время открытия текущего бара) // st - стиль линии (0 - простая линия) // wd - ширина линии (1 - по умолчанию) if( nm=="") nm=DoubleToStr(Time[0],0); if( t1<=0) t1=Time[0]; if(ObjectFind( nm)<0)ObjectCreate( nm,OBJ_VLINE,0,0,0); ObjectSet( nm, OBJPROP_TIME1, t1); ObjectSet( nm, OBJPROP_COLOR, cl); ObjectSet( nm, OBJPROP_STYLE, st); ObjectSet( nm, OBJPROP_WIDTH, wd); } // установка трендовой линии void SetTLine(color cl,string nm="",datetime t1=0,double p1=0,datetime t2=0,double p2=0,bool ry= False,int st=0,int wd=1){ // Параметры: // cl - цвет линии // nm - наименование ( "" - время открытия текущего бара) // t1 - время открытия бара ( 0 - Time[10] // p1 - ценовой уровень ( 0 - Low[10]) // t2 - время открытия бара ( 0 - текущий бар) // p2 - ценовой уровень ( 0 - Bid) // ry - луч (False - по умолчанию) // st - стиль линии ( 0 - простая линия) // wd - ширина линии ( 1 - по умолчанию) if( nm=="") nm=DoubleToStr(Time[0],0); if( t1<=0) t1=Time[10];if( t2<=0) t2=Time[0]; if( p1<=0) p1=Low[10];if( p2<=0) p2=Bid; if(ObjectFind( nm)<0)ObjectCreate( nm,OBJ_TREND,0,0,0,0,0); ObjectSet( nm, OBJPROP_TIME1, t1); ObjectSet( nm, OBJPROP_PRICE1, p1); ObjectSet( nm, OBJPROP_TIME2, t2); ObjectSet( nm, OBJPROP_PRICE2, p2); ObjectSet( nm, OBJPROP_COLOR, cl); ObjectSet( nm, OBJPROP_RAY, ry); ObjectSet( nm, OBJPROP_STYLE, st); ObjectSet( nm, OBJPROP_WIDTH, wd); } // вычисление точки пересечения double EquationDirect(double x1,double y1,double x2,double y2,double x){ // Параметры: // x1,y1 - координаты первой точки, // x2,y2 - координаты второй точки, // x - значение, для которого вычислить Y if( x2== x1)return( y1); else return(NormalizeDouble(( y2- y1)/( x2- x1)*( x- x1)+ y1,Digits)); } // установка значька void SetArrow(int cd,color cl,string nm="",datetime t1=0,double p1=0,int sz=0){ // Параметры: // cd - код значка // cl - цвет значка // nm - наименование ("" - время открытия текущего бара) // t1 - время открытия бара (0 - текущий бар) // p1 - ценовой уровень (0 - Bid) // sz - размер значка (0 - по умолчанию) if( nm=="") nm=DoubleToStr(Time[0],0); if( t1<=0) t1=Time[0];if( p1<=0) p1=Bid; if(ObjectFind( nm)<0)ObjectCreate( nm,OBJ_ARROW,0,0,0); ObjectSet( nm, OBJPROP_TIME1, t1); ObjectSet( nm, OBJPROP_PRICE1, p1); ObjectSet( nm, OBJPROP_ARROWCODE, cd); ObjectSet( nm, OBJPROP_COLOR, cl); ObjectSet( nm, OBJPROP_WIDTH, sz); } 削除済み 2010.01.07 17:23 #956 スクリーンショット オペラで追加、エクスプローラでは未追加 削除済み 2010.01.08 18:36 #957 グラフに表示されている終了時間(左から)は、どのように判断すればよいのでしょうか。 Igor Kim 2010.01.08 18:43 #958 DECIDE писал(а)>> グラフに表示されている終了時間(左から)を判断するにはどうしたらよいですか? TimeCurrent() Alexander 2010.01.08 19:56 #959 KimIV писал(а)>> TimeCurrent() これは右のようです。 削除済み 2010.01.09 10:09 #960 もうわかったんだ。 EquationDirect関数のせいではなく、端末のバグのせいで、線がオフセットして描かれてしまう。 そのため、まずTime[0]でクロスポイントを決定し、初期ポイントからTime[0]でクロスポイントまでトレンドラインを引く必要がありましたが、この場合、すべてがうまく機能しました。 チャート上の一番右の時間は、シグナルスイッチのアイコンの位置決めに必要です(チャートスケールが 変更された場合)、つまり、スイッチアイコンを一番右の時間を超えて、つまりまだ到達していない状態で動かすとアイコンが切り替わります(発注のシグナルがオンまたはオフに切り替わり、シグナルを切り替えることでEAに取引を禁止または許可できることを意味します) 左側の時間は次のように決定されます:チャート上に見える一番外側のバーを取得します。 WindowFirstVisibleBar()で時間を取得する Time[WindowFirstVisibleBar()]. 1...8990919293949596979899100101102103...128 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何も加えなくても...。すでにラインに入っています。
ありがとうございました。
あなたのスレッドはネット上の宝物です。 見つけたら、もうたまりません。
何も加えなくても...。すでにラインに入っています。
イゴールさんや、このスレッドに定期的に書き込んでいる皆さんにお聞きしたいのですが。ブランチを閲覧しましたが、トレンドの角度を判定する機能が見つかりませんでした。 15分足チャートで6本以上のローソク足でトレンドの角度を判定する機能はありますか?を引けるような機能はないのでしょうか?
プロファイル
テンプレート
???
イゴールさんや、このスレッドに定期的に書き込んでいる皆さんにお聞きしたいのですが。ブランチに目を通しましたが、トレンドの角度を判定する機能が見つかりませんでした。 15分足のローソク足6本以上でトレンドの角度を判定する機能はないでしょうか?
角度ではなく、価格の変化率で語ることができる
ごあいさつお疲れ様でした。
インジケーターを作っているのですが、EquationDirect関数でクロスポイントが正しく計算されないことがあります :(
私のチャートで線のポイントを計算し、わかりやすいようにテスト用インジケータで添付しました。この関数はオフセットがあると正しく交点を計算しません。つまり、ある角度では関数の計算式は適切ではなく、何らかの方法で修正する必要があるため、そうなると計算が別の計算式で行われることになります IMHO
スクリーンショット
オペラで追加、エクスプローラでは未追加
グラフに表示されている終了時間(左から)を判断するにはどうしたらよいですか?
TimeCurrent()
TimeCurrent()
これは右のようです。
もうわかったんだ。
EquationDirect関数のせいではなく、端末のバグのせいで、線がオフセットして描かれてしまう。
そのため、まずTime[0]でクロスポイントを決定し、初期ポイントからTime[0]でクロスポイントまでトレンドラインを引く必要がありましたが、この場合、すべてがうまく機能しました。
チャート上の一番右の時間は、シグナルスイッチのアイコンの位置決めに必要です(チャートスケールが 変更された場合)、つまり、スイッチアイコンを一番右の時間を超えて、つまりまだ到達していない状態で動かすとアイコンが切り替わります(発注のシグナルがオンまたはオフに切り替わり、シグナルを切り替えることでEAに取引を禁止または許可できることを意味します)
左側の時間は次のように決定されます:チャート上に見える一番外側のバーを取得します。
WindowFirstVisibleBar()で時間を取得する Time[WindowFirstVisibleBar()].