Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
#OrderType() string - Open
Приведенный ниже код дает мне ' 1 ' для Sell OrderType, но мне нужно получить OrderType sting одного из них ' Sell, Buy и так далее ', я не хочу получить числовое значение.
Мне нужен полезный комментарий, пожалуйста, спасибо.
Используйте команду switch.
{
case OP_SELL:
break;
case OP_BUY:
break;
}
Используйте команду switch.
Вы также можете использовать директиву #define, если хотите еще больше упростить ситуацию:
#define sell OP_SELL
if(OrderType()==sell)
Вы также можете использовать директиву #define, если хотите еще больше упростить ситуацию:
Я уже использую #define, который скопировал для pip и point кодов у г-на Уильяма.
Так что после вашего комментария я просто немного исследовал его, я думаю, что я могу использовать его в моих любых скриптах.
Спасибо за ваш полезный комментарий.
Используйте команду switch.
Большое спасибо.
Я впервые пробую Switch Operator для своего советника.
Я хотел бы сказать, что я узнал немного больше об этом, но у меня нет опыта для этого оператора.
Прежде чем я попробую это в моем тестовом советнике, я просто хочу спросить, вы имеете в виду, что я могу использовать как ниже код, пожалуйста? (мой тестовый советник уже имеет 500 строк - и я собираюсь запутаться в преобразовании OrderType() в строку).
{
switch ( OrderType() )
{
case 0 : ObjectCreate( ... name + " Buy" ... );
ObjectSetInteger(chart_ID,name + " Buy",OBJPROP_COLOR,clr);
// ...
break;
case 1 : ObjectCreate( ... name + " Sell" ... );
// ...
break;
}
}
Заранее спасибо.
// --- второй раз редактировалось
Возможно, я не совсем ясно выразил свою мысль.
Я уже потратил много времени на этот вопрос, я действительно играю с этим оператором, но результата нет.
Приведенный ниже код дает мне число.
Print( "OrderType: ", IntegerToString( OrderType() ) );
// EURAUD,M30: OrderType: 0
Но я пытаюсь получить следующий результат.
Мне нужен полезный комментарий.
Вы можете помочь мне (/ дать мне совет), пожалуйста?
ID
Значение
Описание
OP_BUY
0
Операция покупки
ОП_ПРОДАЖА
1
Операция продажи
{
case 0:
Print( "OrderType: buy" );
break;
case 1:
Print( "OrderType: sell" );
break;
}
или
{
Print("OrderType: buy");
}
if(OrderType()==1)
{
Print("OrderType: sell");
}
Большое спасибо @Marco.
Наконец-то я понял, но я ожидал, что напишу код одной из " Функций преобразования"... мое неправильное ожидание сбило меня с толку.
В настоящее время я использую 3 объекта " HLine ", теперь я скопировал это для обоих случаев (0 и 1). Пока все работает хорошо.
Также " Свойства заказа " имеют 6 значений, поэтому я хотел бы применить ту же самую (например, объект, цвет, стиль, ширина и так далее...) функцию печати к 0, 2, 4.
Вопрос: Могу ли я использовать приведенный ниже метод?
( Функция печати просто для примера)
{
case 0: Print( "OrderType: buy" );
// ...
break;
case 2: Print( "OrderType: buy" );
// ...
break;
case 4: Print( "OrderType: buy" );
// ...
break;
}
Заранее большое спасибо!
Нет, потому что значения такие:
ID
Значение
Описание
OP_BUY
0
Операция покупки
ОП_ПРОДАЖА
1
Операция продажи
OP_BUYLIMIT
2
Лимитный отложенный ордер на покупку
OP_SELLLIMIT
3
Отложенный ордер напродажу
OP_BUYSTOP
4
Отложенный ордер Buy stop
OP_SELLSTOP
5
Отложенный ордер на продажу
Таким образом, случаи 2 и 4 не равны OP_BUY
Это OP_BUYLIMIT и OP_BUYSTOP, так что это разные вещи.
Если только это не то, что вы имеете в виду, но это прояснило бы ситуацию.
{
case 0: Print( "OrderType: buy" );
// ...
break;
case 2: Print( "OrderType: buy Limit" );
// ...
break;
case 4: Print( "OrderType: buy Stop" );
// ...
break;
}
Нет, потому что значения такие:
Таким образом, случай 2 и случай 4 не равны OP_BUY
#OrderType() string - Закрыто
После вашего последнего комментария я чувствую, что не могу объединить случаи 0, 2, 4.
Спасибо @Marco vd Heijden за ваше время и помощь.