アスク! - ページ 7 1234567891011121314...182 新しいコメント camisa 2006.01.08 23:04 #61 こんにちは、mq4でcci<-150の時にアラートするインジケータを添付しました。 このインジケータはtick by tickベースでアラートされますが、ローソク足の終値でのみアラートするように変更することはできますか? この場合、私は5mのローソクの終わりにcciが< -150である場合にのみアラートされることを希望します。 ありがとうございました。 ファイル: rd_cci_buy.mq4 9 kb camisa 2006.01.10 15:06 #62 OK、2つ目の質問ですが、これは簡単だと思います。 私は、価格がMAを横切ったときに警告するユーザーインジケータを構築しています。 iCustomを使ってMAインジケータをイン ポートしています。 CLOSEとPRICE_CLOSEを試しましたが、結果はダメでした。 if (CLOSE?>ma1) adxvalue= -1; if (PRICE_CLOSE?>ma1) adxvalue= -1です。 また、私はアラートが5mバーの終わりにのみ鳴り、tick by tickベースで動作しないようにしたい:私は他に何を変更する必要があります(この質問は、私の前の投稿にあるものです) ありがとうございます。 dccooper 2006.01.16 10:28 #63 こんにちは、Codersguruです。 Osma Colorに色が変わったときにアラートが出るようにコーディングするのを手伝ってくれませんか? ありがとうございます。 ダンカン //+------------------------------------------------------------------+ //| OsMA_color.mq4(英語) //| ラファエル //|marynarz15@wp.pl //+------------------------------------------------------------------+ #property copyright "ラファエル" #property リンク "marynarz15@wp.pl" //---- インジケーターの設定 #property indicator_separate_window(インジケーターウィンドウ #property indicator_buffers 2 (インジケーターバッファー2) #property indicator_color1 ライム #property indicator_color2 レッド //---- インジケーターのパラメーター extern int FastEMA=12; extern int SlowEMA=26; extern int SignalSMA=9; //---- インジケータ・バッファ double ind_buffer1a[]; double ind_buffer1b[]; double ind_buffer2[]; double ind_buffer3[]です。 //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { //---- カウントのために2つのバッファを追加で使用します。 IndicatorBuffers(4); //---- 描画の設定 SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2)を設定します。 SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2); SetIndexDrawBegin(0,SignalSMA)を設定します。 SetIndexDrawBegin(1,SignalSMA); SetIndexDrawBegin(1,SignalSMA); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2); //---- 3つの指標バッファのマッピング if(!SetIndexBuffer(0,ind_buffer1a))&&。 !SetIndexBuffer(2,ind_buffer2)アンド&アンド !SetIndexBuffer(3,ind_buffer3))です。 Print("cannot set indicator buffers!"); //データウィンドウとインジケータサブウィンドウのラベルの名前 IndicatorShortName("OsMA("+FastEMA+", "+SlowEMA+", "+SignalSMA+")"); //---- 初期化完了 return(0); } //+------------------------------------------------------------------+ //| オシレーターの移動平均 //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); //エラーの可能性をチェック if(counted_bars<0) return(-1); //---- 最後にカウントされたバーが再カウントされる if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- 1st追加バッファでカウントされたmacd for(int i=0; i<limit; i++) ind_buffer2=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)。 -iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i); //---- 2番目の追加バッファにカウントされる信号線 for(i=0; i<limit; i++) ind_buffer3=iMAOnArray(ind_buffer2,Bars,SignalSMA,0,MODE_SMA,i); //---- メインループ double value=0; for(i=0; i<limit; i++) { ind_buffer1a=0.0; ind_buffer1b=0.0; value=ind_buffer2-ind_buffer3です。 if (value>0) ind_buffer1a=value; if (value<0)ind_buffer1b=value。 } //----完了 return(0); } //+------------------------------------------------------------------+ Ask! マルチタイムフレーム・インディケーター [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 Arta2015 2006.01.24 22:07 #64 こんにちは。 バタフライパターンを認識できるインジケーターがあるのですが、MT3用に書かれているので、どなたかMQL4に変換していただけませんか? ファイル: butterfly.mql 3 kb Arta2015 2006.01.24 22:12 #65 2つのpdfを添付します。パターンの要旨とルールが記載されています。 ファイル: attachment2.pdf 141 kb attachment1.pdf 189 kb currencyshmuck 2006.01.30 05:26 #66 ハイ こんにちは。 皆さんはこの作者の名前を知っているかもしれませんが、この作者のメソッドがソフトウェアに 彼のメソッドがソフトウェアにコード化されていることを知りませんでした。 Pesaventoは、この素晴らしい本の中で、他の人たちの間を縫った。 * パターン認識によるフィボナッチ比率 * 株式取引のための収益性の高いパターン * アストロ・サイクルトレーダーズビューポイント ところで、私は、ENSIGNソフトウェアが、次のリンクで見ることができる彼のオリジナルのPesaventoパターン研究ツールを持っていることを知っている。 ENSIGNからMetaTrader 4にインポートしてくれる人がいたら、すごいことになりそうです。 http://www.ensignsoftware.com/help/pesavento.htm currencyshmuck 2006.01.31 08:26 #67 またまた 2つのプラットフォームでガートレイ222パターンのコードを見つけました。 どなたかMetaTrade 4に翻訳していただければ幸いです。 ここにそのコードがあります。 1.TradeStation ガートレイ222パターンのコード Aaron Behle and Mark Conway著 "Trading the Gartley 222", p. 38に掲載されています。 入力 長さ(100), 強さ(8), 公差(0.10), BullColor(青), ベアカラー(赤); 変数 F1(0.618), F2(0.786), F3(1.27), F4(1.618), P1Bar(-1), P2Bar(-1), T1Bar(-1), T2Bar(-1), P1(0.0), P2(0.0), T1(0.0), T2(0.0), PTValid(False), HLValid(False)。 InZone(False)。 GD(0.0), XA(0.0), AB(0.0), BC(0.0), CD(0.0), AD(0.0)です。 C1(False)です。 C2(False)。 C3(False)です。 C4(False)です。 ABdXA(0.0), BCdAB(0.0), CDdBC(0.0), ADdXA(0.0), TL1(-1), TL2(-1), TL3(-1), TL4(-1), TL5(-1), TL6(-1)です。 P1Bar = SwingHighBar(1, 高値, 強さ, 長さ); P2Bar = SwingHighBar(2, 高値, 強さ, 長さ); T1Bar = SwingLowBar(1、Low、Strength、Length); T2Bar = SwingLowBar(2, Low, Strength, Length); もしP1Bar -1 と P2Bar -1かつ T1Bar -1 と T2Bar -1 Then Begin {強気222のテスト}。 {トラフXはT2}。 T2 = 安値[T2Bar]。 ピークAはP2} {ピークAはP2 P2 = High[P2Bar]; トラフBはT1} {トラフBはT1 T1 = Low[T1Bar]。 {ピークCはP1}。 P1 = 高値[P1Bar]; {Dが買いポイント}です。 GD = Low; PTValid = P1Bar < T1Bar かつ T1Bar < P2Bar かつ P2Bar < T2Bar; HLValid = P1 T2 and P1 > T1; InZone = GD T2 and P2 >= Highest(High, T2Bar); If PTValid and HLValid and InZone Then Begin XA = P2 - T2; AB = P2 - T1; BC = P1 - T1; CD = P1 - GD。 AD = P2 - GD。 ABdXA = AB / XA; {ABはXAの61.8%でなければなりません}。 C1 = ABdXA > F1 - Tolerance かつ ABdXA < F1 + Tolerance; BCdAB = BC / AB; {BCはABの61.8-78.6%であるべきです}。 C2 = BCdAB > F1 - Tolerance かつ BCdAB < F2 + Tolerance; CDdBC = CD / BC; {CDはBCの127-161.8%でなければならない}。 C3 = CDdBC > F3 - 許容値および CDdBC < F4 + 許容値; ADdXA = AD / XA; {ADはXAの78.6%でなければならない}。 C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance; If C1 and C2 and C3 and C4 Then Begin TL1 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P2Bar], Time[P2Bar], P2).もしTL1 >= 0 ならば、TL_New(Date[T2Bar], Time[T2Bar], T2); If TL1 >= 0 Then Begin TL_SetColor(TL1, BullColor); TL_SetStyle(TL1, Tool_Solid).TL_SetSize(TL1)を設定する。 TL_SetSize(TL1, 2); TL_SetSize(TL1, 2); 終了 TL2 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T1Bar], Time[T1Bar], T1).If TL2 >= 0 Then TL_Settyle(TL1, 2); TL_SetSize(TL1, 2); End; End; If TL2 >= 0 Then Begin TL_SetColor(TL2, BullColor); TL_SetStyle(TL2, Tool_Solid).TL_SetSize(TL2)を設定する。 TL_SetSize(TL2, 2); TL_SetSize(TL2, 2); 終了 TL3 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date[P1Bar], Time[P1Bar], P1).If TL3 >= 0 Then TL_Settyle(TL2, 2); TL_SetSize(TL2, 2); End; End; If TL3 >= 0 Then Begin TL_SetColor(TL3, BullColor); TL_SetStyle(TL3, Tool_Solid).TL_SetSize(TL3)を設定する。 TL_SetSize(TL3, 2); TL_SetSize(TL3, 2); 終了 TL4 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD); If TL4 >= 0 Then Begin TL_SetColor(TL4, BullColor); TL_SetStyle(TL4, Tool_Solid); TL_SetSize(TL4, 2); 終了 TL5 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD); If TL5 >= 0 Then Begin TL_SetColor(TL5, BullColor); TL_SetStyle(TL5, Tool_Dotted); End TL6 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date, Time, GD); If TL6 >= 0 Then Begin TL_SetColor(TL6, BullColor); TL_SetStyle(TL6, Tool_Dotted); End End End {弱気222のテスト}。 {ピークXはP2}。 {トラフAはT2}。 {ピークBはP1}。 {トラフCはT1}。 {GDがショートポイント}。 GD = 高値です。 PTValid = T1Bar < P1Bar and P1Bar < T2Bar and T2Bar < P2Bar; HLValid = T1 > T2 and P1 < P2 and T1 < P1; InZone = GD > P1 and GD < P2 and T2 <= Lowest(Low, P2Bar); If PTValid and HLValid and InZone Then Begin XA = P2 - T2; AB = P1 - T2; BC = P1 - T1; CD = GD - T1; AD = GD - T2。 ABdXA = AB / XA; {ABはXAの61.8%でなければならない}。 C1 = ABdXA > F1 - Tolerance かつ ABdXA < F1 + Tolerance; BCdAB = BC / AB; {BCはABの61.8-78.6%であるべきです}。 C2 = BCdAB > F1 - Tolerance かつ BCdAB < F2 + Tolerance; CDdBC = CD / BC; {CDはBCの127-161.8%でなければならない}。 C3 = CDdBC > F3 - 許容値および CDdBC < F4 + 許容値; ADdXA = AD / XA; {ADはXAの78.6%でなければならない}。 C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance; If C1 and C2 and C3 and C4 Then Begin TL1 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T2Bar], Time[T2Bar], T2).もしTL1 >= 0 ならば、TL_New(Date[P2Bar], Time[P2Bar], P2); If TL1 >= 0 Then Begin TL_SetColor(TL1, BearColor); TL_SetStyle(TL1, Tool_Solid).TL_SetSize(TL1)を設定する。 TL_SetSize(TL1, 2); TL_SetSize(TL1, 2); 終了 TL2 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P1Bar], Time[P1Bar], P1).If TL2 >= 0 Then TL_Settyle(TL1, 2); TL_SetSize(TL1, 2); End; End; If TL2 >= 0 Then Begin TL_SetColor(TL2, BearColor); TL_SetStyle(TL2, Tool_Solid).TL_SetSize(TL2)。 TL_SetSize(TL2, 2); TL_SetSize(TL2, 2); 終了 TL3 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date[T1Bar], Time[T1Bar], T1).If TL3 >= 0 Then TL_Settyle(TL2, 2); TL_SetSize(TL2, 2); End; End; If TL3 >= 0 Then Begin TL_SetColor(TL3, BearColor); TL_SetStyle(TL3, Tool_Solid).TL_SetSize(TL3)を設定する。 TL_SetSize(TL3, 2); TL_SetSize(TL3, 2); 終了 TL4 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD); If TL4 >= 0 Then Begin TL_SetColor(TL4, BearColor); TL_SetStyle(TL4, Tool_Solid).TL_SetSize(TL4)を設定する。 TL_SetSize(TL4, 2); 終了 TL5 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD); If TL5 >= 0 Then Begin TL_SetColor(TL5, BearColor); TL_SetStyle(TL5, Tool_Dotted); End TL6 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date, Time, GD); If TL6 >= 0 Then Begin TL_SetColor(TL6, BearColor); TL_SetStyle(TL6, Tool_Dotted); End End End 終了。 2.Wealth-Labのコード。 手順 Gartley222 ( VPFactor: float; トレランス:float; ルックバック:integer; HoldBars: integer; VolMin: 整数 ); 開始 var ATRValue, VP, Reversal: float; var F1、F2、F3、F4、P1、P2、T1、T2:float; var Bar, P1Bar, P2Bar, T1Bar, T2Bar, p: integer; var XA, AB, BC, CD, AD, D, XD, DT, ABdXA, BCdAB, CDdBC, ADdXA: float; var PTValid, HLValid, InZone, C1, C2, C3, C4: boolean(ブール値); var BT, BS, ST, SS: float; {フィボナッチ定数} F1 := 0.618; F2 := 0.786; F3 := 1.27; F4 := 1.618; TimeBasedExit(HoldBars)をインストールします。 for Bar := Lookback to BarCount() - 1 do 開始 ApplyAutoStops(Bar); ATRValue := ATR(Bar, Lookback); SetShareSize( 1000 * Int( 10 / ATRValue ) ); VP := 100 * ATRValue / PriceClose(Bar); {ピークと谷を見つける}。 リバーサル := Int(VPFactor * VP); P1 := Peak(Bar, #High, F1 * Reversal); P1Bar := PeakBar(Bar, #High, F1 * Reversal); P2 := Peak(P1Bar, #High, F1 * Reversal); P2 := Peak(P1Bar, #High, Reversal); P2Bar := PeakBar(P1Bar, #High, Reversal); T1 := Trough(Bar, #Low, F1 * Reversal); T1Bar := TroughBar(Bar, #Low, F1 * Reversal); T2 := Trough(T1Bar, #Low, Reversal); T2Bar := TroughBar(T1Bar, #Low, Reversal); {強気222のテスト}。 {トラフXはT2}。 {ピークAはP2}。 {トラフBはT1}。 {ピークCはP1}。 {Dは買いゾーン}。 D := PriceLow(Bar); PTValid := (P1Bar > T1Bar) かつ (T1Bar > P2Bar) かつ (P2Bar > T2Bar); HLValid := (P1 T2) and (P1 > T1); InZone := (D T2); if (MarketPosition = 0) and (SMA(Bar, #Volume, Lookback) >= VolMin) かつ (PTValid) and (HLValid) and (InZone) then 開始 XA := P2 - T2; AB := P2 - T1; BC := P1 - T1; XD := P2 - (F2 * XA); CD := P1 - XD; AD := P2 - XD; ABdXA := AB / XA; {ABはXAの61.8%であるべきです}。 C1 := (ABdXA > F1 - Tolerance) かつ (ABdXA < F1 + Tolerance); BCdAB := BC / AB; {BCはABの61.8〜78.6%であるべき}。 C2 := (BCdAB > F1 - Tolerance) and (BCdAB < F2 + Tolerance); CDdBC := CD / BC; {CDはBCの127〜161.8%であるべき}。 C3 := (CDdBC > F3 - Tolerance) and (CDdBC < F4 + Tolerance)です。 ADdXA := AD / XA; {ADはXAの78.6%でなければならない}。 C4 := (ADdXA > F2 - Tolerance) and (ADdXA < F2 + Tolerance)とする。 if C1 and C2 and C3 and C4 then 開始 DrawLine(P2Bar, P2, T2Bar, T2, 0, #Blue, #Solid); DrawLine(T1Bar, T1, P2Bar, P2, 0, #Blue, #Solid); DrawLine(P1Bar, P1, T1Bar, T1, 0, #Blue, #Solid); DrawLine(Bar, D, P1Bar, P1, 0, #Blue, #Solid); DrawLine(Bar, D, T1Bar, T1, 0, #Blue, #Dotted)(バー、D、T1バー、T1、0、#Blue、#Dotted)。 DrawLine(Bar, D, T2Bar, T2, 0, #Blue, #Dotted); AnnotateBar('B', Bar, True, #Blue, 10); BuyAtLimit(Bar, XD, 'G222 LE'); DT := F1 * CD; BT := XD + DT; BS := T2; を終了します。 を終了します。 {弱気222のテスト}。 {ピークXはP2}。 {トラフAはT2}。 {ピークBはP1}。 {トラフCはT1}。 {Dはショートゾーン}。 D := PriceHigh(Bar); PTValid := (T1Bar > P1Bar) かつ (P1Bar > T2Bar) かつ (T2Bar > P2Bar); HLValid := (T1 > T2) and (P1 < P2) and (T1 < P1); InZone := (D > P1) and (D < P2); if (MarketPosition = 0) and (PriceClose( Bar ) >= 5) かつ (SMA(Bar, #Volume, Lookback) >= VolMin)かつ (PTValid) and (HLValid) and (InZone) then 開始 XA := P2 - T2; AB := P1 - T2; BC := P1 - T1; XD := T2 + (F2 * XA); CD := XD - T1; AD := XD - T2; ABdXA := AB / XA; {ABはXAの61.8%になるようにする}。 C1 := (ABdXA > F1 - Tolerance) かつ (ABdXA < F1 + Tolerance) です。 BCdAB := BC / AB; {BCはABの61.8〜78.6%であるべき}。 C2 := (BCdAB > F1 - Tolerance) and (BCdAB < F2 + Tolerance); CDdBC := CD / BC; {CDはBCの127〜161.8%であるべき}。 C3 := (CDdBC > F3 - Tolerance) and (CDdBC < F4 + Tolerance)です。 ADdXA := AD / XA; {ADはXAの78.6%でなければならない}。 C4 := (ADdXA > F2 - Tolerance) and (ADdXA < F2 + Tolerance)とする。 if C1 and C2 and C3 and C4 then 開始 DrawLine(T2Bar, T2, P2Bar, P2, 0, #Red, #Solid); DrawLine(P1Bar, P1, T2Bar, T2, 0, #Red, #Solid); DrawLine(T1Bar, T1, P1Bar, P1, 0, #Red, #Solid); DrawLine(T1Bar, T1, P1Bar, P1, 0, #Solid); DrawLine(Bar, D, T1Bar, T1, 0, #Red, #Solid); DrawLine(Bar, D, P1Bar, P1, 0, #Red, #Dotted)(バー、D、P1Bar、P1、0、#Red、#Dotted); DrawLine(Bar, D, P2Bar, P2, 0, #Red, #Dotted); AnnotateBar('S', Bar, False, #Red, 10); ShortAtLimit(Bar, XD, 'G222 SE'); DT := F1 * CD; ST := XD - DT; SS := P2; を終了します。 end if LastPositionActive then 開始 if MarketPosition = 1 then begin SellAtLimit(Bar+1, BT, #All, 'G222 LX+').SellAtStop(Bar+1,BS,#All,G222LX-')。 SellAtStop(Bar+1, BS, #All, 'G222 LX-'); を終了します。 If MarketPosition = -1 then begin CoverAtLimit(Bar+1, ST, #All, 'G222 LX+').CoverAtLimit(Bar+1、ST、#All、'G22 LX+')。 CoverAtStop(Bar+1, SS, #All, 'G222 LX-'); を終了します。 を終了します。 を終了します。 end Gartley222(2.0, 0.1, 20, 7, 2000000); ハーモニックトレーディング ガートリー222 Gartley 222 Zero_forex 2006.01.31 21:20 #68 SMCMAとWCMAは何ですか? 誰でもこれらの2つのもののMAとどこで取得し、Meta Trader 4のためにそれらを使用することについて何かを知っている 1.SMCMA 2.WCMA 私が知ることができた唯一のものは、これらはMAのいくつかのタイプであること (Moving Averages)ですが、どこで手に入れ、どのように使うのでしょうか? バイバイ ゼロ_フォレックス Willis11of12 2006.02.01 04:10 #69 EAで他の通貨ペ アを使う? Expert Advisorに他の通貨ペアのチャートをチェックさせて、売買の判断材料にする方法をご存知の方はいらっしゃいますか? 例えば、gbp-chfの売買を決定する基準の一部としてusd-chfを見るEAを作るにはどうしたらいいでしょうか? 今のところ気に入っているEAがあるのですが、他の関連ペアもチェックするようにプログラムに書き込めたらもっといいと思うのです。 Codersguruさん、または他にお手伝いいただける方がいらっしゃいましたら、ぜひ教えてください。 ありがとうございました。 LGH 2006.02.16 16:31 #70 codersguru: 皆さん、こんにちは。プライベートメッセージで、あるコードの一部について助けを求めている人がたくさんいます。 ここでは、MQL4に関連する質問を投稿してください。 こんにちは、Coderです。 5分足ごとに1回だけアラートを鳴らすことは可能でしょうか? 条件を満たしたときに一度だけアラートが鳴るようにすることは可能ですか? その後、オフにします。 その後、次のバーのオープニングでインジケータをリフレッシュし、再び音が鳴るようにします。 その後、0.0005の条件が満たされるまで、再びスイッチを切ります。 そしてまたスイッチを入れる......の繰り返し。 下のインジケータは、トリガーがかかると、1つのバーに何度もアラートを鳴らすことができます。 下記をご覧ください。 //+------------------------------------------------------------------+ //| Juice.mq4 //| Perky_z //|http://fxovereasy.atspace.com/index //+------------------------------------------------------------------+ #property copyright "パーキー" #property link "http://fxovereasy.atspace.com/index" //---- インジケータの設定 #property indicator_separate_window(インジケータ分離ウィンドウ #property indicator_buffers 2 (インジケーターバッファー2) #property indicator_color1 ライムグリーン #property indicator_color2 ファイヤーブリック //---- インジケーターのパラメーター extern bool DoAlerts = false; extern int AlertFromPips = 5; extern int Periyod=7; extern double Level=5; extern bool JuiceLevelsVisible = true; extern int JuiceStartPips = 5; extern int JuiceStepPips = 5; extern int JuiceLevelsNumber = 4; extern color JuiceLevelColor = Silver; //---- インジケーターバッファ double OsMAUpBuffer[]; double OsMADownBuffer[]; double OsMAValue; double currentJuiceLevel; //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { //---- カウントのために2つのバッファを追加で使用します。 IndicatorBuffers(2); //---- 描画の設定 SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2)を設定します。 SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,1); SetIndexDrawBegin(0,Level); SetIndexDrawBegin(0,Level); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2); //---- 2つの指標バッファをマッピング if(!SetIndexBuffer(0,OsMAUpBuffer) &&) !SetIndexBuffer(1,OsMADownBuffer))。 Print("cannot set indicator buffers!"); //---- データウィンドウとインジケータサブウィンドウのラベルの名前 IndicatorShortName("Juice("+Periyod+", "+Level+")"); //---- 初期化完了 return(0); } int SetLevelLines() { 文字列 levelLabel; if(JuiceLevelsVisible) { SetLevelStyle(STYLE_DASH,1,JuiceLevelColor); for(int i=1; i<= JuiceLevelsNumber; i++) { currentJuiceLevel = (JuiceStartPips + (i-1)*JuiceStepPips)*Point; SetLevelValue(i,currentJuiceLevel)を設定します。 levelLabel = "レベル "+i+"。"+currentJuiceLevel "です。 SetIndexLabel(i,levelLabel)を設定します。 } }else { for(i=1; i<= JuiceLevelsNumber; i++) { SetLevelValue(i,0.0)とする。 } } } //+------------------------------------------------------------------+ //| オシレーターの移動平均 //+------------------------------------------------------------------+ int start() { //if ( Period != 15) Alert ("Juice Is Recommended for 15 Min Chart only!!!"); int limit,i; int counted_bars=IndicatorCounted(); double Juice; bool TurnOnAlert = true; //---- エラーの可能性をチェック if(counted_bars<0) return(-1); //---- 最後にカウントされたバーが再カウントされる if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; レベル=レベル*ポイント if (期間()==5 ) Level=Level/2; SetLevelLines(); //---- メインループ for(i=0; i<limit; i++) { Juice=iStdDev (NULL,0,Periyod,MODE_EMA,0,PRICE_CLOSE,i)-Level.Juice=iStdDev (NULL,0,Periyod,MODE_EMA,0,PRICE_CLOSE,i)-Level; if(Juice>0){。 OsMAUpBuffer=Juice; OsMADownBuffer=0; }else if(Juice<0){。 OsMADownBuffer=Juice。 OsMAUpBuffer=0。 }else{ OsMAUpBuffer=0; OsMADownBuffer=0。 } } if (DoAlerts) { if (Juice > AlertFromPips*Point && Period() == 5) { if (TurnOnAlert) { アラート("Juice above ",AlertFromPips*Point," for ", Symbol()).PlaySound("Tick.wav");。 PlaySound("Tick.wav")。 TurnOnAlert = false; } } さもなければ { TurnOnAlert = true。 } } //----完了 return(0); } //+------------------------------------------------------------------+ 皆様のご協力をお願いいたします。 Many Thanks. リー Ask! マルチタイムフレーム・インディケーター グッピー多重移動平均 1234567891011121314...182 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、mq4でcci<-150の時にアラートするインジケータを添付しました。
このインジケータはtick by tickベースでアラートされますが、ローソク足の終値でのみアラートするように変更することはできますか?
この場合、私は5mのローソクの終わりにcciが< -150である場合にのみアラートされることを希望します。
ありがとうございました。
OK、2つ目の質問ですが、これは簡単だと思います。
私は、価格がMAを横切ったときに警告するユーザーインジケータを構築しています。
iCustomを使ってMAインジケータをイン ポートしています。
CLOSEとPRICE_CLOSEを試しましたが、結果はダメでした。
if (CLOSE?>ma1)
adxvalue= -1;
if (PRICE_CLOSE?>ma1)
adxvalue= -1です。
また、私はアラートが5mバーの終わりにのみ鳴り、tick by tickベースで動作しないようにしたい:私は他に何を変更する必要があります(この質問は、私の前の投稿にあるものです)
ありがとうございます。
こんにちは、Codersguruです。
Osma Colorに色が変わったときにアラートが出るようにコーディングするのを手伝ってくれませんか?
ありがとうございます。
ダンカン
//+------------------------------------------------------------------+
//| OsMA_color.mq4(英語)
//| ラファエル
//|marynarz15@wp.pl
//+------------------------------------------------------------------+
#property copyright "ラファエル"
#property リンク "marynarz15@wp.pl"
//---- インジケーターの設定
#property indicator_separate_window(インジケーターウィンドウ
#property indicator_buffers 2 (インジケーターバッファー2)
#property indicator_color1 ライム
#property indicator_color2 レッド
//---- インジケーターのパラメーター
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
//---- インジケータ・バッファ
double ind_buffer1a[];
double ind_buffer1b[];
double ind_buffer2[];
double ind_buffer3[]です。
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- カウントのために2つのバッファを追加で使用します。
IndicatorBuffers(4);
//---- 描画の設定
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2)を設定します。
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2);
SetIndexDrawBegin(0,SignalSMA)を設定します。
SetIndexDrawBegin(1,SignalSMA); SetIndexDrawBegin(1,SignalSMA);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 3つの指標バッファのマッピング
if(!SetIndexBuffer(0,ind_buffer1a))&&。
!SetIndexBuffer(2,ind_buffer2)アンド&アンド
!SetIndexBuffer(3,ind_buffer3))です。
Print("cannot set indicator buffers!");
//データウィンドウとインジケータサブウィンドウのラベルの名前
IndicatorShortName("OsMA("+FastEMA+", "+SlowEMA+", "+SignalSMA+")");
//---- 初期化完了
return(0);
}
//+------------------------------------------------------------------+
//| オシレーターの移動平均
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//エラーの可能性をチェック
if(counted_bars<0) return(-1);
//---- 最後にカウントされたバーが再カウントされる
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- 1st追加バッファでカウントされたmacd
for(int i=0; i<limit; i++)
ind_buffer2=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)。
-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- 2番目の追加バッファにカウントされる信号線
for(i=0; i<limit; i++)
ind_buffer3=iMAOnArray(ind_buffer2,Bars,SignalSMA,0,MODE_SMA,i);
//---- メインループ
double value=0;
for(i=0; i<limit; i++)
{
ind_buffer1a=0.0;
ind_buffer1b=0.0;
value=ind_buffer2-ind_buffer3です。
if (value>0) ind_buffer1a=value;
if (value<0)ind_buffer1b=value。
}
//----完了
return(0);
}
//+------------------------------------------------------------------+
こんにちは。
バタフライパターンを認識できるインジケーターがあるのですが、MT3用に書かれているので、どなたかMQL4に変換していただけませんか?
2つのpdfを添付します。パターンの要旨とルールが記載されています。
ハイ
こんにちは。
皆さんはこの作者の名前を知っているかもしれませんが、この作者のメソッドがソフトウェアに
彼のメソッドがソフトウェアにコード化されていることを知りませんでした。
Pesaventoは、この素晴らしい本の中で、他の人たちの間を縫った。
* パターン認識によるフィボナッチ比率
* 株式取引のための収益性の高いパターン
* アストロ・サイクルトレーダーズビューポイント
ところで、私は、ENSIGNソフトウェアが、次のリンクで見ることができる彼のオリジナルのPesaventoパターン研究ツールを持っていることを知っている。
ENSIGNからMetaTrader 4にインポートしてくれる人がいたら、すごいことになりそうです。
http://www.ensignsoftware.com/help/pesavento.htm
またまた
2つのプラットフォームでガートレイ222パターンのコードを見つけました。
どなたかMetaTrade 4に翻訳していただければ幸いです。
ここにそのコードがあります。
1.TradeStation ガートレイ222パターンのコード Aaron Behle and Mark Conway著 "Trading the Gartley 222", p. 38に掲載されています。
入力
長さ(100),
強さ(8),
公差(0.10),
BullColor(青),
ベアカラー(赤);
変数
F1(0.618),
F2(0.786),
F3(1.27),
F4(1.618),
P1Bar(-1),
P2Bar(-1),
T1Bar(-1),
T2Bar(-1),
P1(0.0),
P2(0.0),
T1(0.0),
T2(0.0),
PTValid(False),
HLValid(False)。
InZone(False)。
GD(0.0),
XA(0.0),
AB(0.0),
BC(0.0),
CD(0.0),
AD(0.0)です。
C1(False)です。
C2(False)。
C3(False)です。
C4(False)です。
ABdXA(0.0),
BCdAB(0.0),
CDdBC(0.0),
ADdXA(0.0),
TL1(-1),
TL2(-1),
TL3(-1),
TL4(-1),
TL5(-1),
TL6(-1)です。
P1Bar = SwingHighBar(1, 高値, 強さ, 長さ);
P2Bar = SwingHighBar(2, 高値, 強さ, 長さ);
T1Bar = SwingLowBar(1、Low、Strength、Length);
T2Bar = SwingLowBar(2, Low, Strength, Length);
もしP1Bar -1 と
P2Bar -1かつ
T1Bar -1 と
T2Bar -1 Then Begin
{強気222のテスト}。
{トラフXはT2}。
T2 = 安値[T2Bar]。
ピークAはP2} {ピークAはP2
P2 = High[P2Bar];
トラフBはT1} {トラフBはT1
T1 = Low[T1Bar]。
{ピークCはP1}。
P1 = 高値[P1Bar];
{Dが買いポイント}です。
GD = Low;
PTValid = P1Bar < T1Bar かつ T1Bar < P2Bar かつ P2Bar < T2Bar;
HLValid = P1 T2 and P1 > T1;
InZone = GD T2 and P2 >= Highest(High, T2Bar);
If PTValid and HLValid and InZone Then Begin
XA = P2 - T2;
AB = P2 - T1;
BC = P1 - T1;
CD = P1 - GD。
AD = P2 - GD。
ABdXA = AB / XA; {ABはXAの61.8%でなければなりません}。
C1 = ABdXA > F1 - Tolerance かつ ABdXA < F1 + Tolerance;
BCdAB = BC / AB; {BCはABの61.8-78.6%であるべきです}。
C2 = BCdAB > F1 - Tolerance かつ BCdAB < F2 + Tolerance;
CDdBC = CD / BC; {CDはBCの127-161.8%でなければならない}。
C3 = CDdBC > F3 - 許容値および CDdBC < F4 + 許容値;
ADdXA = AD / XA; {ADはXAの78.6%でなければならない}。
C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance;
If C1 and C2 and C3 and C4 Then Begin
TL1 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P2Bar], Time[P2Bar], P2).もしTL1 >= 0 ならば、TL_New(Date[T2Bar], Time[T2Bar], T2);
If TL1 >= 0 Then Begin
TL_SetColor(TL1, BullColor);
TL_SetStyle(TL1, Tool_Solid).TL_SetSize(TL1)を設定する。
TL_SetSize(TL1, 2); TL_SetSize(TL1, 2);
終了
TL2 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T1Bar], Time[T1Bar], T1).If TL2 >= 0 Then TL_Settyle(TL1, 2); TL_SetSize(TL1, 2); End; End;
If TL2 >= 0 Then Begin
TL_SetColor(TL2, BullColor);
TL_SetStyle(TL2, Tool_Solid).TL_SetSize(TL2)を設定する。
TL_SetSize(TL2, 2); TL_SetSize(TL2, 2);
終了
TL3 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date[P1Bar], Time[P1Bar], P1).If TL3 >= 0 Then TL_Settyle(TL2, 2); TL_SetSize(TL2, 2); End; End;
If TL3 >= 0 Then Begin
TL_SetColor(TL3, BullColor);
TL_SetStyle(TL3, Tool_Solid).TL_SetSize(TL3)を設定する。
TL_SetSize(TL3, 2); TL_SetSize(TL3, 2);
終了
TL4 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD);
If TL4 >= 0 Then Begin
TL_SetColor(TL4, BullColor);
TL_SetStyle(TL4, Tool_Solid);
TL_SetSize(TL4, 2);
終了
TL5 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD);
If TL5 >= 0 Then Begin
TL_SetColor(TL5, BullColor);
TL_SetStyle(TL5, Tool_Dotted);
End
TL6 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date, Time, GD);
If TL6 >= 0 Then Begin
TL_SetColor(TL6, BullColor);
TL_SetStyle(TL6, Tool_Dotted);
End
End
End
{弱気222のテスト}。
{ピークXはP2}。
{トラフAはT2}。
{ピークBはP1}。
{トラフCはT1}。
{GDがショートポイント}。
GD = 高値です。
PTValid = T1Bar < P1Bar and P1Bar < T2Bar and T2Bar < P2Bar;
HLValid = T1 > T2 and P1 < P2 and T1 < P1;
InZone = GD > P1 and GD < P2 and T2 <= Lowest(Low, P2Bar);
If PTValid and HLValid and InZone Then Begin
XA = P2 - T2;
AB = P1 - T2;
BC = P1 - T1;
CD = GD - T1;
AD = GD - T2。
ABdXA = AB / XA; {ABはXAの61.8%でなければならない}。
C1 = ABdXA > F1 - Tolerance かつ ABdXA < F1 + Tolerance;
BCdAB = BC / AB; {BCはABの61.8-78.6%であるべきです}。
C2 = BCdAB > F1 - Tolerance かつ BCdAB < F2 + Tolerance;
CDdBC = CD / BC; {CDはBCの127-161.8%でなければならない}。
C3 = CDdBC > F3 - 許容値および CDdBC < F4 + 許容値;
ADdXA = AD / XA; {ADはXAの78.6%でなければならない}。
C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance;
If C1 and C2 and C3 and C4 Then Begin
TL1 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T2Bar], Time[T2Bar], T2).もしTL1 >= 0 ならば、TL_New(Date[P2Bar], Time[P2Bar], P2);
If TL1 >= 0 Then Begin
TL_SetColor(TL1, BearColor);
TL_SetStyle(TL1, Tool_Solid).TL_SetSize(TL1)を設定する。
TL_SetSize(TL1, 2); TL_SetSize(TL1, 2);
終了
TL2 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P1Bar], Time[P1Bar], P1).If TL2 >= 0 Then TL_Settyle(TL1, 2); TL_SetSize(TL1, 2); End; End;
If TL2 >= 0 Then Begin
TL_SetColor(TL2, BearColor);
TL_SetStyle(TL2, Tool_Solid).TL_SetSize(TL2)。
TL_SetSize(TL2, 2); TL_SetSize(TL2, 2);
終了
TL3 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date[T1Bar], Time[T1Bar], T1).If TL3 >= 0 Then TL_Settyle(TL2, 2); TL_SetSize(TL2, 2); End; End;
If TL3 >= 0 Then Begin
TL_SetColor(TL3, BearColor);
TL_SetStyle(TL3, Tool_Solid).TL_SetSize(TL3)を設定する。
TL_SetSize(TL3, 2); TL_SetSize(TL3, 2);
終了
TL4 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD);
If TL4 >= 0 Then Begin
TL_SetColor(TL4, BearColor);
TL_SetStyle(TL4, Tool_Solid).TL_SetSize(TL4)を設定する。
TL_SetSize(TL4, 2);
終了
TL5 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD);
If TL5 >= 0 Then Begin
TL_SetColor(TL5, BearColor);
TL_SetStyle(TL5, Tool_Dotted);
End
TL6 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date, Time, GD);
If TL6 >= 0 Then Begin
TL_SetColor(TL6, BearColor);
TL_SetStyle(TL6, Tool_Dotted);
End
End
End
終了。
2.Wealth-Labのコード。
手順 Gartley222
(
VPFactor: float;
トレランス:float;
ルックバック:integer;
HoldBars: integer;
VolMin: 整数
);
開始
var ATRValue, VP, Reversal: float;
var F1、F2、F3、F4、P1、P2、T1、T2:float;
var Bar, P1Bar, P2Bar, T1Bar, T2Bar, p: integer;
var XA, AB, BC, CD, AD, D, XD, DT, ABdXA, BCdAB, CDdBC, ADdXA: float;
var PTValid, HLValid, InZone, C1, C2, C3, C4: boolean(ブール値);
var BT, BS, ST, SS: float;
{フィボナッチ定数}
F1 := 0.618;
F2 := 0.786;
F3 := 1.27;
F4 := 1.618;
TimeBasedExit(HoldBars)をインストールします。
for Bar := Lookback to BarCount() - 1 do
開始
ApplyAutoStops(Bar);
ATRValue := ATR(Bar, Lookback);
SetShareSize( 1000 * Int( 10 / ATRValue ) );
VP := 100 * ATRValue / PriceClose(Bar);
{ピークと谷を見つける}。
リバーサル := Int(VPFactor * VP);
P1 := Peak(Bar, #High, F1 * Reversal);
P1Bar := PeakBar(Bar, #High, F1 * Reversal); P2 := Peak(P1Bar, #High, F1 * Reversal);
P2 := Peak(P1Bar, #High, Reversal);
P2Bar := PeakBar(P1Bar, #High, Reversal);
T1 := Trough(Bar, #Low, F1 * Reversal);
T1Bar := TroughBar(Bar, #Low, F1 * Reversal);
T2 := Trough(T1Bar, #Low, Reversal);
T2Bar := TroughBar(T1Bar, #Low, Reversal);
{強気222のテスト}。
{トラフXはT2}。
{ピークAはP2}。
{トラフBはT1}。
{ピークCはP1}。
{Dは買いゾーン}。
D := PriceLow(Bar);
PTValid := (P1Bar > T1Bar) かつ (T1Bar > P2Bar) かつ (P2Bar > T2Bar);
HLValid := (P1 T2) and (P1 > T1);
InZone := (D T2);
if (MarketPosition = 0) and
(SMA(Bar, #Volume, Lookback) >= VolMin) かつ
(PTValid) and (HLValid) and (InZone) then
開始
XA := P2 - T2;
AB := P2 - T1;
BC := P1 - T1;
XD := P2 - (F2 * XA);
CD := P1 - XD;
AD := P2 - XD;
ABdXA := AB / XA; {ABはXAの61.8%であるべきです}。
C1 := (ABdXA > F1 - Tolerance) かつ (ABdXA < F1 + Tolerance);
BCdAB := BC / AB; {BCはABの61.8〜78.6%であるべき}。
C2 := (BCdAB > F1 - Tolerance) and (BCdAB < F2 + Tolerance);
CDdBC := CD / BC; {CDはBCの127〜161.8%であるべき}。
C3 := (CDdBC > F3 - Tolerance) and (CDdBC < F4 + Tolerance)です。
ADdXA := AD / XA; {ADはXAの78.6%でなければならない}。
C4 := (ADdXA > F2 - Tolerance) and (ADdXA < F2 + Tolerance)とする。
if C1 and C2 and C3 and C4 then
開始
DrawLine(P2Bar, P2, T2Bar, T2, 0, #Blue, #Solid);
DrawLine(T1Bar, T1, P2Bar, P2, 0, #Blue, #Solid);
DrawLine(P1Bar, P1, T1Bar, T1, 0, #Blue, #Solid);
DrawLine(Bar, D, P1Bar, P1, 0, #Blue, #Solid);
DrawLine(Bar, D, T1Bar, T1, 0, #Blue, #Dotted)(バー、D、T1バー、T1、0、#Blue、#Dotted)。
DrawLine(Bar, D, T2Bar, T2, 0, #Blue, #Dotted);
AnnotateBar('B', Bar, True, #Blue, 10);
BuyAtLimit(Bar, XD, 'G222 LE');
DT := F1 * CD;
BT := XD + DT;
BS := T2;
を終了します。
を終了します。
{弱気222のテスト}。
{ピークXはP2}。
{トラフAはT2}。
{ピークBはP1}。
{トラフCはT1}。
{Dはショートゾーン}。
D := PriceHigh(Bar);
PTValid := (T1Bar > P1Bar) かつ (P1Bar > T2Bar) かつ (T2Bar > P2Bar);
HLValid := (T1 > T2) and (P1 < P2) and (T1 < P1);
InZone := (D > P1) and (D < P2);
if (MarketPosition = 0) and
(PriceClose( Bar ) >= 5) かつ
(SMA(Bar, #Volume, Lookback) >= VolMin)かつ
(PTValid) and (HLValid) and (InZone) then
開始
XA := P2 - T2;
AB := P1 - T2;
BC := P1 - T1;
XD := T2 + (F2 * XA);
CD := XD - T1;
AD := XD - T2;
ABdXA := AB / XA; {ABはXAの61.8%になるようにする}。
C1 := (ABdXA > F1 - Tolerance) かつ (ABdXA < F1 + Tolerance) です。
BCdAB := BC / AB; {BCはABの61.8〜78.6%であるべき}。
C2 := (BCdAB > F1 - Tolerance) and (BCdAB < F2 + Tolerance);
CDdBC := CD / BC; {CDはBCの127〜161.8%であるべき}。
C3 := (CDdBC > F3 - Tolerance) and (CDdBC < F4 + Tolerance)です。
ADdXA := AD / XA; {ADはXAの78.6%でなければならない}。
C4 := (ADdXA > F2 - Tolerance) and (ADdXA < F2 + Tolerance)とする。
if C1 and C2 and C3 and C4 then
開始
DrawLine(T2Bar, T2, P2Bar, P2, 0, #Red, #Solid);
DrawLine(P1Bar, P1, T2Bar, T2, 0, #Red, #Solid);
DrawLine(T1Bar, T1, P1Bar, P1, 0, #Red, #Solid); DrawLine(T1Bar, T1, P1Bar, P1, 0, #Solid);
DrawLine(Bar, D, T1Bar, T1, 0, #Red, #Solid);
DrawLine(Bar, D, P1Bar, P1, 0, #Red, #Dotted)(バー、D、P1Bar、P1、0、#Red、#Dotted);
DrawLine(Bar, D, P2Bar, P2, 0, #Red, #Dotted);
AnnotateBar('S', Bar, False, #Red, 10);
ShortAtLimit(Bar, XD, 'G222 SE');
DT := F1 * CD;
ST := XD - DT;
SS := P2;
を終了します。
end
if LastPositionActive then
開始
if MarketPosition = 1 then begin
SellAtLimit(Bar+1, BT, #All, 'G222 LX+').SellAtStop(Bar+1,BS,#All,G222LX-')。
SellAtStop(Bar+1, BS, #All, 'G222 LX-');
を終了します。
If MarketPosition = -1 then begin
CoverAtLimit(Bar+1, ST, #All, 'G222 LX+').CoverAtLimit(Bar+1、ST、#All、'G22 LX+')。
CoverAtStop(Bar+1, SS, #All, 'G222 LX-');
を終了します。
を終了します。
を終了します。
end
Gartley222(2.0, 0.1, 20, 7, 2000000);
SMCMAとWCMAは何ですか?
誰でもこれらの2つのもののMAとどこで取得し、Meta Trader 4のためにそれらを使用することについて何かを知っている
1.SMCMA
2.WCMA
私が知ることができた唯一のものは、これらはMAのいくつかのタイプであること
(Moving Averages)ですが、どこで手に入れ、どのように使うのでしょうか?
バイバイ
ゼロ_フォレックス
EAで他の通貨ペ アを使う?
Expert Advisorに他の通貨ペアのチャートをチェックさせて、売買の判断材料にする方法をご存知の方はいらっしゃいますか? 例えば、gbp-chfの売買を決定する基準の一部としてusd-chfを見るEAを作るにはどうしたらいいでしょうか? 今のところ気に入っているEAがあるのですが、他の関連ペアもチェックするようにプログラムに書き込めたらもっといいと思うのです。 Codersguruさん、または他にお手伝いいただける方がいらっしゃいましたら、ぜひ教えてください。
ありがとうございました。
皆さん、こんにちは。
プライベートメッセージで、あるコードの一部について助けを求めている人がたくさんいます。
ここでは、MQL4に関連する質問を投稿してください。こんにちは、Coderです。
5分足ごとに1回だけアラートを鳴らすことは可能でしょうか?
条件を満たしたときに一度だけアラートが鳴るようにすることは可能ですか?
その後、オフにします。
その後、次のバーのオープニングでインジケータをリフレッシュし、再び音が鳴るようにします。
その後、0.0005の条件が満たされるまで、再びスイッチを切ります。
そしてまたスイッチを入れる......の繰り返し。
下のインジケータは、トリガーがかかると、1つのバーに何度もアラートを鳴らすことができます。
下記をご覧ください。
//+------------------------------------------------------------------+
//| Juice.mq4
//| Perky_z
//|http://fxovereasy.atspace.com/index
//+------------------------------------------------------------------+
#property copyright "パーキー"
#property link "http://fxovereasy.atspace.com/index"
//---- インジケータの設定
#property indicator_separate_window(インジケータ分離ウィンドウ
#property indicator_buffers 2 (インジケーターバッファー2)
#property indicator_color1 ライムグリーン
#property indicator_color2 ファイヤーブリック
//---- インジケーターのパラメーター
extern bool DoAlerts = false;
extern int AlertFromPips = 5;
extern int Periyod=7;
extern double Level=5;
extern bool JuiceLevelsVisible = true;
extern int JuiceStartPips = 5;
extern int JuiceStepPips = 5;
extern int JuiceLevelsNumber = 4;
extern color JuiceLevelColor = Silver;
//---- インジケーターバッファ
double OsMAUpBuffer[];
double OsMADownBuffer[];
double OsMAValue;
double currentJuiceLevel;
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- カウントのために2つのバッファを追加で使用します。
IndicatorBuffers(2);
//---- 描画の設定
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2)を設定します。
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,1);
SetIndexDrawBegin(0,Level); SetIndexDrawBegin(0,Level);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);
//---- 2つの指標バッファをマッピング
if(!SetIndexBuffer(0,OsMAUpBuffer) &&)
!SetIndexBuffer(1,OsMADownBuffer))。
Print("cannot set indicator buffers!");
//---- データウィンドウとインジケータサブウィンドウのラベルの名前
IndicatorShortName("Juice("+Periyod+", "+Level+")");
//---- 初期化完了
return(0);
}
int SetLevelLines()
{
文字列 levelLabel;
if(JuiceLevelsVisible)
{
SetLevelStyle(STYLE_DASH,1,JuiceLevelColor);
for(int i=1; i<= JuiceLevelsNumber; i++)
{
currentJuiceLevel = (JuiceStartPips + (i-1)*JuiceStepPips)*Point;
SetLevelValue(i,currentJuiceLevel)を設定します。
levelLabel = "レベル "+i+"。"+currentJuiceLevel "です。
SetIndexLabel(i,levelLabel)を設定します。
}
}else
{
for(i=1; i<= JuiceLevelsNumber; i++)
{
SetLevelValue(i,0.0)とする。
}
}
}
//+------------------------------------------------------------------+
//| オシレーターの移動平均
//+------------------------------------------------------------------+
int start()
{
//if ( Period != 15) Alert ("Juice Is Recommended for 15 Min Chart only!!!");
int limit,i;
int counted_bars=IndicatorCounted();
double Juice;
bool TurnOnAlert = true;
//---- エラーの可能性をチェック
if(counted_bars<0) return(-1);
//---- 最後にカウントされたバーが再カウントされる
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
レベル=レベル*ポイント
if (期間()==5 ) Level=Level/2;
SetLevelLines();
//---- メインループ
for(i=0; i<limit; i++)
{
Juice=iStdDev (NULL,0,Periyod,MODE_EMA,0,PRICE_CLOSE,i)-Level.Juice=iStdDev (NULL,0,Periyod,MODE_EMA,0,PRICE_CLOSE,i)-Level;
if(Juice>0){。
OsMAUpBuffer=Juice;
OsMADownBuffer=0;
}else if(Juice<0){。
OsMADownBuffer=Juice。
OsMAUpBuffer=0。
}else{
OsMAUpBuffer=0;
OsMADownBuffer=0。
}
}
if (DoAlerts)
{
if (Juice > AlertFromPips*Point && Period() == 5)
{
if (TurnOnAlert)
{
アラート("Juice above ",AlertFromPips*Point," for ", Symbol()).PlaySound("Tick.wav");。
PlaySound("Tick.wav")。
TurnOnAlert = false;
}
}
さもなければ
{
TurnOnAlert = true。
}
}
//----完了
return(0);
}
//+------------------------------------------------------------------+
皆様のご協力をお願いいたします。
Many Thanks.
リー