コーディングのヘルプ - ページ 248 1...241242243244245246247248249250251252253254255...786 新しいコメント olvus 2014.03.20 06:10 #2471 こんにちは。ThinkorswimのDynamic_Momentum_Indexという インジケーターが素晴らしいです。これをmetatrader4用に書き換えることは可能 でしょうか?もしくは、どなたかMT4用にそのようなインジケータをお持ちではないでしょうか? declare lower;input price = close;input stdevLength = 5;input avgOfStdevLength = 10;input DYMILength = 30;input DYMILengthLowerLimit = 3;input DYMILengthUpperLimit = 30;assert(DYMILengthLowerLimit > 0, "'dymi lengthlower limit' must be positive:" + DYMILengthLowerLimit);assert(DYMILength between DYMILengthLowerLimit and DYMILengthUpperLimit, "'dymi length' must be between lower limit and upper limit:" + DYMILength);def std = stdev(price, stdevLength);def ratio = std / Average(std, avgOfStdevLength);def dynamicLength = Floor(DYMILength / ratio);def limitedLength = if dynamicLength between DYMILengthLowerLimit and DYMILengthUpperLimit then dynamicLength else 0;def sf = 2 / (limitedLength + 1);def bn = Max(barNumber(), 0).Def = 0 / (limitedLength + 1);def sf = 2 / (dynamicLength).Def = 2 / (dynamicLength).Def = 0 / (dynamicLength + 0).Def = 0 / (dynamicLength + 1).Def = 2 / (dynamicLength + 1).Def = 2 / (dynamicLength);# 10^-5 精度の絵馬乗数 def expIndex = if limitedLength == 0 then 1 else max(1, bn - ceil(-5 / lg(1 - sf)));def fromIndex = if isNan(expIndex) then 1 else expIndex.1;def bn = if limitedLength == 0 then 1 else max(1, bn - ceil(1 - sf));def bn = for 10^-5 精密な絵馬乗数。def chg = price - price[1];def absChg = AbsValue(chg);def netChgAvg = fold indexN = fromIndex to bn + 1 with accuN do sf * (if isnan(getValue(chg, bn - indexN) then 0 else getValue(chg, bn - indexN)))+ (1 - sf) * accuN;def totChgAvg = fold indexT = fromIndex to bn + 1 with accuT do sf * (if isnan(getValue(absChg, bn - indexT)) then 0 else getValue(absChg, bn - indexT)).+ (1 - sf) * accuT;def RSI = if totChgAvg != 0 and limitedLength != 0 then 50 * (netChgAvg / totChgAvg + 1) else RSI[1];plot DYMI = RSI;plot OverBought = 90;plot OverSold = 10;DYMI.DefineColor("OverBought", GetColor(5));DYMI.DifineColor("Normal", GetChang); DYMI[1];DYMI[2];DYMI[3];RSI[4];DYMI[6];RSI[7];RSI[8DefineColor("Normal", GetColor(7));DYMI.DefineColor("OverSold", GetColor(1));DYMI.AssignValueColor(if RSI > overbought then DYMI.Color("OverBought") else if RSI =OverBought, "OverBought", Alert.BAR, Sound.ring);Alert (DYMI=OverBought then high*72 else double.DYMI=OverBought, "OverBought", Alert.Bar, Sound.ring)nan;DotDn.setStyle(curve.POINTS);DotDn.setPaintingStrategy(paintingStrategy.arROW_DOWN);DotDn.setLineWeight(3);DotDn.setDefaultColor(color.wHITE);plot DotUp = if DYMI<=OverSold then low*-2 else double.nan;Dotup.setStyle(curve.POINT); DotDn.setStyle(color.wHITE);DotUp = if DYMI<=OverSold then low*-2 else double.nan;DotDn.setLineWeight(3);DotDn.setPaintingStrategy(color.wHITE)POINTS);Dotup.setPaintingStrategy(paintingStrategy.arROW_UP);Dotup.setLineWeight(3);Dotup.setDefaultColor(color.wHITE);alert(Dotup, "Scalper Buy Signal", Alert.BAR, Sound.ring); alert(DotDn, "Scalper Buy Signal", Alert.BAR, Sound.ring).Dotup.setLineWeight(3);DotUp.setStyle(curve.POINT); (dotUp.setPaint.color(arrow_UP))。 ファイル: image_4.jpg 392 kb Coding help Intra Day Trading USD/JPY Analysis Mladen Rakic 2014.03.20 11:13 #2472 olvus: こんにちは、友人。ThinkorswimのDynamic_Momentum_Indexは 素晴らしいインジケータです。これは、メタトレーダー4用に書き換えることが可能 ですか?もしくは、どなたかMT4用のインジケータをお持ちではないでしょうか?declare lower;input price = close;input stdevLength = 5;input avgOfStdevLength = 10;input DYMILength = 30;input DYMILengthLowerLimit = 3;input DYMILengthUpperLimit = 30;assert(DYMILengthLowerLimit > 0, "'ダイミョウバン長下限' はプラスでなければなりません。" + DYMILengthLowerLimit);assert(DYMILength between DYMILengthLowerLimit and DYMILengthUpperLimit, "'dymi length' must be between lower limit and upper limit:" + DYMILength);def std = stdev(price, stdevLength);def ratio = std / Average(std, avgOfStdevLength);def dynamicLength = Floor(DYMILength / ratio);def limitedLength = if dynamicLength between DYMILengthLowerLimit and DYMILengthUpperLimit then dynamicLength else 0;def sf = 2 / (limitedLength + 1);def bn = Max(barNumber(), 0).Def = 0 / 1 (limitedLength + 1).Def sf = 2 / (dynamicLength);Def bn = 0 / 1 (dynamicLength + 0).Def sf = 2 / (dynamicLength - DYMILengthLowerLimit).Def limitedLength - (dynamicLength - Dimension);# 10^-5 精度の絵馬乗数 def expIndex = if limitedLength == 0 then 1 else max(1, bn - ceil(-5 / lg(1 - sf)));def fromIndex = if isNan(expIndex) then 1 else expIndex.1;def bn = if limitedLength == 0 then 1 else max(1, bn - ceil(1 - sf));def bn = for 10^-5 精密な絵馬乗数。def chg = price - price[1];def absChg = AbsValue(chg);def netChgAvg = fold indexN = fromIndex to bn + 1 with accuN do sf * (if isnan(getValue(chg, bn - indexN) then 0 else getValue(chg, bn - indexN)))+ (1 - sf) * accuN;def totChgAvg = fold indexT = fromIndex to bn + 1 with accuT do sf * (if isnan(getValue(absChg, bn - indexT)) then 0 else getValue(absChg, bn - indexT)).+ (1 - sf) * accuT;def RSI = if totChgAvg != 0 and limitedLength != 0 then 50 * (netChgAvg / totChgAvg + 1) else RSI[1];plot DYMI = RSI;plot OverBought = 90;plot OverSold = 10;DYMI.DefineColor("OverBought", GetColor(5));DYMI.DifineColor("Normal", GetChang); DYMI[1];DYMI[2];DYMI[3];RSI[4];DYMI[6];RSI[7];RSI[8DefineColor("Normal", GetColor(7));DYMI.DefineColor("OverSold", GetColor(1));DYMI.AssignValueColor(if RSI > overbought then DYMI.Color("OverBought") else if RSI =OverBought, "OverBought", Alert.BAR, Sound.ring);Alert (DYMI=OverBought then high*72 else double.DYMI=OverBought, "OverBought", Alert.Bar, Sound.ring)nan;DotDn.setStyle(curve.POINTS);DotDn.setPaintingStrategy(paintingStrategy.arROW_DOWN);DotDn.setLineWeight(3);DotDn.setDefaultColor(color.wHITE);plot DotUp = if DYMI<=OverSold then low*-2 else double.nan;Dotup.setStyle(curve.POINT); DotDn.setStyle(color.wHITE);DotUp = if DYMI<=OverSold then low*-2 else double.nan;DotDn.setLineWeight(3);DotDn.setPaintingStrategy(color.wHITE)POINTS);Dotup.setPaintingStrategy(paintingStrategy.arROW_UP);Dotup.setLineWeight(3);Dotup.setDefaultColor(color.wHITE);alert(Dotup, "Scalper Buy Signal", Alert.BAR, Sound.ring);alert(DotDn, "Scalper Buy Signal", Alert.BAR, Sound.ring) のように、プロットします。 olvus この投稿を参照してください :https://www.mql5.com/en/forum/172919/page4.多分それは役立ちます Stefano 2014.03.21 09:56 #2473 こんにちは、mladenさん、お願いがあるのですが、このプログラムをMT4に翻訳することは可能でしょうか? とにかくありがとうございます。 これは他の言語でのプログラムです:// var: domanda(0), offerta(0), var1(0), var2(0), indzona1; // var1= ((H/C[1])-1)*V; // var2= ((L/C[1]-1)*V*(-1)); // var2= (L/C[1]-1)*V*(-1); // domanda= MOV(var1,450,S); // offerta= MOV(var2,450,S)。 // indzona1= CreateWiewport(100); // PlotChart(domanda, indzona1, green, solid, 1); // PlotChart(offerta, indzona1, red, solid, 1); これはMT4言語用の私の作品ですが、最新のアップデート後、もう動作 しません。 #プロパティ indicator_separate_window #property indicator_buffers 2 (インジケーターバッファー2) #property indicator_color1 グリーン #property indicator_color2 レッド #property indicator_width1 1 #プロパティ indicator_width2 1 extern int periodo=128; double DOMANDA[]; double OFFERTA[]; //+------------------------------------------------------------------+ //| カスタムインジケータ 初期化関数 //+------------------------------------------------------------------+ int init() { IndicatorDigits(6); IndicatorBuffers(2); SetIndexBuffer(0,DOMANDA)を設定します。 SetIndexBuffer(1,OFFERTA)。 return(0); } //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| カスタムインジケーターイテレーション関数 //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit = Bars - counted_bars; double var_dom[10000]; double var_off[10000]; ArraySetAsSeries(var_dom,true); ArraySetAsSeries(var_off,true)。 for(int i=0; i<limit; i++) { var_dom = ((高値/終値)-1)*ボリューム; var_off = ((Low/Close)-1)*Volume*(-1)。 DOMANDA = iMAOnArray(var_dom,0,periodo,0,MODE_SMA,i); OFFERTA = iMAOnArray(var_off,0,periodo,0,MODE_SMA,i); } return(0); }//+------------------------------------------------------------------+ Coding help [ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you トレンド指標 Mladen Rakic 2014.03.21 10:04 #2474 Stephan73:こんにちは、mladenさん、お願いがあるのですが、このプログラムをMT4用に翻訳して いただくことは可能でしょうか?とにかくありがとうございました。 これは他の言語でのプログラムです:// var: domanda(0), offerta(0), var1(0), var2(0), indzona1; // var1= ((H/C[1])-1)*V; // var2= ((L/C[1]-1)*V*(-1)); // var2= (L/C[1]-1)*V*(-1); // domanda= MOV(var1,450,S); // offerta= MOV(var2,450,S)。 // indzona1= CreateWiewport(100); // PlotChart(domanda, indzona1, green, solid, 1); // PlotChart(offerta, indzona1, red, solid, 1); これはMT4言語用の私の作品ですが、最新のアップデート後、もう動作 しません。 #プロパティ indicator_separate_window #property indicator_buffers 2 (インジケーターバッファー2) #property indicator_color1 グリーン #property indicator_color2 レッド #property indicator_width1 1 #プロパティ indicator_width2 1 extern int periodo=128; double DOMANDA[]; double OFFERTA[]; //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { IndicatorDigits(6); IndicatorBuffers(2); SetIndexBuffer(0,DOMANDA)を設定します。 SetIndexBuffer(1,OFFERTA)。 return(0); } //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| カスタムインジケーターイテレーション関数 //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit = Bars - counted_bars; double var_dom[10000]; double var_off[10000]; ArraySetAsSeries(var_dom,true); ArraySetAsSeries(var_off,true)。 for(int i=0; i<limit; i++) { var_dom = ((高値/終値)-1)*ボリューム; var_off = ((Low/Close)-1)*Volume*(-1)。 DOMANDA = iMAOnArray(var_dom,0,periodo,0,MODE_SMA,i); OFFERTA = iMAOnArray(var_off,0,periodo,0,MODE_SMA,i); } return(0); }//+------------------------------------------------------------------+ ステファン はい、どうぞ。 ファイル: _stephan.mq4 2 kb stephan.gif 61 kb Stefano 2014.03.21 10:53 #2475 mladen: Stephan はい、どうぞ。 イエース、パーフェクト!!!! 本当にありがとうございました。 olvus 2014.03.21 11:26 #2476 mladenさん、thinkorswimのインジケータをメタトレーダー4のインジケータ(2474投稿)に書き換えることは可能でしょうか? hermes 2014.03.21 12:10 #2477 皆さん、こんにちは。 私はすべての市場注文をループし、lastTicket()を使用して最後のものを選択する関数を持って いるとします。 私はプログラムの他の関数でotの値を使用できるようにotの値を取得するにはどうすればよいですか? void checko() { if (ot>presetdatetime) { closeorder(); } } Mladen Rakic 2014.03.21 12:30 #2478 hermes: みなさん、こんにちは。例えば、すべての成行注文をループし、lastTicket()を使用して最後の1つを選択する関数があるとします。 void checko() { if (ot>presetdatetime) { closeorder(); } } エルメス 質問:最後の順序のチケットは、最大(通常は新しい順序である)または最小(通常は古い順序である)を意味するのでしょうか? hermes 2014.03.21 15:56 #2479 mladen: hermes A question : last order ticketというのは、最大のもの(通常は最新のもの)、最小のもの(通常は最も古いもの)のどちらを指すのでしょうか? Mladen Rakic 2014.03.21 16:25 #2480 hermes: Mladenさん、ありがとうございます。 であれば、このような関数を 使用することができます。 void deleteGreatestTicketOrder(datetime timeLimit) { int largestTicketNo = -1; for (int i=OrdersTotal()-1; i>=0; i--) { if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue; largestTicketNo = MathMax(largestTicketNo,OrderTicket()); } // // // // // if (largestTicketNo>-1 ) { if (OrderSelect(largestTicketNo,SELECT_BY_TICKET,MODE_TRADES)) if (OrderOpenTime()>timeLimit) OrderDelete(largestTicketNo); } } 追記: 記号やマジックナンバーの違いには関係ありません。もし、それらもチェックする必要があるのなら、上記の関数にいくつかのコードを追加する必要があります。 Coding help [ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. Determine Order Status 1...241242243244245246247248249250251252253254255...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは。ThinkorswimのDynamic_Momentum_Indexという インジケーターが素晴らしいです。これをmetatrader4用に書き換えることは可能 でしょうか?もしくは、どなたかMT4用にそのようなインジケータをお持ちではないでしょうか?
declare lower;input price = close;input stdevLength = 5;input avgOfStdevLength = 10;input DYMILength = 30;input DYMILengthLowerLimit = 3;input DYMILengthUpperLimit = 30;assert(DYMILengthLowerLimit > 0, "'dymi lengthlower limit' must be positive:" + DYMILengthLowerLimit);assert(DYMILength between DYMILengthLowerLimit and DYMILengthUpperLimit, "'dymi length' must be between lower limit and upper limit:" + DYMILength);def std = stdev(price, stdevLength);def ratio = std / Average(std, avgOfStdevLength);def dynamicLength = Floor(DYMILength / ratio);def limitedLength = if dynamicLength between DYMILengthLowerLimit and DYMILengthUpperLimit then dynamicLength else 0;def sf = 2 / (limitedLength + 1);def bn = Max(barNumber(), 0).Def = 0 / (limitedLength + 1);def sf = 2 / (dynamicLength).Def = 2 / (dynamicLength).Def = 0 / (dynamicLength + 0).Def = 0 / (dynamicLength + 1).Def = 2 / (dynamicLength + 1).Def = 2 / (dynamicLength);# 10^-5 精度の絵馬乗数 def expIndex = if limitedLength == 0 then 1 else max(1, bn - ceil(-5 / lg(1 - sf)));def fromIndex = if isNan(expIndex) then 1 else expIndex.1;def bn = if limitedLength == 0 then 1 else max(1, bn - ceil(1 - sf));def bn = for 10^-5 精密な絵馬乗数。def chg = price - price[1];def absChg = AbsValue(chg);def netChgAvg = fold indexN = fromIndex to bn + 1 with accuN do sf * (if isnan(getValue(chg, bn - indexN) then 0 else getValue(chg, bn - indexN)))+ (1 - sf) * accuN;def totChgAvg = fold indexT = fromIndex to bn + 1 with accuT do sf * (if isnan(getValue(absChg, bn - indexT)) then 0 else getValue(absChg, bn - indexT)).+ (1 - sf) * accuT;def RSI = if totChgAvg != 0 and limitedLength != 0 then 50 * (netChgAvg / totChgAvg + 1) else RSI[1];plot DYMI = RSI;plot OverBought = 90;plot OverSold = 10;DYMI.DefineColor("OverBought", GetColor(5));DYMI.DifineColor("Normal", GetChang); DYMI[1];DYMI[2];DYMI[3];RSI[4];DYMI[6];RSI[7];RSI[8DefineColor("Normal", GetColor(7));DYMI.DefineColor("OverSold", GetColor(1));DYMI.AssignValueColor(if RSI > overbought then DYMI.Color("OverBought") else if RSI =OverBought, "OverBought", Alert.BAR, Sound.ring);Alert (DYMI=OverBought then high*72 else double.DYMI=OverBought, "OverBought", Alert.Bar, Sound.ring)nan;DotDn.setStyle(curve.POINTS);DotDn.setPaintingStrategy(paintingStrategy.arROW_DOWN);DotDn.setLineWeight(3);DotDn.setDefaultColor(color.wHITE);plot DotUp = if DYMI<=OverSold then low*-2 else double.nan;Dotup.setStyle(curve.POINT); DotDn.setStyle(color.wHITE);DotUp = if DYMI<=OverSold then low*-2 else double.nan;DotDn.setLineWeight(3);DotDn.setPaintingStrategy(color.wHITE)POINTS);Dotup.setPaintingStrategy(paintingStrategy.arROW_UP);Dotup.setLineWeight(3);Dotup.setDefaultColor(color.wHITE);alert(Dotup, "Scalper Buy Signal", Alert.BAR, Sound.ring); alert(DotDn, "Scalper Buy Signal", Alert.BAR, Sound.ring).Dotup.setLineWeight(3);DotUp.setStyle(curve.POINT); (dotUp.setPaint.color(arrow_UP))。
こんにちは、友人。ThinkorswimのDynamic_Momentum_Indexは 素晴らしいインジケータです。これは、メタトレーダー4用に書き換えることが可能 ですか?もしくは、どなたかMT4用のインジケータをお持ちではないでしょうか?
declare lower;input price = close;input stdevLength = 5;input avgOfStdevLength = 10;input DYMILength = 30;input DYMILengthLowerLimit = 3;input DYMILengthUpperLimit = 30;assert(DYMILengthLowerLimit > 0, "'ダイミョウバン長下限' はプラスでなければなりません。" + DYMILengthLowerLimit);assert(DYMILength between DYMILengthLowerLimit and DYMILengthUpperLimit, "'dymi length' must be between lower limit and upper limit:" + DYMILength);def std = stdev(price, stdevLength);def ratio = std / Average(std, avgOfStdevLength);def dynamicLength = Floor(DYMILength / ratio);def limitedLength = if dynamicLength between DYMILengthLowerLimit and DYMILengthUpperLimit then dynamicLength else 0;def sf = 2 / (limitedLength + 1);def bn = Max(barNumber(), 0).Def = 0 / 1 (limitedLength + 1).Def sf = 2 / (dynamicLength);Def bn = 0 / 1 (dynamicLength + 0).Def sf = 2 / (dynamicLength - DYMILengthLowerLimit).Def limitedLength - (dynamicLength - Dimension);# 10^-5 精度の絵馬乗数 def expIndex = if limitedLength == 0 then 1 else max(1, bn - ceil(-5 / lg(1 - sf)));def fromIndex = if isNan(expIndex) then 1 else expIndex.1;def bn = if limitedLength == 0 then 1 else max(1, bn - ceil(1 - sf));def bn = for 10^-5 精密な絵馬乗数。def chg = price - price[1];def absChg = AbsValue(chg);def netChgAvg = fold indexN = fromIndex to bn + 1 with accuN do sf * (if isnan(getValue(chg, bn - indexN) then 0 else getValue(chg, bn - indexN)))+ (1 - sf) * accuN;def totChgAvg = fold indexT = fromIndex to bn + 1 with accuT do sf * (if isnan(getValue(absChg, bn - indexT)) then 0 else getValue(absChg, bn - indexT)).+ (1 - sf) * accuT;def RSI = if totChgAvg != 0 and limitedLength != 0 then 50 * (netChgAvg / totChgAvg + 1) else RSI[1];plot DYMI = RSI;plot OverBought = 90;plot OverSold = 10;DYMI.DefineColor("OverBought", GetColor(5));DYMI.DifineColor("Normal", GetChang); DYMI[1];DYMI[2];DYMI[3];RSI[4];DYMI[6];RSI[7];RSI[8DefineColor("Normal", GetColor(7));DYMI.DefineColor("OverSold", GetColor(1));DYMI.AssignValueColor(if RSI > overbought then DYMI.Color("OverBought") else if RSI =OverBought, "OverBought", Alert.BAR, Sound.ring);Alert (DYMI=OverBought then high*72 else double.DYMI=OverBought, "OverBought", Alert.Bar, Sound.ring)nan;DotDn.setStyle(curve.POINTS);DotDn.setPaintingStrategy(paintingStrategy.arROW_DOWN);DotDn.setLineWeight(3);DotDn.setDefaultColor(color.wHITE);plot DotUp = if DYMI<=OverSold then low*-2 else double.nan;Dotup.setStyle(curve.POINT); DotDn.setStyle(color.wHITE);DotUp = if DYMI<=OverSold then low*-2 else double.nan;DotDn.setLineWeight(3);DotDn.setPaintingStrategy(color.wHITE)POINTS);Dotup.setPaintingStrategy(paintingStrategy.arROW_UP);Dotup.setLineWeight(3);Dotup.setDefaultColor(color.wHITE);alert(Dotup, "Scalper Buy Signal", Alert.BAR, Sound.ring);alert(DotDn, "Scalper Buy Signal", Alert.BAR, Sound.ring) のように、プロットします。
olvus
この投稿を参照してください :https://www.mql5.com/en/forum/172919/page4.多分それは役立ちます
こんにちは、mladenさん、お願いがあるのですが、このプログラムをMT4に翻訳することは可能でしょうか?
とにかくありがとうございます。
これは他の言語でのプログラムです:// var: domanda(0), offerta(0), var1(0), var2(0), indzona1;
// var1= ((H/C[1])-1)*V;
// var2= ((L/C[1]-1)*V*(-1)); // var2= (L/C[1]-1)*V*(-1);
// domanda= MOV(var1,450,S);
// offerta= MOV(var2,450,S)。
// indzona1= CreateWiewport(100);
// PlotChart(domanda, indzona1, green, solid, 1);
// PlotChart(offerta, indzona1, red, solid, 1); これはMT4言語用の私の作品ですが、最新のアップデート後、もう動作 しません。
#プロパティ indicator_separate_window
#property indicator_buffers 2 (インジケーターバッファー2)
#property indicator_color1 グリーン
#property indicator_color2 レッド
#property indicator_width1 1
#プロパティ indicator_width2 1
extern int periodo=128;
double DOMANDA[];
double OFFERTA[];
//+------------------------------------------------------------------+
//| カスタムインジケータ 初期化関数
//+------------------------------------------------------------------+
int init()
{
IndicatorDigits(6);
IndicatorBuffers(2);
SetIndexBuffer(0,DOMANDA)を設定します。
SetIndexBuffer(1,OFFERTA)。
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケーターイテレーション関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit = Bars - counted_bars;
double var_dom[10000];
double var_off[10000];
ArraySetAsSeries(var_dom,true);
ArraySetAsSeries(var_off,true)。
for(int i=0; i<limit; i++)
{
var_dom = ((高値/終値)-1)*ボリューム;
var_off = ((Low/Close)-1)*Volume*(-1)。
DOMANDA = iMAOnArray(var_dom,0,periodo,0,MODE_SMA,i);
OFFERTA = iMAOnArray(var_off,0,periodo,0,MODE_SMA,i);
}
return(0);
}//+------------------------------------------------------------------+
こんにちは、mladenさん、お願いがあるのですが、このプログラムをMT4用に翻訳して いただくことは可能でしょうか?
とにかくありがとうございました。
これは他の言語でのプログラムです:// var: domanda(0), offerta(0), var1(0), var2(0), indzona1;
// var1= ((H/C[1])-1)*V;
// var2= ((L/C[1]-1)*V*(-1)); // var2= (L/C[1]-1)*V*(-1);
// domanda= MOV(var1,450,S);
// offerta= MOV(var2,450,S)。
// indzona1= CreateWiewport(100);
// PlotChart(domanda, indzona1, green, solid, 1);
// PlotChart(offerta, indzona1, red, solid, 1); これはMT4言語用の私の作品ですが、最新のアップデート後、もう動作 しません。
#プロパティ indicator_separate_window
#property indicator_buffers 2 (インジケーターバッファー2)
#property indicator_color1 グリーン
#property indicator_color2 レッド
#property indicator_width1 1
#プロパティ indicator_width2 1
extern int periodo=128;
double DOMANDA[];
double OFFERTA[];
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
IndicatorDigits(6);
IndicatorBuffers(2);
SetIndexBuffer(0,DOMANDA)を設定します。
SetIndexBuffer(1,OFFERTA)。
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| カスタムインジケーターイテレーション関数
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit = Bars - counted_bars;
double var_dom[10000];
double var_off[10000];
ArraySetAsSeries(var_dom,true);
ArraySetAsSeries(var_off,true)。
for(int i=0; i<limit; i++)
{
var_dom = ((高値/終値)-1)*ボリューム;
var_off = ((Low/Close)-1)*Volume*(-1)。
DOMANDA = iMAOnArray(var_dom,0,periodo,0,MODE_SMA,i);
OFFERTA = iMAOnArray(var_off,0,periodo,0,MODE_SMA,i);
}
return(0);
}//+------------------------------------------------------------------+ステファン
はい、どうぞ。
Stephan はい、どうぞ。
イエース、パーフェクト!!!!
本当にありがとうございました。
mladenさん、thinkorswimのインジケータをメタトレーダー4のインジケータ(2474投稿)に書き換えることは可能でしょうか?
皆さん、こんにちは。
私はすべての市場注文をループし、lastTicket()を使用して最後のものを選択する関数を持って いるとします。 私はプログラムの他の関数でotの値を使用できるようにotの値を取得するにはどうすればよいですか?
void checko()
{
if (ot>presetdatetime)
{
closeorder();
}
}
みなさん、こんにちは。
例えば、すべての成行注文をループし、lastTicket()を使用して最後の1つを選択する関数があるとします。
void checko()
{
if (ot>presetdatetime)
{
closeorder();
}
}エルメス
質問:最後の順序のチケットは、最大(通常は新しい順序である)または最小(通常は古い順序である)を意味するのでしょうか?
hermes A question : last order ticketというのは、最大のもの(通常は最新のもの)、最小のもの(通常は最も古いもの)のどちらを指すのでしょうか?
Mladenさん、ありがとうございます。
であれば、このような関数を 使用することができます。
{
int largestTicketNo = -1;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
largestTicketNo = MathMax(largestTicketNo,OrderTicket());
}
//
//
//
//
//
if (largestTicketNo>-1 )
{
if (OrderSelect(largestTicketNo,SELECT_BY_TICKET,MODE_TRADES))
if (OrderOpenTime()>timeLimit)
OrderDelete(largestTicketNo);
}
}追記: 記号やマジックナンバーの違いには関係ありません。もし、それらもチェックする必要があるのなら、上記の関数にいくつかのコードを追加する必要があります。