コーディングのヘルプ - ページ 25 1...181920212223242526272829303132...786 新しいコメント umutetiker 2012.03.21 14:51 #241 助けてください... 助けてください.... 平均的な赤い線の移動、傾き方向は線の下。 移動平均線(青線)、赤線の下に移動平均線がある。 価格 "傾斜方向 ライン "カットタイム すべて同時に行われます。アラームを鳴らす INDma_crossover_lines.ex4ma_crossover_lines.mq4 スロープ方向ライン.ex4CATOR ヘルプをお願いします -- をクリックします。 ファイル: ma_crossover_lines.ex4 3 kb ma_crossover_lines.mq4 4 kb slope_direction_line.ex4 5 kb Stephen Wilson 2012.03.26 23:24 #242 日次、週次、月次のゲイン機能 必須 コーディングで困っています。日次のクローズドゲイン、週次のクローズドゲイン、月次のクローズドゲインを表示するインジケータを作成しようとしています。 これらの期間から利益を計算する関数をお持ちの方はいらっしゃいませんか? 例えば 今日のクローズ:5.3 週足のクローズド:13.7 月間クローズド41.3% 年クローズド79.5% 必要なことはなんとなくわかっているのですが、うまくいかず困っています。もし、どなたかこのような機能をお持ちの方がいらっしゃいましたら、教えていただけませんか? Mladen Rakic 2012.03.27 04:31 #243 これを基本として使ってみてください。 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ // // // // show statistics // // // double stat[18]; #define stat.OTodayBuy 0 #define stat.OTodaySell 1 #define stat.OTodayTotal 2 #define stat.OTodayBuyPips 3 #define stat.OTodaySellPips 4 #define stat.OTodayTotalPips 5 #define stat.TodayBuy 6 #define stat.TodaySell 7 #define stat.TodayTotal 8 #define stat.TodayBuyPips 9 #define stat.TodaySellPips 10 #define stat.TodayTotalPips 11 #define stat.TotalBuy 12 #define stat.TotalSell 13 #define stat.TotalTotal 14 #define stat.TotalBuyPips 15 #define stat.TotalSellPips 16 #define stat.TotalTotalPips 17 // // // // // void stat.colect() { int pointRatio = MathPow(10,Digits%2); int pipMultiplier = MathPow(10,Digits); double temp; // // // // // ArrayInitialize(stat,0); for(int i = 0; i < OrdersTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break; if(OrderMagicNumber() != MagicNumber) continue; if(OrderSymbol() != Symbol()) continue; if(OrderType()==OP_BUY || OrderType()==OP_SELL) { double tempa = OrderProfit()+OrderSwap(); double tempp = 0; if (OrderType()==OP_BUY) { tempp = (Bid-OrderOpenPrice())*pipMultiplier/pointRatio; stat[stat.OTodayBuy] += tempa; stat[stat.OTodayBuyPips] += tempp; } else { tempp = (OrderOpenPrice()-Ask)*pipMultiplier/pointRatio; stat[stat.OTodaySell] += tempa; stat[stat.OTodaySellPips] += tempp; } } stat[stat.OTodayTotal] += tempa; stat[stat.OTodayTotalPips] += tempp; } // // // // now check the history // // // datetime startTime = StrToTime(StringSubstr(TimeToStr(TimeCurrent()),0,10)+" 00:00"); datetime endTime = StrToTime(StringSubstr(TimeToStr(TimeCurrent()),0,10)+" 24:00"); // // // // // for(i = 0; i < OrdersHistoryTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == false) break; if(OrderMagicNumber() != MagicNumber) continue; if(OrderSymbol() != Symbol()) continue; // // // // // bool isOutOfToday = (OrderCloseTime()endTime); if(OrderType()==OP_BUY || OrderType()==OP_SELL) { tempa = OrderProfit()+OrderSwap(); tempp = 0; if (OrderType()==OP_BUY) { tempp = (OrderClosePrice()-OrderOpenPrice())*pipMultiplier/pointRatio; stat[stat.TotalBuy] += tempa; stat[stat.TotalBuyPips] += tempp; if (!isOutOfToday) { stat[stat.TodayBuy] += tempa; stat[stat.TodayBuyPips] += tempp; } } else { tempp = (OrderOpenPrice()-OrderClosePrice())*pipMultiplier/pointRatio; stat[stat.TotalSell] += tempa; stat[stat.TotalSellPips] += tempp; if (!isOutOfToday) { stat[stat.TodaySell] += tempa; stat[stat.TodaySellPips] += tempp; } } // // // // // if (!isOutOfToday) { stat[stat.TodayTotal] += tempa; stat[stat.TodayTotalPips] += tempp; } stat[stat.TotalTotal] += tempa; stat[stat.TotalTotalPips] += tempp; } } } void showStatistics() { if (!showStatistics) return; // // // // // stat.colect(); createLabel( 1,"opened buy profit" ,stat[stat.OTodayBuy] , 10); createLabel( 2,"opened buy profit (pips)" ,stat[stat.OTodayBuyPips] , 20,0); createLabel( 3,"opened sell profit" ,stat[stat.OTodaySell] , 30); createLabel( 4,"opened sell profit (pips)",stat[stat.OTodaySellPips] , 40,0); createLabel( 5,"opened profit" ,stat[stat.OTodayTotal] , 50); createLabel( 6,"opened profit (pips)" ,stat[stat.OTodayTotalPips], 60,0); createLabel( 7,"daily buy profit" ,stat[stat.TodayBuy] , 80); createLabel( 8,"daily buy profit (pips)" ,stat[stat.TodayBuyPips] , 90,0); createLabel( 9,"daily sell profit" ,stat[stat.TodaySell] ,100); createLabel(10,"daily sell profit (pips)" ,stat[stat.TodaySellPips] ,110,0); createLabel(11,"daily profit" ,stat[stat.TodayTotal] ,120); createLabel(12,"daily profit (pips)" ,stat[stat.TodayTotalPips] ,130,0); createLabel(13,"total buy profit" ,stat[stat.TotalBuy] ,150); createLabel(14,"total buy profit (pips)" ,stat[stat.TotalBuyPips] ,160,0); createLabel(15,"total sell profit" ,stat[stat.TotalSell] ,170); createLabel(16,"total sell profit (pips)" ,stat[stat.TotalSellPips] ,180,0); createLabel(17,"total profit" ,stat[stat.TotalTotal] ,190); createLabel(18,"total profit (pips)" ,stat[stat.TotalTotalPips] ,200,0); WindowRedraw(); } // // // // // void createLabel(string lname, string text, double value,int ypos,int decimals=2) { string name = "stat."+lname; if (ObjectFind(name) == -1) { ObjectCreate(name,OBJ_LABEL,0,0,0); ObjectSet(name,OBJPROP_CORNER ,0); ObjectSet(name,OBJPROP_XDISTANCE,5); ObjectSet(name,OBJPROP_YDISTANCE,ypos+5); } ObjectSetText(name,text,9,"Arial",Gray); // // // // // name = name+"value"; if (ObjectFind(name) == -1) { ObjectCreate(name,OBJ_LABEL,0,0,0); ObjectSet(name,OBJPROP_CORNER ,0); ObjectSet(name,OBJPROP_XDISTANCE,145); ObjectSet(name,OBJPROP_YDISTANCE,ypos+5); } color theColor = DimGray; if (value < 0) theColor = Orange; if (value > 0) theColor = Lime; ObjectSetText(name,DoubleToStr(value,decimals),9,"Arial",theColor); } この1枚でオープン、デイリー、トータルのスタッツがカバーされています。週足や月足を追加することはそれほど難しいことではありません(日足データ収集のロジックに従うだけです)。 sbwent: コーディングで困っています。日次のクローズドゲイン、週次のクローズドゲイン、月次のクローズドゲインを表示するインジケータを作成しようとしています。これらの期間から利益を計算する関数をお持ちの方はいらっしゃいますか? 例えば 今日のクローズ:5.3 週間クローズド:13.7 月クローズド41.3% 年クローズド79.5% 必要なことはなんとなくわかっているのですが、うまくいかず困っています。もし、これを実現する機能をお持ちの方がいらっしゃいましたら、ご教授いただけないでしょうか? Coding help アスク! クローズドオーダーの利益計算 "HELP" Stephen Wilson 2012.03.27 07:58 #244 Thanx, I will give it a try mladen: これをベースにしてみてください。 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ // // // // show statistics // // // double stat[18]; #define stat.OTodayBuy 0 #define stat.OTodaySell 1 #define stat.OTodayTotal 2 #define stat.OTodayBuyPips 3 #define stat.OTodaySellPips 4 #define stat.OTodayTotalPips 5 #define stat.TodayBuy 6 #define stat.TodaySell 7 #define stat.TodayTotal 8 #define stat.TodayBuyPips 9 #define stat.TodaySellPips 10 #define stat.TodayTotalPips 11 #define stat.TotalBuy 12 #define stat.TotalSell 13 #define stat.TotalTotal 14 #define stat.TotalBuyPips 15 #define stat.TotalSellPips 16 #define stat.TotalTotalPips 17 // // // // // void stat.colect() { int pointRatio = MathPow(10,Digits%2); int pipMultiplier = MathPow(10,Digits); double temp; // // // // // ArrayInitialize(stat,0); for(int i = 0; i < OrdersTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) break; if(OrderMagicNumber() != MagicNumber) continue; if(OrderSymbol() != Symbol()) continue; if(OrderType()==OP_BUY || OrderType()==OP_SELL) { double tempa = OrderProfit()+OrderSwap(); double tempp = 0; if (OrderType()==OP_BUY) { tempp = (Bid-OrderOpenPrice())*pipMultiplier/pointRatio; stat[stat.OTodayBuy] += tempa; stat[stat.OTodayBuyPips] += tempp; } else { tempp = (OrderOpenPrice()-Ask)*pipMultiplier/pointRatio; stat[stat.OTodaySell] += tempa; stat[stat.OTodaySellPips] += tempp; } } stat[stat.OTodayTotal] += tempa; stat[stat.OTodayTotalPips] += tempp; } // // // // now check the history // // // datetime startTime = StrToTime(StringSubstr(TimeToStr(TimeCurrent()),0,10)+" 00:00"); datetime endTime = StrToTime(StringSubstr(TimeToStr(TimeCurrent()),0,10)+" 24:00"); // // // // // for(i = 0; i < OrdersHistoryTotal(); i++) { if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == false) break; if(OrderMagicNumber() != MagicNumber) continue; if(OrderSymbol() != Symbol()) continue; // // // // // bool isOutOfToday = (OrderCloseTime()endTime); if(OrderType()==OP_BUY || OrderType()==OP_SELL) { tempa = OrderProfit()+OrderSwap(); tempp = 0; if (OrderType()==OP_BUY) { tempp = (OrderClosePrice()-OrderOpenPrice())*pipMultiplier/pointRatio; stat[stat.TotalBuy] += tempa; stat[stat.TotalBuyPips] += tempp; if (!isOutOfToday) { stat[stat.TodayBuy] += tempa; stat[stat.TodayBuyPips] += tempp; } } else { tempp = (OrderOpenPrice()-OrderClosePrice())*pipMultiplier/pointRatio; stat[stat.TotalSell] += tempa; stat[stat.TotalSellPips] += tempp; if (!isOutOfToday) { stat[stat.TodaySell] += tempa; stat[stat.TodaySellPips] += tempp; } } // // // // // if (!isOutOfToday) { stat[stat.TodayTotal] += tempa; stat[stat.TodayTotalPips] += tempp; } stat[stat.TotalTotal] += tempa; stat[stat.TotalTotalPips] += tempp; } } } void showStatistics() { if (!showStatistics) return; // // // // // stat.colect(); createLabel( 1,"opened buy profit" ,stat[stat.OTodayBuy] , 10); createLabel( 2,"opened buy profit (pips)" ,stat[stat.OTodayBuyPips] , 20,0); createLabel( 3,"opened sell profit" ,stat[stat.OTodaySell] , 30); createLabel( 4,"opened sell profit (pips)",stat[stat.OTodaySellPips] , 40,0); createLabel( 5,"opened profit" ,stat[stat.OTodayTotal] , 50); createLabel( 6,"opened profit (pips)" ,stat[stat.OTodayTotalPips], 60,0); createLabel( 7,"daily buy profit" ,stat[stat.TodayBuy] , 80); createLabel( 8,"daily buy profit (pips)" ,stat[stat.TodayBuyPips] , 90,0); createLabel( 9,"daily sell profit" ,stat[stat.TodaySell] ,100); createLabel(10,"daily sell profit (pips)" ,stat[stat.TodaySellPips] ,110,0); createLabel(11,"daily profit" ,stat[stat.TodayTotal] ,120); createLabel(12,"daily profit (pips)" ,stat[stat.TodayTotalPips] ,130,0); createLabel(13,"total buy profit" ,stat[stat.TotalBuy] ,150); createLabel(14,"total buy profit (pips)" ,stat[stat.TotalBuyPips] ,160,0); createLabel(15,"total sell profit" ,stat[stat.TotalSell] ,170); createLabel(16,"total sell profit (pips)" ,stat[stat.TotalSellPips] ,180,0); createLabel(17,"total profit" ,stat[stat.TotalTotal] ,190); createLabel(18,"total profit (pips)" ,stat[stat.TotalTotalPips] ,200,0); WindowRedraw(); } // // // // // void createLabel(string lname, string text, double value,int ypos,int decimals=2) { string name = "stat."+lname; if (ObjectFind(name) == -1) { ObjectCreate(name,OBJ_LABEL,0,0,0); ObjectSet(name,OBJPROP_CORNER ,0); ObjectSet(name,OBJPROP_XDISTANCE,5); ObjectSet(name,OBJPROP_YDISTANCE,ypos+5); } ObjectSetText(name,text,9,"Arial",Gray); // // // // // name = name+"value"; if (ObjectFind(name) == -1) { ObjectCreate(name,OBJ_LABEL,0,0,0); ObjectSet(name,OBJPROP_CORNER ,0); ObjectSet(name,OBJPROP_XDISTANCE,145); ObjectSet(name,OBJPROP_YDISTANCE,ypos+5); } color theColor = DimGray; if (value < 0) theColor = Orange; if (value > 0) theColor = Lime; ObjectSetText(name,DoubleToStr(value,decimals),9,"Arial",theColor); } あなたは、オープン、毎日、合計の統計は、この1つでカバーされています。週次、月次を追加するのはそれほど難しくないでしょう(日次データ収集のロジックに従うだけです) ありがとうございます、助かりました。これを元に何とかしてみます。 altoronto 2012.04.02 01:49 #245 Mtf cci hook 私はMTF機能を追加しましたが、私は水平に整列したドットを見たいのですが、私はそれを管理することはできません...または高いTFの閉じたバーから1つのドットだけ。 よろしくお願いします。 ccihookmtf.mq4 ファイル: ccihookmtf.mq4 3 kb Mladen Rakic 2012.04.02 02:48 #246 ... このようなものを試してみてください。こちらは対象時間帯のドットを全て水平に並べて表示します。 altoronto: どなたか、添付のCCIフックインジケータを見て、助けていただけませんか。MTF機能を追加したのですが、ドットを水平に並べて表示したいのですが、うまくいきません。ありがとうございました。 ccihookmtf.mq4 ファイル: ccihookmtf_1.mq4 3 kb altoronto 2012.04.02 11:34 #247 mladen: こんな感じでやってみてください。これは対象時間帯のドットを全て水平に並べて表示しています。 Mladenさん、ありがとうございます。 Mladen Rakic 2012.04.02 13:15 #248 ... もし、ターゲットタイムフレームバー(この場合、ターゲットタイムフレームバーに属する最初のバー)ごとに1つのドットに制限したい場合は、このバージョンで行われたようなことができます(例では、15分チャートに1時間のcci hookです - 選択できるようにインディケータにオプションが追加されています)。 altoronto: Mladenさん、ありがとうございました。 ファイル: ccihookmtf_2.mq4 3 kb cci_hk.gif 28 kb Deorn 2012.04.10 12:10 #249 こんにちは、皆さん 次のバーの時刻を知るにはどうしたらいいですか? 私は試してみました datetime Time[-1]; これは動作しませんでした 挨拶 Mladen Rakic 2012.04.10 12:14 #250 未来のバーの時間 .... こんな感じでやってみてください。 datetime futureBarTime = Time[0]+Period()*60; Deorn: こんにちは、皆さん次のバーの時間を知るにはどうしたらいいですか? 試してみた datetime Time[-1]; これは動作しませんでした ご挨拶 1...181920212223242526272829303132...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
助けてください...
助けてください....
平均的な赤い線の移動、傾き方向は線の下。
移動平均線(青線)、赤線の下に移動平均線がある。
価格 "傾斜方向 ライン "カットタイム
すべて同時に行われます。アラームを鳴らす INDma_crossover_lines.ex4ma_crossover_lines.mq4
スロープ方向ライン.ex4CATOR
ヘルプをお願いします
--
をクリックします。
日次、週次、月次のゲイン機能 必須
コーディングで困っています。日次のクローズドゲイン、週次のクローズドゲイン、月次のクローズドゲインを表示するインジケータを作成しようとしています。
これらの期間から利益を計算する関数をお持ちの方はいらっしゃいませんか?
例えば
今日のクローズ:5.3
週足のクローズド:13.7
月間クローズド41.3%
年クローズド79.5%
必要なことはなんとなくわかっているのですが、うまくいかず困っています。もし、どなたかこのような機能をお持ちの方がいらっしゃいましたら、教えていただけませんか?
この1枚でオープン、デイリー、トータルのスタッツがカバーされています。週足や月足を追加することはそれほど難しいことではありません(日足データ収集のロジックに従うだけです)。
コーディングで困っています。日次のクローズドゲイン、週次のクローズドゲイン、月次のクローズドゲインを表示するインジケータを作成しようとしています。
これらの期間から利益を計算する関数をお持ちの方はいらっしゃいますか?
例えば
今日のクローズ:5.3
週間クローズド:13.7
月クローズド41.3%
年クローズド79.5%
必要なことはなんとなくわかっているのですが、うまくいかず困っています。もし、これを実現する機能をお持ちの方がいらっしゃいましたら、ご教授いただけないでしょうか?Thanx, I will give it a try
これをベースにしてみてください。 あなたは、オープン、毎日、合計の統計は、この1つでカバーされています。週次、月次を追加するのはそれほど難しくないでしょう(日次データ収集のロジックに従うだけです)
ありがとうございます、助かりました。これを元に何とかしてみます。
Mtf cci hook
私はMTF機能を追加しましたが、私は水平に整列したドットを見たいのですが、私はそれを管理することはできません...または高いTFの閉じたバーから1つのドットだけ。
よろしくお願いします。
ccihookmtf.mq4
...
このようなものを試してみてください。こちらは対象時間帯のドットを全て水平に並べて表示します。
どなたか、添付のCCIフックインジケータを見て、助けていただけませんか。MTF機能を追加したのですが、ドットを水平に並べて表示したいのですが、うまくいきません。
ありがとうございました。
ccihookmtf.mq4こんな感じでやってみてください。これは対象時間帯のドットを全て水平に並べて表示しています。
Mladenさん、ありがとうございます。
...
もし、ターゲットタイムフレームバー(この場合、ターゲットタイムフレームバーに属する最初のバー)ごとに1つのドットに制限したい場合は、このバージョンで行われたようなことができます(例では、15分チャートに1時間のcci hookです - 選択できるようにインディケータにオプションが追加されています)。
Mladenさん、ありがとうございました。
こんにちは、皆さん
次のバーの時刻を知るにはどうしたらいいですか?
私は試してみました
datetime Time[-1];
これは動作しませんでした
挨拶
未来のバーの時間 ....
こんな感じでやってみてください。こんにちは、皆さん
次のバーの時間を知るにはどうしたらいいですか?
試してみた
datetime Time[-1];
これは動作しませんでした
ご挨拶