дмитрий б (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
не работает
 
подскажите такую вещь обновил квик с версии 7.10 на 7.11 возникла большая проблема квик не запускается  
не проходит транзакция
 
добрый вечер ! подскажите почему на демо квик робот не может выставить стоп заявку в таблице транзакций сообщение 5.транзакция
не прошла проверку сервера ,а хотя заявка в ручную выставляется
НЕРАБОТАЕТ СТОП, НЕРАБОТАЕТ СТОП
 
ПОДСКАЖИТЕ ! ПОЧЕМУ НЕ РАБОТАЕТ СТОП  ОЩИБКА В СТРОЧКЕ
T = SET_VALUE (T, "QUANTITY",QUANTITY) ХОТЯ ОБЬЁМ УКАЗАН В СТРОЧКЕ R=BUY_SBER(120,1) 120 ЦЕНА ,1 ЛОТ ,
ХОТЯ ТОЖЕ САМОЕ НА ОБЫЧНОЙ ЗАЯВКЕ РАБОТАЕТ ИДЕАЛЬНО НО ЕСЛИ  СТРОЧКУ T = SET_VALUE (T, "QUANTITY",QUANTITY) ПЕРЕПИСАТЬ T = SET_VALUE (T, "QUANTITY",1) ТО ВСЁ РАБОТАЕТ, НО ЧИСЛО 120 ПРОГРАММА БЕРЁТ КАК ЦЕНУ ЗАЯВКИ А 1 ЛОТ ПРЕНЕМАЕТ КАК ЦЕНУ СТОП ЦЕНЫ ,НО ЕЩЁ РАЗ повторюсь ЕСЛИ ТОТ ЖЕ САМЫЙ КОД СДЕЛАТЬ ОБЫЧНОЙ ЛИМИТНОЙ ЗАЯВКОЙ ТО ВСЁ РАБОТАЕТ  

PORTFOLIO_EX EMAvsAC;
DESCRIPTION Робот ЕМА и АС;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;

PROGRAM

NEW_GLOBAL ("TRANS_ID", 0)
ACCOUNT="NL0011100043"
CLIENT_CODE="102151"

FUNC STOP_ORDER (MARKET,TICKER,OPERATION,STOPPRICE,PRICE,QUANTITY)
T = CREATE_MAP  ()
TRANS_ID = TRANS_ID + 1
T = SET_VALUE (T, "TRANS_ID",TRANS_ID)
T = SET_VALUE (T, "ACTION", "NEW_STOP_ORDER")
T = SET_VALUE (T, "CLASSCODE",MARKET)
T = SET_VALUE (T, "SECCODE",TICKER)
T = SET_VALUE (T, "ACCOUNT", ACCOUNT)
T = SET_VALUE (T, "CLIENT_CODE",CLIENT_CODE)
T = SET_VALUE (T, "TYPE","L")
T = SET_VALUE (T, "OPERATION",OPERATION)
T = SET_VALUE (T, "STOPPRICE",STOPPRICE)
T = SET_VALUE (T, "PRICE",PRICE)
T = SET_VALUE (T, "QUANTITY",QUANTITY)

RESULT = SEND_TRANSACTION (30, T)
END FUNC

FUNC BUY_SBER(STOPPRICE,QUANTITY)
RESULT = STOP_ORDER("QJSIM","SBER","B",STOPPRICE,QUANTITY)
END FUNC

R=BUY_SBER(120,1)
MSG=GET_VALUE(R,"DESCRIPTION")
MESSAGE(MSG,1)

END_PROGRAM

PARAMETER TICKER;
PARAMETER_TITLE TICKER;
PARAMETER_DESCRIPTION ТИКЕР;
PARAMETER_TYPE STRING(20);
END

PARAMETER PRICE ;
PARAMETER_TITLE PRICE;
PARAMETER_DESCRIPTION PRICE;
PARAMETER_TYPE STRING(20);
END

END_PORTFOLIO_EX
НЕ РАБОТАЕТ КАК НАДО, НЕ РАБОТАЕТ КАК НАДО
 
ГДЕ ЗДЕСЬ ОШИБКА ? ПЫТАЮСЬ ВЗЯТЬ ЗНАЧЕНИЕ ПРЕДЫДУЩЕЙ СВЕЧИ ВСЕ РОВНО ПОЛУЧАЕТСЯ ТЕКУЩАЯ СВЕЧА А НЕ ПРЕДЫДУЩАЯ


PORTFOLIO_EX робокоп;
DESCRIPTION робокоп;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST FIRMID;
USE_CASE_SENSITIVE_CONSTANTS;

PROGRAM

NEW_GLOBAL("CANDLE_OLD"," ") 'предыдущая свеча

FLAG=0  ' флаг новой свечи

X_=GET_VALUE(GET_DATETIME (),"DATETIME")
Date=SUBSTR (X_,6,4) & SUBSTR (X_, 3,2) & SUBSTR (X_, 0,2)
Time=SUBSTR (X_,11,2) & SUBSTR (X_, 14,2) & SUBSTR (X_, 17,2)

CANDLE = (GET_CANDLE_EX ("RIM6", Date, Time)
LINES = GET_VALUE(CANDLE,"LINES")
LINE = GET_COLLECTION_ITEM(LINES,0)
OPEN = GET_VALUE(LINE,"OPEN")+0
HIGH = GET_VALUE(LINE,"HIGH")+0
LOW = GET_VALUE(LINE,"LOW")+0  
CLOSE = GET_VALUE(LINE,"CLOSE")+0

IF (GET_VALUE (CANDLE,"TIME")-GET_VALUE (CANDLE_OLD,"TIME") <>0)  'свеча новая
FLAG=1     ' флаг равен 1 в момент появления новой свечи на графике
END IF

OUTPUT = CREATE_MAP()
OUTPUT = SET_VALUE(OUTPUT,"DATE",DATE)
OUTPUT = SET_VALUE(OUTPUT,"TIME",TIME)
OUTPUT = SET_VALUE(OUTPUT,"OPEN",OPEN)
OUTPUT = SET_VALUE(OUTPUT,"HIGH",HIGH)
OUTPUT = SET_VALUE(OUTPUT,"LOW",LOW)
OUTPUT = SET_VALUE(OUTPUT,"CLOSE",CLOSE)



DELETE_ALL_ITEMS() 'ФУНКЦИЯ УДАЛЕНИЯ СТАРЫХ ДАННЫХ ИЗ ТАБЛИЦЫ
ADD_ITEM(1,OUTPUT)

IF (FLAG=1)  'запоминаем новую свечу
CANDLE_OLD= CANDLE
END IF

END_PROGRAM

PARAMETER DATE;
PARAMETER_TITLE ДАТА;
PARAMETER_DESCRIPTION ДАТА;
PARAMETER_TYPE STRING(30);
END

PARAMETER TIME;
PARAMETER_TITLE ВРЕМЯ;
PARAMETER_DESCRIPTION ВРЕМЯ;
PARAMETER_TYPE STRING(30);
END

PARAMETER OPEN;
PARAMETER_TITLE ЦЕНА ОТК.;
PARAMETER_DESCRIPTION ЦЕНА ;
PARAMETER_TYPE STRING(30);
END

PARAMETER HIGH;
PARAMETER_TITLE ЦЕНА МАКС.;
PARAMETER_DESCRIPTION ЦЕНА ;
PARAMETER_TYPE STRING(30);
END

PARAMETER LOW;
PARAMETER_TITLE ЦЕНА МИН.;
PARAMETER_DESCRIPTION ЦЕНА ;
PARAMETER_TYPE STRING(30);
END


PARAMETER CLOSE;
PARAMETER_TITLE ЗАКР.;
PARAMETER_DESCRIPTION CLOSE;
PARAMETER_TYPE STRING(30);
END


END_PORTFOLIO_EX
КАК ВЗЯТЬ ЗНАЧЕНИЕ ПРЕДЫДУЩАЯ СВЕЧИ
 
ДОБРЫЙ ДЕНЬ ! ПОДСКАЖИТЕ  , В ПОРТФЕЛИ НАПИСАН КОД ОН РАБОТАЕТ ВСЁ НОРМАЛЬНО НО Я ХОТЕЛ УЗНАТЬ ТАКУЮ ВЕЩЬ ,КОД ПОКАЖЫВАЕТ ТЕКУЩУЮ СВЕЧУ НАЗОВЁМ ЕЁ НУЛЕВОЙ ,А МНЕ НУЖНЫ ЗНАЧЕНИЯ ПРЕДЫДУЩЕЙ СВЕЧИ , КАК ЭТО СДЕЛАТЬ ПОЖАЛУЙСТА ПОДСКАЖИТЕ И НАПИШИТЕ КОД

PORTFOLIO_EX робокоп;
DESCRIPTION робокоп;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST FIRMID;
USE_CASE_SENSITIVE_CONSTANTS;

PROGRAM

'=== БЛОК ПОЛУЧЕНИЯ ДАТЫ И ВРЕМЕНИ ===
NEW_GLOBAL("DT", GET_DATETIME())
DTLINE = GET_VALUE(DT,"DATETIME")
DAY = SUBSTR(DTLINE, 0 , 2)      'ДЕНЬ
MONTH = SUBSTR(DTLINE, 3 , 2)    'МЕСЯЦ
YEAR = SUBSTR(DTLINE, 6 , 4)     'ГОД
DATE = YEAR & MONTH & DAY        'СКЛЕЙКА ДАТЫ

HOUR = SUBSTR(DTLINE, 11 , 2)    'ЧАСЫ
MINUTE = SUBSTR(DTLINE, 14 , 2)  'МИНУТЫ
SECOND = SUBSTR(DTLINE, 17 , 2)  'СЕКУНДЫ
TIME = HOUR & MINUTE & SECOND    'СКЛЕЙКА ВРЕМЕНИ
'=== КОНЕЦ ПОЛУЧЕНИЯ ДАТЫ И ВРЕМЕНИ ===

DT = GET_DATETIME() 'ОБНОВЛЕНИЕ ДАТЫ И ВРЕМЕНИ В СЛЕДУЩЕЙ ИТЕРАЦИИ

'=== БЛОК ПОЛУЧЕНИЕ ДАННЫХ С ГРАФИКА ===
FUNC GET_LINE(TAG)
  CANDLE = GET_CANDLE_EX(TAG, DATE, TIME)
  LINES = GET_VALUE(CANDLE,"LINES")
  LINE = GET_COLLECTION_ITEM(LINES,0)
  OPEN = GET_VALUE(LINE,"OPEN")+0
  HIGH = GET_VALUE(LINE,"HIGH")+0
  LOW = GET_VALUE(LINE,"LOW")+0  
  RESULT = GET_VALUE(LINE,"CLOSE")+0    
END FUNC
'===КОНЕЦ ПОЛУЧЕНИЕ ДАННЫХ С ГРАФИКА ===



P = GET_LINE("PRICE_LINE") 'ИДЕНТИФИКАТОР ЦЕНЫ

LOG(P)

'=== БЛОК ВЫВОД ДАННЫХ В ТАБЛИЦУ ===
FUNC LOG(CLOSE,OPEN,HIGH,LOW)
OUTPUT = CREATE_MAP()
OUTPUT = SET_VALUE(OUTPUT,"DATE",DATE)
OUTPUT = SET_VALUE(OUTPUT,"TIME",TIME)
OUTPUT = SET_VALUE(OUTPUT,"OPEN",OPEN)
OUTPUT = SET_VALUE(OUTPUT,"HIGH",HIGH)
OUTPUT = SET_VALUE(OUTPUT,"LOW",LOW)
OUTPUT = SET_VALUE(OUTPUT,"CLOSE",CLOSE)
END FUNC
DELETE_ALL_ITEMS() 'ФУНКЦИЯ УДАЛЕНИЯ СТАРЫХ ДАННЫХ ИЗ ТАБЛИЦЫ
ADD_ITEM(1,OUTPUT)
'=== КОНЕЦ ВЫВОД ДАННЫХ В ТАБЛИЦУ ===





END_PROGRAM

PARAMETER DATE;
PARAMETER_TITLE ДАТА;
PARAMETER_DESCRIPTION ДАТА;
PARAMETER_TYPE STRING(30);
END

PARAMETER TIME;
PARAMETER_TITLE ВРЕМЯ;
PARAMETER_DESCRIPTION ВРЕМЯ;
PARAMETER_TYPE STRING(30);
END

PARAMETER OPEN;
PARAMETER_TITLE ЦЕНА ОТК.;
PARAMETER_DESCRIPTION ЦЕНА ;
PARAMETER_TYPE STRING(30);
END

PARAMETER HIGH;
PARAMETER_TITLE ЦЕНА МАКС.;
PARAMETER_DESCRIPTION ЦЕНА ;
PARAMETER_TYPE STRING(30);
END

PARAMETER LOW;
PARAMETER_TITLE ЦЕНА МИН.;
PARAMETER_DESCRIPTION ЦЕНА ;
PARAMETER_TYPE STRING(30);
END

PARAMETER CLOSE;
PARAMETER_TITLE ЗАКР.;
PARAMETER_DESCRIPTION CLOSE;
PARAMETER_TYPE STRING(30);
END

END_PORTFOLIO_EX
КЛАСТЕРНЫЙ АНАЛИЗ, КЛАСТЕРНЫЙ АНАЛИЗ В QUIK
 
ДОБРЫЙ ДЕНЬ ! Я ТОРГУЮ ЧЕРЕЗ QUIK УЖЕ 5 ЛЕТ ,И МОГУ СКАЗАТЬ ЧТО ЛУДШЕ ЧЕМ QUIK НЕ ЧЕГО НЕТ В РОССИИ ,НО КАК Я СЧИТАЮ ЕСТЬ НЕ КОТОРЫЕ НЕ ДОСТАТКИ,  К ПРИМЕРУ ОТСУДСТВИЕ  КЛАСТЕРНОГО АНАЛИЗА РЫНКА . ПОЖЕЛАНИЯ, ПОЖАЛУЙСТА  ARQA Technologies СДЕЛАЙТЕ КВИКЕ КЛАСТЕРНЫЙ АНАЛИЗ ,К ПРИМЕРУ ТОТ ЖЕ САМЫЙ ГРАФИК НА КОТОРОМ СВЕЧИ С РАСПРЕДЕЛЕНИЕМ ОБЬЁМА ПО ЦЕНАМ (СУММАРНЫЙ,ДЕЛЬТА) ПРИМЕРНО ТАК КАК ЭТО СДЕЛАНО В ПРИВОДЕ QScalp
И ВТОРОЕ ПОЖЕЛАНИЕ ,ПОЖАЛУЙСТА СДЕЛАЙТЕ ЧТОБ В СТАКАНЕ МОЖНО БЫЛО ВЫДЕЛЯТЬ ОБЬЁМ ДРУГИМ ЦВЕТОМ НА ПРИМЕР ОБЬЁМ ДО 1000 КОНТРАКТОВ ОДНИМ ЦВЕТОМ ,СВЫШЕ ДРУГИМ ЦВЕТОМ,ВОТ В ТАБЛИЦЕ ВСЕХ СДЕЛОК ЭТО ФУНКЦИЯ РЕАЛИЗОВАНА И ЭТО ОЧЕНЬ ХОРОШО ,ПОМОГАЕТ ,А В СТАКАНЕ ПОКА НЕТ ,НЕ ЗНАЮ ПОЧЕМУ НО ОЧЕНЬ ЖАЛЬ. БОЛЬШОЕ СПАСИБО ЗА ВНИМАНИЕ!
Страницы: 1
Наверх