コーディングの方法は? - ページ 101

 

買いも売りもありました。

panteraschoice:
このバックテストでは、買いと売りが出たのでしょうか、それともどちらか一方だけだったのでしょうか?私は買いだけ(または私がコードを変更したときにだけ販売)を得ました。 私は本当にエラーを示す何も見ていない。
 

このRSIFilter_v1...それはどうでしょう...

ここにあるコードはそれを行う必要があります...

以下は私がやったことです...添付ファイルを参照してください。

panteraschoice:
ということで、これでOK?

double Sg=iCustom(NULL,0, "RSIFilter_v1",5,5,0,1);

if ( Sg>0) 注文 = SIGNAL_BUY;

if (Sg<0 ) Order = SIGNAL_SELL;
削除済み  
IN10TION:
90%のモデリング品質でなければならないのに、なぜ表示されないのかわからない。

エラーの不一致が原因だと思います。Backtesterの 数年前からのリリースでは、この問題があります。データが悪いからだそうです。

フェルフェックス

 

boolean match エラー

こんにちは、私はこのエラーが発生し、解決する方法がわからない、私はそれが異なるタイプの変数のマッチングの問題だと思う

以下はコードのスニペットです。

ダブル

BuyCondition。

SellCondition,

StopLong。

StopSellです。

インジケータは

double indicator1,

インディケータ2

インジケータ3; (ただしint)

ということで、これらの条件が欲しいのですが

StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));

StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));

なぜ、1が必要なのに0がないときがあり、1が必要なのに両方があるときがあるのでしょうか? これは私にとって全く意味がありません。

p.s. sellvalue と buyvalue は double です。

 

これを解決するには、もっとコードが必要です。

もしよろしければ、あなたのmq4を公開してください。

payback:
こんにちは、私はこのエラーを持っており、私はどのように把握するかがわからない、私はそれが異なるタイプの変数のマッチングの問題だと思います。

以下はコードのスニペットです。

ダブル

BuyCondition。

SellCondition,

StopLong,

StopSellです。

インジケータは

double indicator1,

インディケータ2

インジケータ3; (ただしint)

ということで、これらの条件が欲しいのですが

StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));

StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));

なぜ、1が必要なのに0がないときがあり、1が必要なのに両方があるときがあるのでしょうか? これは私にとって全く意味がありません。

p.s. sellvalueとbuyvalueはダブルです。
 
panteraschoice:
何かが間違っている。デモ口座が全滅してしまった。

以下はエキスパートログの一部で、数百の "Invalid price for OrderClose function "が含まれています。

GBPJPY at 209.23 sl: 212.23 tp: 208.23 ok

10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: invalid price 2.02750000

OrderClose関数に対して

10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: 無効な価格 1.55750000

OrderClose関数に対して

10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: close #11685361 sell

0.10 GBPCHF at 2.0270 sl: 2.0570 tp: 2.0170 at price 2.0275

10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: 無効な価格 1.03350000

OrderClose関数の場合

10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: 無効な価格1.55740000

OrderClose関数の場合

これは、EA内のOrderCloseの部分です。

私はそれの何が間違っているのか分からない、多分誰かが助けることができる?

//---------------------

int l_ord_total_72 = OrdersTotal();

for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {。

if (オーダーセレクト(l_pos_76, SELECT_BY_POS, MODE_TRADES)) { {。

if (オーダーシンボル() == シンボル()) { { {

l_cmd_80 = OrderType();

if (l_cmd_80 == OP_BUY) { { {l_count_56++。

l_count_56++;

if (l_isar_48 > Close[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);

}

if (l_cmd_80 == OP_SELL) { { { { {l_count_60++。

l_count_60++;

if (l_isar_48 < Close[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);

}

}

}

}

//--------------------

ブローカーから新しい価格を取得したのか、OrderCloseの前にRefreshRates関数を使ってみて、エラーが出るようであれば、OrderCloseの前にRefreshRates関数を使ってみてください。

 

OrderClose エラー

何かが間違っている。デモ口座 は完全に全滅しました。

以下はエキスパートログの一部で、数百の "Invalid price for OrderClose function "が含まれています。

GBPJPY at 209.23 sl: 212.23 tp: 208.23 ok

10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: invalid price 2.02750000

OrderClose関数に対して

10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: 無効な価格 1.55750000

OrderClose関数に対して

10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: close #11685361 sell

0.10 GBPCHF at 2.0270 sl: 2.0570 tp: 2.0170 at price 2.0275

10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: 無効な価格 1.03350000

OrderClose関数の場合

10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: 無効な価格1.55740000

OrderClose関数の場合

これは、EA内のOrderCloseの部分です。

私はそれの何が間違っているのか分からない、多分誰かが助けることができる?

//---------------------

int l_ord_total_72 = OrdersTotal();

for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {。

if (オーダーセレクト(l_pos_76, SELECT_BY_POS, MODE_TRADES)) { {。

if (オーダーシンボル() == シンボル()) { { {

l_cmd_80 = OrderType();

if (l_cmd_80 == OP_BUY) { { {l_count_56++。

l_count_56++;

if (l_isar_48 > Close[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);

}

if (l_cmd_80 == OP_SELL) { { { { {l_count_60++。

l_count_60++;

if (l_isar_48 < Close[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);

}

}

}

}

//--------------------

コンパイルしてもエラーにならない。

 
IN10TION:
これを修正するためにもっとコードが必要です...もし望むなら、あなたのmq4を公開してください

いいえ、私はすべてを公開したくないのですが、私は変数の型の一致の問題だと思う私はより多くの説明をしようとします。

インディケータ1 e 2はダブルで正しい

だから私はbuyvaluecurrent = icustom(indicator1 etc etc)を持っています。

buyvaluecurrent2 = icustom(indicator2 etc etc)です。

sellvaluecurrent = icustom(indicator1 etc etc); //doublesは右か?

trenendvup =icustom(指標3など) ; //int(インジケーター3など)

などなど

ということで、buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=Empty_Value)) となります。

このステートメントは時々しか動作しませんが、問題である可能性もあります。

 
Kalenzo:
ブローカーから新しい価格を受け取ったのかもしれません。もしエラーが出るようなら、OrderCloseの前にRefreshRates関数を使ってみてください。

はい、ありがとうございます。

 

iCustomの インジケータが何を発信しているかに応じて...

double buyvaluecurrent = iCustom(indicator1)です。

double buyvaluecurrent2 = iCustom(indicator2)。

double sellvaluecurrent = iCustom(indicator1)です。

int trenendvup = iCustom(indicator3)です。

それで...

if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=0)) {buycondition=0;} {Buyvaluecurrent !=0 && buyvaluecurrent2 !=0 && (trenddenvup !=0)

if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=1)) {buycondition=1;} となります。

というように、buyconditionにboolを入れるには、"&&"と条件によっては、if()関数を使う必要があります。

そうでなければ、もうちょっとです。

payback:
いいえ、私はすべてを公開したくないのですが、私は変数の型の一致の問題だと思うので、もっと説明しようと思います。

indicator1 e 2 は double right です。

ということで、buyvaluecurrent = icustom(indicator1 etc etc)としました。

buyvaluecurrent2 = icustom(indicator2 etc etc);

sellvaluecurrent = icustom(indicator1 etc etc); //doublesは正しいですか?

trenendvup =icustom(指標3など) ; //int(インジケーター3など)

などなど

というわけで、buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup != Empty_Value));

このステートメントは時々しか動作しませんが、問題である可能性もあります。