ヘルプファインターンEA - ページ 2 1234567 新しいコメント Ronaldo 2009.03.10 16:10 #11 delcor wrote>> このEAを動かすとどうなるのか、一歩一歩示すようなEAプログラムのテストシステムはないのですか? テスト用のステップFTNはありません。プログラムのチェックや様々な部分の値を表示するためにプリントを使います。 Ronaldo 2009.03.10 16:15 #12 Lots Optimisationのコードが気に入っています。 Rudolph Brits 2009.03.10 20:35 #13 ronaldosim: ロット最適化のコードが気に入ったので、損失が大きくなるにつれてロット数を増やすように調整した。 見せてください またはEAをお送りください。 Rudolph Brits 2009.03.10 20:44 #14 delcor: 表示するまたはあなたのEAを送信してくださいエラーになります関数"CalculateCurrentOrders" は参照されていないので、Exp-file から削除されます。 Ronaldo 2009.03.11 05:51 #15 delcor wrote>> エラーが表示されます。 関数 "CalculateCurrentOrders" は参照されていませんので、Expファイルから削除されます。 このエラーは無視してください。これは、あなたが使っていないCalculateCurrentOrdersという関数があるから、それを削除するか、leveaするか、どちらかだと言っているだけです。 Ronaldo 2009.03.11 05:54 #16 delcor wrote>> 表示する またはあなたのEAを私に送ってください 関数LotOptimizationの下で、コードを次のように変更してください。 Lot=lot*MulltiplyingFactor*losses(ロット*マルチプライングファクター*損失 ここで、MulitplyFactor = 2 or 3 or 4 etc, DecreaseFactorに似ていて、損失が大きくなるにつれてロットサイズを小さくしていくようなものです。 とはいえ、損失が大きくなるにつれてロットサイズを大きくするのはEAにとって危険ですので、注意して使ってください。 Rudolph Brits 2009.03.11 07:32 #17 ronaldosim: 関数LotOptimizationの下で、コードを以下のように変更します。 Lot=lot*MulltiplyingFactor*losses (ロット*損失) ここで、MulitplyFactor = 2 or 3 or 4 etc., DecreaseFactorと同様、損失が大きくなるにつれてロットサイズを小さくしていくものである。 とはいえ、損失が大きくなるにつれてロットサイズを大きくしていくのはEAにとって危険なので、注意して使ってください。 というような意味でしょうか? //+------------------------------------------------------------------+ //| 最適なロットサイズを計算する //+------------------------------------------------------------------+ double LotsOptimized() { double lot=Lots*Multiplying*losses.Lots=Lots*Multiplying*Losses; int orders=HistoryTotal(); // ヒストリーの注文数 int losses=0; // ブレークのない損失注文の数 //ロットサイズを選択 lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1); //---- 損切り注文数を計算する。 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()! if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue; //---- if(OrderProfit()>0)break。 if(OrderProfit()<0)損失++; } if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1)。 //---- ロットサイズを返す if(lot<0.1)lot=0.1。 return(lot)。 } 100ピップス 100 pips help fineturn EA Ronaldo 2009.03.11 10:00 #18 delcor wrote>> こんな感じでしょうか? //+------------------------------------------------------------------+ //| 最適なロットサイズを計算する //+------------------------------------------------------------------+ double LotsOptimized() { double lot=Lots*Multiplying*losses; int orders=HistoryTotal(); // ヒストリーの注文数 int losses=0; // ブレークのない損失注文の数 //ロットサイズを選択 lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1); //---- 損切り注文数を計算する。 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()! if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue; //---- if(OrderProfit()>0)break。 if(OrderProfit()<0)損失++; } if(losses>1) lot=NormalizeDouble(Lots*Multiplying*losses;,1);}. //---- ロットサイズを返す if(lot<0.1) lot=0.1; return(lot)。 } の後に書いてください。 Rudolph Brits 2009.03.11 11:14 #19 ronaldosim: いいえ、if(loss>1)の後に記述してください。 it gives me an error 'Multiplying' - variable not defined C:\Program Files Indie InterbankFX Trader 4 Where do I defined it Rudolph Brits 2009.03.11 13:40 #20 delcor: it gives me an error 'Multiplying' - variable not defined C:\Program Files Interbank FX Trader 4╱experts ◇ jbtest4.mq4 (57, 44) where do I defined it OK I have int multiplying=2; 1234567 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このEAを動かすとどうなるのか、一歩一歩示すようなEAプログラムのテストシステムはないのですか?
テスト用のステップFTNはありません。プログラムのチェックや様々な部分の値を表示するためにプリントを使います。
Lots Optimisationのコードが気に入っています。
ロット最適化のコードが気に入ったので、損失が大きくなるにつれてロット数を増やすように調整した。
見せてください
またはEAをお送りください。
表示する
またはあなたのEAを送信してください
エラーになります
関数"CalculateCurrentOrders" は参照されていないので、Exp-file から削除されます。エラーが表示されます。
関数 "CalculateCurrentOrders" は参照されていませんので、Expファイルから削除されます。このエラーは無視してください。これは、あなたが使っていないCalculateCurrentOrdersという関数があるから、それを削除するか、leveaするか、どちらかだと言っているだけです。
表示する
またはあなたのEAを私に送ってください
関数LotOptimizationの下で、コードを次のように変更してください。
Lot=lot*MulltiplyingFactor*losses(ロット*マルチプライングファクター*損失
ここで、MulitplyFactor = 2 or 3 or 4 etc, DecreaseFactorに似ていて、損失が大きくなるにつれてロットサイズを小さくしていくようなものです。
とはいえ、損失が大きくなるにつれてロットサイズを大きくするのはEAにとって危険ですので、注意して使ってください。
関数LotOptimizationの下で、コードを以下のように変更します。
Lot=lot*MulltiplyingFactor*losses (ロット*損失)
ここで、MulitplyFactor = 2 or 3 or 4 etc., DecreaseFactorと同様、損失が大きくなるにつれてロットサイズを小さくしていくものである。
とはいえ、損失が大きくなるにつれてロットサイズを大きくしていくのはEAにとって危険なので、注意して使ってください。
というような意味でしょうか?
//+------------------------------------------------------------------+//| 最適なロットサイズを計算する
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lot=Lots*Multiplying*losses.Lots=Lots*Multiplying*Losses;
int orders=HistoryTotal(); // ヒストリーの注文数
int losses=0; // ブレークのない損失注文の数
//ロットサイズを選択
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- 損切り注文数を計算する。
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()!
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
//----
if(OrderProfit()>0)break。
if(OrderProfit()<0)損失++;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1)。
//---- ロットサイズを返す
if(lot<0.1)lot=0.1。
return(lot)。
}
こんな感じでしょうか?
//+------------------------------------------------------------------+
//| 最適なロットサイズを計算する
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lot=Lots*Multiplying*losses;
int orders=HistoryTotal(); // ヒストリーの注文数
int losses=0; // ブレークのない損失注文の数
//ロットサイズを選択
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- 損切り注文数を計算する。
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()!
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
//----
if(OrderProfit()>0)break。
if(OrderProfit()<0)損失++;
}
if(losses>1) lot=NormalizeDouble(Lots*Multiplying*losses;,1);}.
//---- ロットサイズを返す
if(lot<0.1) lot=0.1;
return(lot)。
}
の後に書いてください。
いいえ、if(loss>1)の後に記述してください。
it gives me an error
'Multiplying' - variable not defined C:\Program Files Indie InterbankFX Trader 4
Where do I defined it
it gives me an error
'Multiplying' - variable not defined C:\Program Files Interbank FX Trader 4╱experts ◇ jbtest4.mq4 (57, 44)
where do I defined it
OK I have int multiplying=2;