バックテスト/最適化 - ページ 47 1...404142434445464748495051525354...95 新しいコメント polohot 2008.10.12 16:43 #461 #property copyright "HS" #property link "" //---- input parameters extern bool AccountIsIBFXmini=false; extern double Lots=0.1; extern double MaximumRisk=0.03; extern double DecreaseFactor=300; extern double MinLot=0.01; extern int Slippage=3; extern double TrailingStop=30; double StartBalance,StartEquity; extern bool UseHourTrade = false; extern int FromHourTrade = 6; extern int ToHourTrade = 18; //---- global variables int dir=0; int openorders=0; int cnt; string pair; int MagicNumber; int bsflag=0; int bstarget=0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { if (Symbol() == "AUDCADm" || Symbol() == "AUDCAD") { MagicNumber = 427101; } if (Symbol() == "AUDJPYm" || Symbol() == "AUDJPY") { MagicNumber = 427102; } if (Symbol() == "AUDNZDm" || Symbol() == "AUDNZD") { MagicNumber = 427103; } if (Symbol() == "AUDUSDm" || Symbol() == "AUDUSD") { MagicNumber = 427104; } if (Symbol() == "CHFJPYm" || Symbol() == "CHFJPY") { MagicNumber = 427105; } if (Symbol() == "EURAUDm" || Symbol() == "EURAUD") { MagicNumber = 427106; } if (Symbol() == "EURCADm" || Symbol() == "EURCAD") { MagicNumber = 427107; } if (Symbol() == "EURCHFm" || Symbol() == "EURCHF") { MagicNumber = 427108; } if (Symbol() == "EURGBPm" || Symbol() == "EURGBP") { MagicNumber = 427109; } if (Symbol() == "EURJPYm" || Symbol() == "EURJPY") { MagicNumber = 427110; } if (Symbol() == "EURUSDm" || Symbol() == "EURUSD") { MagicNumber = 427111; } if (Symbol() == "GBPCHFm" || Symbol() == "GBPCHF") { MagicNumber = 427112; } if (Symbol() == "GBPJPYm" || Symbol() == "GBPJPY") { MagicNumber = 427113; } if (Symbol() == "GBPUSDm" || Symbol() == "GBPUSD") { MagicNumber = 427114; } if (Symbol() == "NZDJPYm" || Symbol() == "NZDJPY") { MagicNumber = 427115; } if (Symbol() == "NZDUSDm" || Symbol() == "NZDUSD") { MagicNumber = 427116; } if (Symbol() == "USDCHFm" || Symbol() == "USDCHF") { MagicNumber = 427117; } if (Symbol() == "USDJPYm" || Symbol() == "USDJPY") { MagicNumber = 427118; } if (Symbol() == "USDCADm" || Symbol() == "USDCAD") { MagicNumber = 427119; } if (MagicNumber == 0) { MagicNumber = 427199; } pair = Symbol(); return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Calculate open positions | //+------------------------------------------------------------------+ int GetCurrentOrders() { //---- calc open OrderSelect openorders=0; dir=0; for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { openorders+=1; if(OrderType()==OP_BUY) dir=1; if(OrderType()==OP_SELL) dir=-1; } } } //+-------------------End Calculate open positions-------------------+ //+------------------------------------------------------------------+ //| Calculate optimal lot size | //+------------------------------------------------------------------+ double LotsOptimized() { double lot=Lots; int orders=HistoryTotal(); // history orders total int losses=0; // number of losses orders without a break //---- select lot size lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/500.0,1); //---- calculate number of losses orders without a break if(DecreaseFactor>0) { for(int i=orders-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; } if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber || OrderType()>OP_SELL) continue; //---- if(OrderProfit()>0) break; if(OrderProfit()<0) losses++; } if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1); } //---- return lot size if(lot>999) lot=999; if(lot<MinLot) lot=MinLot; return(lot); } //+-------------------End Calculate optimal lot size-----------------+ //+------------------------------------------------------------------+ //| Close Open Position | //+------------------------------------------------------------------+ int CloseTrade() { for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Yellow); if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Yellow); } } } //+----------------------End Close Open Position---------------------+ //+------------------------------------------------------------------+ //| Open Trade Position | //+------------------------------------------------------------------+ int OpenTrade() { int vLots=LotsOptimized(); if (bsflag==1) OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,Slippage,0,Ask+bstarget*Point,"NoLoss",MagicNumber,0,Green); if (bsflag==2) OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,Slippage,0,Ask-bstarget*Point,"NoLoss",MagicNumber,0,Red); } //+----------------------End Open Trade Position---------------------+ //+------------------------------------------------------------------+ //| Buy/Sell Indicator | //+------------------------------------------------------------------+ int CalcBSI() { //---- calc current indicators //double val1=iCustom("GBPJPY",0,"NoLoss",0,0,0); //double val2=iCustom("GBPJPY",0,"NoLoss",0,1,0); //double val3=iCustom("USDJPY",0,"NoLoss",0,0,0); //double val4=iCustom("USDJPY",0,"NoLoss",0,1,0); double val1=iOpen("GBPJPY",0,0); double val2=iClose("GBPJPY",0,0); double val3=iOpen("USDJPY",0,0); double val4=iClose("USDJPY",0,0); double nval1=xDiv(val1,val2); double nval2=xDiv(val3,val4); if(nval1>nval2) { bsflag=2; bstarget=(nval1-nval2)*10000; } else if(nval1<nval2) { bsflag=1; bstarget=(nval2-nval1)*10000; } else { bsflag=0; bstarget=0; } if(bstarget<10) { bsflag=0; bstarget=0; } } //+-----------------------End Buy/Sell Indicator---------------------+ //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if (Period()<PERIOD_H1) { Alert("Only on H1 or larger!"); return(0); } // For use only on H4 --- NO ERROR if activated for(cnt=0;cnt<OrdersTotal();cnt++) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) // check for symbol and magic number { if(OrderType()==OP_BUY) // long position is opened { // check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green); return(0); } } } } else // go to short position { // check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red); return(0); } } } } } } //+--------------------End TrailingStop & BreakEven------------------+ if (UseHourTrade) { if (!((Hour() >= FromHourTrade) && (Hour() <= ToHourTrade))) { Comment("Non-Trading Hours!"); return(0); } } GetCurrentOrders(); CalcBSI(); Comment("\nStart Balance= ",StartBalance,",","Start Equity= ",StartEquity, "\nBalance: ",AccountBalance(),","," Equity: ",AccountEquity(),","," TotalProfit: ",AccountProfit(), "\nBSFlag: ",bsflag,"\nbstarget: ",bstarget); //---- exit trades if (openorders!=0) { if ((bsflag==1) && (dir<0)) CloseTrade(); if ((bsflag==2) && (dir>0)) CloseTrade(); } //---- open trades else { if (bsflag != 0 && bstarget>20) OpenTrade(); } } //+---------------------End Expert Start Function--------------------+ double xDiv(double a, double b) { if(b==0) return(b); else return(a/b); } Backtesting/Optimization Automatic Magic Function Required 出口戦略ステップ・ストップとトレーリング・ストップの比較 daet 2008.10.13 05:54 #462 どなたか助けてください 最適化レポートで「ショートポジションの勝率」と「ロングポジションの勝率」を基準にして、ストラテジーテスターレポートを フィルタリングする方法はありますか?現在、利益、総取引数、プロフィットファクター、予想ペイオフなどでしかフィルターをかけることができません。 よろしくお願いします。 amyfor 2008.10.22 23:07 #463 MT4とトレードステーションの比較 皆さん、こんにちは。 この掲示板にいる私より賢い人たちから、フィードバック、意見、アイデアを得ることができないかと考えていました。 MT4でストラテジーをバックテストしたとき、Trade Stationを使ってバックテスト したときと異なる結果が出ました。コーディングは同じで、ライブトレードを見ると同時にトリガーして終了するなど、バックテストでは全く異なる結果が出ました。 TSのデータはMT4よりも優れていると聞いていますが、皆さんのご意見を伺いたいと思います。 皆さん、ありがとうございました。 Linuxser 2008.10.23 00:50 #464 amyfor: 皆さん、こんにちは。この掲示板にいる私より賢い人たちから、フィードバック、意見、アイデアを得ることができないかと考えていました。 MT4でストラテジーをバックテストしたとき、Trade Stationを使ってバックテストしたときと異なる結果が出ました。コーディングは同じで、ライブトレードを見ると同時にトリガーして終了します。 TSのデータはMT4より優れていると聞いていますが、皆さんのご意見を伺いたいと思います...。 ありがとうございました。 全く違うプログラムです、違いはあるでしょうね。 amyfor 2008.10.23 01:08 #465 Linuxser: この2つは全く別のプログラムです、違いはこれからです。 こんにちは、Linuxser...また、返信と適切なスレッドにこれを移動してくれてありがとう。 もちろん、異なるプログラムであるため、いくつかの違いがあることを期待しています...私が疑問に思っているのは、他よりも一方のバックテスト 結果を信頼すべきかどうかだと思います...ライブフォワードトレードは95%の確率で一致します...例として...同じ戦略の取引結果の2セットを提示されたらあなた(あるいはここの他のメンバー)はどうしますか...両方を棄却し、最高の結果の方を信頼します...このように、このスレッドに書き込ませていただきました。 この場所をとても有益なものにするために費やした努力と時間に、改めて感謝します。 Linuxser 2008.10.23 01:21 #466 amyfor: 例...同じストラテジーのトレードで2つの結果を提示されたら、あなた(またはここの他のメンバー)はどうしますか? 私がいつもやっているのと同じです。紙+ペン+エクセル+チャート上のシステム+自分の判断。 削除済み 2008.10.23 10:40 #467 どのように最適化するのですか? EAを最適化するのに最適な方法は何ですか?私は最適化する必要がある非常に良いEAを見つけたが、私はそれを行う方法がわからない。 誰かがAlpariのためにそれをやったので、私はIBFXのためにそれを行う必要がありますか?誰かが助けることができますか? どのようなヘルプのために事前にありがとうございます。 チップスさん amyfor 2008.10.23 12:58 #468 Linuxser: 私がいつもやっているのと同じです。紙+ペン+エクセル+チャート上のシステム+自分自身の判断。 良い答えだ...いつもありがとう。 blogzr3 2008.10.24 17:29 #469 異なるテスター結果を 得ることは可能ですか? 同じEAを同じシンボルで同じ日付範囲を使ってテストすると、異なる結果が得られます。 開始を複数回クリックすると、異なる結果が返されます。私の最初の反応は、EAに何らかのランダムな関数があることでしたが、コードにそのようなものは見当たりません。各注文行の詳細レポートを見ると、行は価格、S/L、T/Pで1セントか2セントずれています。 何か見落としがあったのでしょうか?これはMT4、ビルド218です。 RealFx 2008.10.25 14:35 #470 ??? ------------------------------------ 1...404142434445464748495051525354...95 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
#property link ""
//---- input parameters
extern bool AccountIsIBFXmini=false;
extern double Lots=0.1;
extern double MaximumRisk=0.03;
extern double DecreaseFactor=300;
extern double MinLot=0.01;
extern int Slippage=3;
extern double TrailingStop=30;
double StartBalance,StartEquity;
extern bool UseHourTrade = false;
extern int FromHourTrade = 6;
extern int ToHourTrade = 18;
//---- global variables
int dir=0;
int openorders=0;
int cnt;
string pair;
int MagicNumber;
int bsflag=0;
int bstarget=0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if (Symbol() == "AUDCADm" || Symbol() == "AUDCAD") { MagicNumber = 427101; }
if (Symbol() == "AUDJPYm" || Symbol() == "AUDJPY") { MagicNumber = 427102; }
if (Symbol() == "AUDNZDm" || Symbol() == "AUDNZD") { MagicNumber = 427103; }
if (Symbol() == "AUDUSDm" || Symbol() == "AUDUSD") { MagicNumber = 427104; }
if (Symbol() == "CHFJPYm" || Symbol() == "CHFJPY") { MagicNumber = 427105; }
if (Symbol() == "EURAUDm" || Symbol() == "EURAUD") { MagicNumber = 427106; }
if (Symbol() == "EURCADm" || Symbol() == "EURCAD") { MagicNumber = 427107; }
if (Symbol() == "EURCHFm" || Symbol() == "EURCHF") { MagicNumber = 427108; }
if (Symbol() == "EURGBPm" || Symbol() == "EURGBP") { MagicNumber = 427109; }
if (Symbol() == "EURJPYm" || Symbol() == "EURJPY") { MagicNumber = 427110; }
if (Symbol() == "EURUSDm" || Symbol() == "EURUSD") { MagicNumber = 427111; }
if (Symbol() == "GBPCHFm" || Symbol() == "GBPCHF") { MagicNumber = 427112; }
if (Symbol() == "GBPJPYm" || Symbol() == "GBPJPY") { MagicNumber = 427113; }
if (Symbol() == "GBPUSDm" || Symbol() == "GBPUSD") { MagicNumber = 427114; }
if (Symbol() == "NZDJPYm" || Symbol() == "NZDJPY") { MagicNumber = 427115; }
if (Symbol() == "NZDUSDm" || Symbol() == "NZDUSD") { MagicNumber = 427116; }
if (Symbol() == "USDCHFm" || Symbol() == "USDCHF") { MagicNumber = 427117; }
if (Symbol() == "USDJPYm" || Symbol() == "USDJPY") { MagicNumber = 427118; }
if (Symbol() == "USDCADm" || Symbol() == "USDCAD") { MagicNumber = 427119; }
if (MagicNumber == 0) { MagicNumber = 427199; }
pair = Symbol();
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Calculate open positions |
//+------------------------------------------------------------------+
int GetCurrentOrders()
{
//---- calc open OrderSelect
openorders=0;
dir=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
openorders+=1;
if(OrderType()==OP_BUY) dir=1;
if(OrderType()==OP_SELL) dir=-1;
}
}
}
//+-------------------End Calculate open positions-------------------+
//+------------------------------------------------------------------+
//| Calculate optimal lot size |
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total
int losses=0; // number of losses orders without a break
//---- select lot size
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/500.0,1);
//---- calculate number of losses orders without a break
if(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumber || OrderType()>OP_SELL) continue;
//----
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
//---- return lot size
if(lot>999) lot=999;
if(lot<MinLot) lot=MinLot;
return(lot);
}
//+-------------------End Calculate optimal lot size-----------------+
//+------------------------------------------------------------------+
//| Close Open Position |
//+------------------------------------------------------------------+
int CloseTrade()
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Yellow);
if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Yellow);
}
}
}
//+----------------------End Close Open Position---------------------+
//+------------------------------------------------------------------+
//| Open Trade Position |
//+------------------------------------------------------------------+
int OpenTrade()
{
int vLots=LotsOptimized();
if (bsflag==1) OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,Slippage,0,Ask+bstarget*Point,"NoLoss",MagicNumber,0,Green);
if (bsflag==2) OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,Slippage,0,Ask-bstarget*Point,"NoLoss",MagicNumber,0,Red);
}
//+----------------------End Open Trade Position---------------------+
//+------------------------------------------------------------------+
//| Buy/Sell Indicator |
//+------------------------------------------------------------------+
int CalcBSI()
{
//---- calc current indicators
//double val1=iCustom("GBPJPY",0,"NoLoss",0,0,0);
//double val2=iCustom("GBPJPY",0,"NoLoss",0,1,0);
//double val3=iCustom("USDJPY",0,"NoLoss",0,0,0);
//double val4=iCustom("USDJPY",0,"NoLoss",0,1,0);
double val1=iOpen("GBPJPY",0,0);
double val2=iClose("GBPJPY",0,0);
double val3=iOpen("USDJPY",0,0);
double val4=iClose("USDJPY",0,0);
double nval1=xDiv(val1,val2);
double nval2=xDiv(val3,val4);
if(nval1>nval2)
{
bsflag=2;
bstarget=(nval1-nval2)*10000;
} else
if(nval1<nval2)
{
bsflag=1;
bstarget=(nval2-nval1)*10000;
}
else
{
bsflag=0;
bstarget=0;
}
if(bstarget<10)
{
bsflag=0;
bstarget=0;
}
}
//+-----------------------End Buy/Sell Indicator---------------------+
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if (Period()<PERIOD_H1) { Alert("Only on H1 or larger!"); return(0); } // For use only on H4 --- NO ERROR if activated
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && // check for opened position
OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) // check for symbol and magic number
{
if(OrderType()==OP_BUY) // long position is opened
{
// check for trailing stop
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// check for trailing stop
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
//+--------------------End TrailingStop & BreakEven------------------+
if (UseHourTrade)
{
if (!((Hour() >= FromHourTrade) && (Hour() <= ToHourTrade)))
{
Comment("Non-Trading Hours!");
return(0);
}
}
GetCurrentOrders();
CalcBSI();
Comment("\nStart Balance= ",StartBalance,",","Start Equity= ",StartEquity,
"\nBalance: ",AccountBalance(),","," Equity: ",AccountEquity(),","," TotalProfit: ",AccountProfit(),
"\nBSFlag: ",bsflag,"\nbstarget: ",bstarget);
//---- exit trades
if (openorders!=0) {
if ((bsflag==1) && (dir<0)) CloseTrade();
if ((bsflag==2) && (dir>0)) CloseTrade();
}
//---- open trades
else
{
if (bsflag != 0 && bstarget>20) OpenTrade();
}
}
//+---------------------End Expert Start Function--------------------+
double xDiv(double a, double b)
{
if(b==0) return(b); else return(a/b);
}どなたか助けてください
最適化レポートで「ショートポジションの勝率」と「ロングポジションの勝率」を基準にして、ストラテジーテスターレポートを フィルタリングする方法はありますか?現在、利益、総取引数、プロフィットファクター、予想ペイオフなどでしかフィルターをかけることができません。
よろしくお願いします。
MT4とトレードステーションの比較
皆さん、こんにちは。
この掲示板にいる私より賢い人たちから、フィードバック、意見、アイデアを得ることができないかと考えていました。
MT4でストラテジーをバックテストしたとき、Trade Stationを使ってバックテスト したときと異なる結果が出ました。コーディングは同じで、ライブトレードを見ると同時にトリガーして終了するなど、バックテストでは全く異なる結果が出ました。
TSのデータはMT4よりも優れていると聞いていますが、皆さんのご意見を伺いたいと思います。
皆さん、ありがとうございました。
皆さん、こんにちは。
この掲示板にいる私より賢い人たちから、フィードバック、意見、アイデアを得ることができないかと考えていました。
MT4でストラテジーをバックテストしたとき、Trade Stationを使ってバックテストしたときと異なる結果が出ました。コーディングは同じで、ライブトレードを見ると同時にトリガーして終了します。
TSのデータはMT4より優れていると聞いていますが、皆さんのご意見を伺いたいと思います...。
ありがとうございました。全く違うプログラムです、違いはあるでしょうね。
この2つは全く別のプログラムです、違いはこれからです。
こんにちは、Linuxser...また、返信と適切なスレッドにこれを移動してくれてありがとう。
もちろん、異なるプログラムであるため、いくつかの違いがあることを期待しています...私が疑問に思っているのは、他よりも一方のバックテスト 結果を信頼すべきかどうかだと思います...ライブフォワードトレードは95%の確率で一致します...例として...同じ戦略の取引結果の2セットを提示されたらあなた(あるいはここの他のメンバー)はどうしますか...両方を棄却し、最高の結果の方を信頼します...このように、このスレッドに書き込ませていただきました。
この場所をとても有益なものにするために費やした努力と時間に、改めて感謝します。
例...同じストラテジーのトレードで2つの結果を提示されたら、あなた(またはここの他のメンバー)はどうしますか?
私がいつもやっているのと同じです。紙+ペン+エクセル+チャート上のシステム+自分の判断。
どのように最適化するのですか?
EAを最適化するのに最適な方法は何ですか?私は最適化する必要がある非常に良いEAを見つけたが、私はそれを行う方法がわからない。
誰かがAlpariのためにそれをやったので、私はIBFXのためにそれを行う必要がありますか?誰かが助けることができますか?
どのようなヘルプのために事前にありがとうございます。
チップスさん
私がいつもやっているのと同じです。紙+ペン+エクセル+チャート上のシステム+自分自身の判断。
良い答えだ...いつもありがとう。
異なるテスター結果を 得ることは可能ですか?
同じEAを同じシンボルで同じ日付範囲を使ってテストすると、異なる結果が得られます。
開始を複数回クリックすると、異なる結果が返されます。私の最初の反応は、EAに何らかのランダムな関数があることでしたが、コードにそのようなものは見当たりません。各注文行の詳細レポートを見ると、行は価格、S/L、T/Pで1セントか2セントずれています。
何か見落としがあったのでしょうか?これはMT4、ビルド218です。
???
------------------------------------