diff --git a/mq4/MtApi.ex4 b/mq4/MtApi.ex4 index 574ab289..30102ab0 100755 Binary files a/mq4/MtApi.ex4 and b/mq4/MtApi.ex4 differ diff --git a/mq4/MtApi.mq4 b/mq4/MtApi.mq4 index 8cb650ac..316a69fc 100755 --- a/mq4/MtApi.mq4 +++ b/mq4/MtApi.mq4 @@ -3961,10 +3961,8 @@ string Execute_iCustom() { int intParams[]; ArrayResize(intParams, size); - for (int i = 0; i < size; i++) - { - intParams[i] = jaParams.getInt(i); - } + for (int it_i = 0; it_i < size; it_i++) + intParams[it_i] = jaParams.getInt(it_i); result = iCustomT(symbol, timeframe, name, intParams, size, mode, shift); } break; @@ -3972,6 +3970,8 @@ string Execute_iCustom() { double doubleParams[]; ArrayResize(doubleParams, size); + for (int it_d = 0; it_d < size; it_d++) + doubleParams[it_d] = jaParams.getDouble(it_d); result = iCustomT(symbol, timeframe, name, doubleParams, size, mode, shift); } break; @@ -3979,6 +3979,8 @@ string Execute_iCustom() { string stringParams[]; ArrayResize(stringParams, size); + for (int it_s = 0; it_s < size; it_s++) + stringParams[it_s] = jaParams.getString(it_s); result = iCustomT(symbol, timeframe, name, stringParams, size, mode, shift); } break; @@ -3986,6 +3988,8 @@ string Execute_iCustom() { bool boolParams[]; ArrayResize(boolParams, size); + for (int it_b = 0; it_b < size; it_b++) + boolParams[it_b] = jaParams.getBool(it_b); result = iCustomT(symbol, timeframe, name, boolParams, size, mode, shift); } break; diff --git a/mq5/MtApi5.ex5 b/mq5/MtApi5.ex5 index 673f93a8..44caa1b4 100755 Binary files a/mq5/MtApi5.ex5 and b/mq5/MtApi5.ex5 differ diff --git a/mq5/MtApi5.mq5 b/mq5/MtApi5.mq5 index 04026c5d..461a95a4 100644 --- a/mq5/MtApi5.mq5 +++ b/mq5/MtApi5.mq5 @@ -3065,15 +3065,15 @@ string Execute_iCustom() int intParams[]; ArrayResize(intParams, size); for (int i = 0; i < size; i++) - { intParams[i] = jaParams.getInt(i); - } result = iCustomT(symbol, (ENUM_TIMEFRAMES)timeframe, name, intParams, size); } break; case 1: //Double { - int doubleParams[]; + double doubleParams[]; + for (int i = 0; i < size; i++) + doubleParams[i] = jaParams.getDouble(i); ArrayResize(doubleParams, size); result = iCustomT(symbol, (ENUM_TIMEFRAMES)timeframe, name, doubleParams, size); } @@ -3082,13 +3082,17 @@ string Execute_iCustom() { string stringParams[]; ArrayResize(stringParams, size); + for (int i = 0; i < size; i++) + stringParams[i] = jaParams.getString(i); result = iCustomT(symbol, (ENUM_TIMEFRAMES)timeframe, name, stringParams, size); } break; case 3: //Boolean { - string boolParams[]; + bool boolParams[]; ArrayResize(boolParams, size); + for (int i = 0; i < size; i++) + boolParams[i] = jaParams.getBool(i); result = iCustomT(symbol, (ENUM_TIMEFRAMES)timeframe, name, boolParams, size); } break;