Дмитрий (Все сообщения пользователя)

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

Страницы: 1
Позиции на счете появляются уже после снятия заявки, Позиции на счете появляются уже после снятия заявки
 
О, я в тренде вопросов )))
Главное заключается в том, что многократный вызов колбэка утраивает все расчетные значения, которые я запрашиваю для будущего расчета средней стоимости сделки по заявке, поэтому по факту средняя стоимость сделки из одной большой заявки выходит правильно.
Позиции на счете появляются уже после снятия заявки, Позиции на счете появляются уже после снятия заявки
 
Цитата
Владимир написал:
Дмитрий, Не знаю, как прогрессивный люд, а я делаю только так. Только ещё нюанс: функция сверки с портфелем тоже глючит, и в данный момент она у меня отключена.  
Понятно. А если говорить про расчетным метод контроля, не могли бы еще подсказать, почему OnTrade - функция обратного вызова по сделке - вызывается по каждой сделке ровно 3 раза, а не один? специально ставил счетчик по номеру заявки и сравнивал с таблицей сделок - кол-во по счетчику в OnTrade набегает всегда ровно в 3 раза больше кол-ва сделок. Наверное, что-то кроме самой сделки еще колбэк ловит?
Позиции на счете появляются уже после снятия заявки, Позиции на счете появляются уже после снятия заявки
 
Цитата
Владимир написал:
Дмитрий, А зачем Вы вообще связываетесь с getFuturesHolding? Вы знаете, что заявка исполнена (или исполнена частично, или не исполнена вообще). Портфель тоже нередко глючит (это если у брокера его смотреть). Так контролируйте всё, что угодно по собственным данным скрипта, ведите портфель сами, периодически сверяясь с брокером.
Вот оно как прогрессивный люд то делает... Понял, попробую так, расчетно держать портфель, по итогам операции или по таймингу делать сверку с портфелем в терминале. Спасибо.  
Позиции на счете появляются уже после снятия заявки, Позиции на счете появляются уже после снятия заявки
 
Цитата
Евгений написал:
где то в коде скорее всего ошибка
там код проще простого, я везде месседжей и "ловушек" понаставил, код идет без ошибок и хронологически по месседжам видно, что заявка исполнена, а позиций нет
Позиции на счете появляются уже после снятия заявки, Позиции на счете появляются уже после снятия заявки
 
Люди добрый и умные, помогите начинающему скриптеру. Голову сломал.
Выставляю заявку на продажу фьючерса и контролирую ее по битовым флагам на исполнение.
Типа так:
 if bit.band(trade.flags,1) == 0 and bit.band(trade.flags,2) == 0 then
   ZayavkaIspolnena_F_Buy = true
 end
После получения (строго после) условия ZayavkaIspolnena_F_Buy = true проверяю позицию по getFuturesHolding и часто получается так, что позиции теряются (не показывает getFuturesHolding), хотя заявка исполнена.
Ставил задержку между ZayavkaIspolnena_F_Buy и  getFuturesHolding sleep (1000) - уже лучше, но на 5 раз проскочило опять, в этот раз была заявка на 20 позиций реализована частями (15+3+1+1), а на getFuturesHolding выдало наличие =18 (а по факту в портфеле появились все 20 фьючерсов), т.е. последние 2 сделки не успели по системе перейти в позиции до сработки getFuturesHolding.
Топорно увеличивать еще паузу между ZayavkaIspolnena_F_Buy и  getFuturesHolding - но до какого интервала? да и не правильно это, концепт моего бота подламывает.
Уверен, что опытные товарищи эту проблему легко решают в коде, подскажите, как точно получить значение реализованной заявки.

p.s. по-простому расчетно брать из кол-ва в заявке мне не вариант, т.к. скрипт подразумевает частичное исполнение заявки и снятие ее, потом расчет, и перевыставление на остаток, т.е. мне надо контролировать позицию к заявке по наличию в портфеле
Позиции по инструментам - валюта, Позиции по инструментам - валюта - не показывает
 
На валютном счете произвел покупку 3000$, в итоге в "позициях по инструментам" по валютному счете показывает 0, а в позициях по деньгам = 3000USD.
Не могу понять, что тогда означает окно "позиция по инструментам" применительно к валютному счету, если собственно валюта в нем не считается за инструмент?
OnStop, Не могу задать время на остановку скрипта из диалога управления
 
Спасибо за ответ.
Но я понимаю, что функция OnStop не прерывает выполнение программы сама, а лишь вызывается при остановке и возвращает время на остановку скрипта. Я про другое. У меня эта 1мс никак не выходит. Любой скрипт останавливается ровно 5 секунд (которые заданы по умолчанию) и никак не реагирует на мои данные по return - делал и мало (1мс), и много (30с) - все одно пауза при нажатии "остановить" ровно 5с.
OnStop, Не могу задать время на остановку скрипта из диалога управления
 
Такая функция (без всяких еще дописок в основном коде) должна мгновенно (за 1 мс) останавливать скрипт или нет?
function OnStop()
return 1
end
в примерах есть еще переменная stopped (которой присваивается true в этой функции) - зачем она?
p.s. я новичок - чур не обзывать тупым ))
Закладки
 
спасибо
Закладки
 
Добрый день.
А по этой теме есть какие-то подвижки на момент 2022 года?
KILL_ORDERS, KILL_ORDERS не отрабатывает
 
Вот нельзя было конкретнее написать ,что лишнее "S" в конце, должно быть 'KILL_ORDER' )))
пришлось еще голову поломать, глаз-то уже замылился ))
Спасибо !!!
KILL_ORDERS, KILL_ORDERS не отрабатывает
 
Ой, картинка не подгрузилась.
Ну, в общем, там
" TRANS_ID 1651566806 "
KILL_ORDERS, KILL_ORDERS не отрабатывает
 
"1) отобразите сообщение, которое возвращает sendTransaction;"
Это которое у меня в коде месседжем? Вот:
[img]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZUAAAD9CAYAAAB0i+q4AAAgAElEQVR4nO3d3VNUV6L38S+I+DIZaBwFpQ1KEl9yBlCMTEx0NBIdnadAJnMXq6JRr+YSzI3zBww3B/wHjqQgVeZM1XMmj0pVdEbJ0fiSGRxR6IrJzEQMk1YBhRaJYqP0c9EvNk2/7KZX00D/PlVE2HvttVa/ZP96rdW7O+N3v/udBxERkQQ1NzeTmepOiIjI7JF16fJlcn7601T3Q0REZqjXX3+drKwsALJ++tJLFBYWprhLIiIyU7nd7kCoaPpLRESMyQLweLRWLyIiidNIRUREjMnyeDwaqYiIyKQFZ4hGKiIiYozWVERExBiNVERExJhxayq29XuoLs0dV6Dny084fzt4y0q2ffBLmLAdWLkN767z3LatZ091ET2nTnLdZWP9nmqKek5x8rorzDFF0PMln0yoUMI9Jjzs4tTJ67jCH5JCNtbv2QoXTnLdBSu3fcCK78M8T0Qk5QoLC1m3bh3nzp3D7XaP25eZmcn27du5ffs23333Xcy6gme7fNNfuayv2UMZnZxsCTpZ2dZTs+cDPljxJS3/2x1aDRFnzYKCyh9anpDtABS/w75f5tJ5soXQrBGwra+hOreTlpbQ+366GqTj/PfU7PmAUoCeL2np1tSqyHSTmZlJRUUFOTk57Ny5kz//+c+BYPEHSmFhIYsXL6anp2dC6EStG6D4HV+gnAh59eu6zomWL+kp+iXvFJu8SfgCBb5sOaFACauY9WUP+XJCmE9zruucaGmhpaUlzAsREZkOxsbGOHv2LMPDwyxatIhf/epXZGdnk5mZSWVlJYWFhbjd7nFhY1WWx/M6K4qg50IHg2FfVN7iemcpe0rXY7vVwSC+Qp4wI5XALu/IJPBf7z/evzweKN7O/l/CheYvGH/ayaO8Zg9FPSc50TEYocveMmU23589F2j+wldLXjk1e4roOXmCjkG87WwtAlcnJy/A1uB94cpHqzveviS6Py+XHJeLwZXvsG9rUeAIV2fQfRPa/1h/h7ZHz4vHYELZkG2E2V+8nf1bc+i0sj/SwykiKfHo0SPOnDnDrl27AsHy9OlTli1bhtvt5syZMwwMDFiqa/z013+spYgeLkQ5dw7e7sFVZsMGJHxu8J3oey40M7HJQTpONNMR8WDfSXHoAs0nugN/799OmJN/Mdt97XzRDeSVx+hYPHWHK1/M9v1b2V7c7W0vZn0x9tts2GxF7Nnaw4Vm/31VzPb9e6ghWuhavX2QV17DnppyXCc6JvG45lFeVgQRV3Zi7ReRVBseHh4XLEDcgRIqjnd/5WDLm1QbAbayPewvc9HZA0VbayiPt77i9ZTZergQOMkP0tHZA0UrCZ2dK96+lSJXJ9etzsDEUTcAeSspsrnoDDTQzRfNvgCzUp/F9nouBI/muvniQg+2svXh+xTX7YPBjk56bGWsn8TUZl75Vmw9nZEjJcZ+EZkeHj9+zI8//hj4+8mTJwwPD0+6viwTnbLM1cnJEx0Mchtq9lC2tZzb8b5KdrlC1n1cuCgKCjwbZXv2e6eSToQmindf2fgK6bFSd2gnbTZsDNEZrfOx+hrztvRwO/QmTChjTZ4tB7Cxdf9+toZWacvzDShi3D8Bxay3dfLFdRs1ZRN2WtgvItNBZmYm7777LgUFBYyOjjI6Okpubi67du3izJkzca+nAGTx9Tf0VFezcuUYt7ozwhbKW1GEjSFuPBhjjEEGXZDnGcPjGV8+LzcHXN8zODbGWODdX2OMjXlXV1zfdzPg8QAD/P38DYpq1rF1fTf/z+JUjrdKD56xMTwZGb5tQe14W+HGic9wlR9gf00uJz67xmBGhq+cd1/HoO/YvHLeq1nhPTZG3aG31T+FGFw+rr7G2j84iIu8CfVPvL0v+hfa3/F/A64bgftjQn/zVkS/f4LaWrm9jMGOzxhjQ9i+hNsfev+JSGrNmTNn3KL86dOncbvd7N69m0WLFrFr167Atnhkwtd090DRug3kBU5CeZT/5kM+rCzG4ymmfJ0NerrpzsggI2MQ1xDk2BZNqMyWZ4MhV9iTVqiMwQ7O33BhW1dDZXEcbzu1rWBlcNO2PGwM4QqZ/rt17jw9tnVs2zCxn4nWDYBrEBc5hLkbrNcXbf+Ai6Fw9UfrUxQDrqGJ7U2GbQPFg+cDwRP3fhFJOX+g2O32QKAMDAwwPDzM6dOnA+8K2717N9nZ2XHVnenxeLh17gQ3WEfNgXcp9o0krn12ghs52zhwYBtF9HD+3K3ANSe3unsCYRC4DiWvnHVF0NN9K+rHvgTKezwMXPuM8z1QtM3brifGD7c6uOGysa78Fd+2PDZ4G+XWhJZuce58D7Z12yjP84Ttw/ji0eue0JeB23wfUv5FEFvoa8zbcouOG7CuJui+ySvnvW1FuG50TLi9obcn4u3b5n3x4PF48BRX8uGHv7F2/wBgY9066Lg2EPf+WI+tfvSjH2s/H374YcyfWHU8e/aMx48f43a7+fzzz3nw4EFg36NHj/j8888ZHh7myZMnPHv2zFK//HxrKgNc++xjrr3yLgcOHGDbhJNFEdsOvAsfn/OdEM/xsWsD79Uc4ECgsIsbJz7mWpyvoG+dO0/xgW1se28Drs9us/K9GlZ8f4LPwlbkDTveq+GAv+Ge83x8bmKk+CrnfPEBtm3bwO3zsXoSZ90xyye6HwaufcYJ3qMm6DFx3Qi9b2ysqznAuuAtE/5+F9fH5wLt1Rzw7/VOd10bACyOYHpuXCPaQxxrv4gk5uOPPzZSz8WLF7l+/XrYRfnh4WFaW1txu908f/48rnoz3nzzTU9+fn7Mgove+C3lrj9xLvYV+zKdLHqD3/7Gxo2mc+ihE5FkyMnJIScnh+bmZuvfp/Lg6v9wdgo6J4aFXJAqImJacIboU4pFRMQYfZ/KbPegnf/7X6nuhIikC41URETEGH1HvYiIJERrKiIikhRaUxEREWM0UhEREWOynrrdPHr0KNX9EBGRGWr58uWB37OGhoYYGhpKYXdERGQmKy0tDfyu6S8RETFGoSIiIsYoVERExBiFioiIGKNQERERYxQqIiJijEJFRESMUaiIiIgxChURETEmK57CT0dGktUPERGZJgoKCnA9fDipY+MKFYB58+dPqiEREZn9NP0lIiLGKFRERMQYhYqIiBijUBEREWMUKiIiYoxCRUREjFGoiIiIMQoVERExRqEiIiLGKFRERMQYhYqIiBijUBEREWMUKiIiYoxCRUREjFGoiIiIMQoVERExRqEiIiLGKFRERMQYhYqIiBijUBEREWMUKiIiYoxCRUREjFGoiIiIMQoVERExRqEiIiLGKFRERMQYhYqIiBijUBEREWMUKiIiYoxCRUREjFGoiIiIMQoVERExRqEiIiLGKFRERMQYhYqIiBijUBEREWMUKiIiYoxCRUREjFGoiIiIMQoVERExRqEiIiLGKFRERMQYhYqIiBijUBEREWMUKiIiYoxCRUREjFGoiIiIMQoVERExJivVHUilxYsXA/CLigpsNhsZGRlG6vV4PLhcLv7W3s79+/eN1CkiMhOkbaisWbOGNzZsADAWJn4ZGRnk5eXxq507+fu1awB8++23RtsQEZmO0jJUFuXl8caGDcbDJFRGRkYguPr7+hgYHExqeyIiqaY1FRERMSYtQ2XTpk2TGqWMjo5y7tw5/vuPf+Trmzf5+ubNmMdkZGSQkZHBW2+/PZmuiojMKGk5/WWz2SZ13N27d7nX2wuAw+EA4D9ef93Ssbk5OZNqU0RkJknLUJnsWsrSpUtZtGgRAwMDrF2zZkraFBGZSdIyVCYrOzubX+/enepuiIhMW2m5piIiIsmhkUoMo6OjOJ1OAO7fv8+ChQtZ9dprZGdnp7hnIiLTj0Ilhq6uLoaGhgBw3rkDeK85eeedd1LZLRGRaUmhEsOGDRvweDwAHP/0UwCGf/wxlV0SEZm2FCoWPHz4cNzfeXl5KeqJiMj0poV6ERExRiMVC/xrKX72wsIU9UREZHpTqFjgf/cXeC9iLFSoiIiEpVCJYWxsjAcPHgT+zsnJSbu3E1ccbGRvycTt/W0N/KF1GYca9xK823G8jmNXw9TBcWqbgnds9B7rCLd9J30N9ZxyAhsPcjTQAQfH65poD9vTjRxqLKOzrol2f90T+usMe6T38IMc3cuE+l/c/n7afH2yVx3ho8ol4fsUpp5o5cPVH3F70H0x7vZE2h6lfpFkUKjEMDY2Fnj3F8DIyAj9/f1kZXnvunRYtG9vqvOdAENO9gAsY+JJ7yAVV4NOsvYqdhY4cLCTavvVkJNaP/0Fezm08eqEIPIf+/u9cLzO1wd7FdUbgXBlJwg+iW7kUONhjuaHBhiAneojh6nsdeAI2VNxsJGdfQ3U1o0/ExfmLwkTnpHrCV8+cv3ht2/k0N4C2hrqOOXcyKHGfVR31Ht/D9xHwdsj1y+SLFqoF7OuduKggKX2F5vs5aXQdYbTXVBabp9wSNdf2ijYWcXEPcCyfJb09xFY1XK2cspSoEzoGMca2ugvKaNiwj4np+rrqG3qDNm+kbKCNprDjm766btrtZ5I5SPVH2G7fSkF/V1cc3pvT6djCfnLgI1llDg6fSF+ldNt/vs5Wv9FkkOhEkNWVhZvvPEGb7zxBvPmzeP58+c4HA4eP3nC4ydPUt296WdjGSWBEx+AnQ2l0NXhxNnRBaXlE8Pjbit/6a1kf1WYWLnaiWNJhH3xcnbQ1V9C2UaL5TeWUdKbz+7GRo42NnL0iD/47CwtWELlYe/238fsW4TykeqPtN3ZQRelbPAWoqzEQedVsC8toD8osZz3elmSvyxK/0WSJy2nv9xud1zrImtWrx7372TbnL28J8xKAMdxauuDhhL2ckrpotkJ0EEX+9hgb8UZ8uK5vek4ZUHTNi9c5VjdXaqPHOZoZfj1mqQqKaCvoY5a31TS/qoO/tDqHZGcAgiZbgovQvlI9d+L0m5LF7/33deO494pwahBEaEekWRJy5HK3//+97Roc+r009ZQR22Y6SXv1FcH3tOYk2tdULkr3FDhKseO90bY55tWamijYG8jh6yONCL0deI0VBSOvwTCor3T4R0BjOOdhgo3rRdeSPlI9Yfbbq/i9/ugua6O2ro6Osss3Bcx+y9iVlqGyq3ubq5cuYLb7U7qCMLtdnPlyhWuXLnCre7upLUzbThbaW4rYGdgOmgjuyuXsKTysHf6pbHR+w6osOsawNUztBXsjXyidLbS3NZPieX5qxD2ckqX9HIvCS/Ue+OsNN7yEBrQ3pAoKdv4YrrLXy5kOkxkKqVlqEjyOFv/Qm/lPqrt+NZX2vhP3ytr708DbRHXNZycammjYG/QW4E3VnnrArzrM0smecLcyKHDlfQej/R25DCuduIo2elr3071zhIcnSFzb/YqdpbEMfoJLh+p/gjbnfd6WRK0JlVRVuK9L+72BY0QN7K70ruGZan/Ioal5ZoKeEcrsUYPCxYs4LfvvRd23xPfIv3//OlP+lbHca5yum0nH+2rgt4S+rsaGP+a3Mm1rn4+KtsY/m3Bzlaa20r5qNJf3T3yGxs56t/vOE6t5TWBoLUe3xRdfNdoXOVYw9LAGgaO49ReBUKugXEcj1VvpPKR6o+0vYn/XHqEjxor/RX57gsnfzh+kKONjey1VL9I8mSsLC72xC7m9XRkhHnz5yezP9NKpFAZHR3lv//4RwAyMzXYE5HZxZabiyvkg3Sj8X8jbnNzc/qOVCZrbGyM02fOKExSauLV8tGvtBeRqaJQiYPH4+GLL74IfGmXpMpVjtVpHkdkOtLLbRERMUahEoevvvqKe729qe6GiMi0pekvC7oc3o8HTItrTUREEqBQieH27dt0dob7gEAREQml6a8onjx5wqXLl1PdDRGRGUOhIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMUahIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMUahIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMUahIiIixmSlugMJqTjI0ffheF0T7Va2A2Cn+shhKpd4/3J8Wsex9mjbQ5tsZG+J9/e+tgbqW51h9vXT1lDPKefE40VEZrMZGiq+AOh14LC0PVgh987WUdsO2Ks4cvggFe1NtEfcHlx9FUu76qhtAqjgUOM+qju84VFxsJEdfQ3U1ilJRCR9zdDpLyen6uuobeqyuD1YO+3+pHD20hdze3D1rZwKpMwd+vr9v1dQVtDGJ60KFBFJbzM0VOJUcZCjR6pYPmF7KSWOrolTZMHbIx1LIflLernn9JXvzWdXYyNHGxsjlBcRmf1m6PRXYpZXHeFw5RJwfEptU3vM7eFUHHyf/LaGF4FUUkBfQx21vqmwD6o6xq23iIikg/QIlfYm71qJzw+t9dS24h2FNO4ILKqH3R5yrH/dpqRr/CI9jrOBhfn2Lgd7SwsBhYqIpJf0mP6KpL2J444l5Bda3I6d6iP7oKVOoxARkTDSI1SC10UqKqh4sYOykn767kTbHnzsLip7z058q3B7F46SHVTbAexU7yjB0RV9+kxEZDZKj+mvYHcK2NHYyF7fn45P63whEWF70GhleUEBlJRwtPH9wDbvtSrtHGso4MjhRiq9B4dMmYmIpIeMlcXFHquFn46MMG/+/GT2R0REUsyWm4vr4UPL5X+9ezcAzc3NaTL9JSIiU0KhIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMUahIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMUahIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMUahIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMUahIiIixihURETEGIWKiIgYo1ARERFjFCoiImKMQkVERIxRqIiIiDEKFRERMSYrnsIFBQXJ6oeIiMwCcYWK6+HDZPVDRERmAU1/iYiIMQoVERExRqEiIiLGKFRERMSYuBbqI3ny+LGJahK2YOHCqPvVz/jMln4CZOCZgp5IqnjIiLhvpjxPZ0o/Y0k4VJ48fsyywsJEqzHi7p07Ee8Q9TN+s6GfwUZGnk5Bb2SqzZ8/L+K+mfI8nSn9tMLISMXjmRmvAv39LHr5ZXr+/e+U/Wu1n9PdTOknQEaG95XsvPnzU9wTMS0jA6I9FWfK83Sm9DOWtFtTCT6xp+pfEZHZKu1CJZUn9qKXX05Z2+nOP1KR2UeP7fSSdqGSyhO7RioiMtul3ZrK9z09KWt/RVGRpfZn0v05U+jV7OzlfWwjPxdnyvN0pvQzFiOhMpNYPbEnQyoDTUSsWZz5jDezR1g5xw1AYdZzAO48m8Pt59kA/NU9n/tjU3f6nDNnDkuXLqW3txeAZ8+exXV8VlZW4AOB7927x/Pnz433MdCW6Qrf2rSJxYsXA3D//n2ufPWVpeOKi4spevllzl+4YKRcJPGe2P3tAZb6BkTsn6lA27Z1a2Aqrbu7O2ZZ8E69xSprol9W2ppMn/zPq/v37wNYfl75aaQye5l8bDdnP2bX/MfMzZg4alie9ZzlWU8AeDN7hDMjC7nkTuyaDqsKCwtZv24dD30f6vvVX/+K2+22dGx2djZvbdpETk4OANdv3ODfSZyKNx4q/kAJ/T2aVatWsXbNGmPloonnxB5Pe1bKmhqp5OTkUPLznwPeVyD//Oc/o5YFKPn5z2OWNdEvK21Npk/+55LV51RSVRzk6PtwvK6J9pBdy6uOcLi0i4b6Vn4IFG9kbwlAP20N9Zxy+usoAaCvrYH6Vmfy+lraRW1TaE8TrNPC7afqCIcrl4SUcHiPm6rbb8EcPHyw0HuyXjN31NIxczM8VC34kVVZbj55nAvA8ygXYCbq3r17DBUXk5vrbWvTm29aCpbgQBkaGgrUlUxJX1OxNE8YVCZqeavlovTl9vffx3PAhOMTKbtyxQpL7cd12zwe6+XjKWupuuj3h9XHfrKPZTzMvJq1U33kMJW9Dhxh91ewq3IJ9AdtOdjIjr4Gauuc48oder+AtoY6TjkrONS4j+oOX9gYZad6RwFtLU3m6ovj9v/QWk9t64u9y6uO8AFnaKeCQ+/D8bo67+8J3v5Yj22s54onwU9b8Nef6P9Z8ZxHPb5tMW9bmP1WjktESt/9tXrVKlavWsXatWuNlLNi5YoVlvtmtT2rZeMKNIvWrl3L6lWrjJdNlNW2prJPiXNyqr6O2qausHuXV+2Atjb6AlsqKCto45PQV+H2AvL7u+hwArTT6VhCfjIupraXU9J71mBYxXv7g1Wwq7KXs61OqCilxNHlG+W0c6YNSsrtpjoZt/+z4EfWzB21PEoJtmbuKLsXPGb3guR+xMro6CiXr1xhaGiIoaEhbLm5bNq0iezs7LDls7Ozyc7O5u233gqMUi5fucLlK1cYHY3/dsYjZSOV1atXhz0Rh5a3Ws4Kj8dD9+3bUcusXr0awHKb8fSveOXKmO1HOjaatWvX4gH+8Y9/WC6LxfLRxOqn1bYm06fUjFSisFfxQf5Z6s8UcKTUt62ilJJeoLER7+xXm3dazNmBg32U21v5wVlBWYmDTlODiSDLy0vp62qNXdCEcLc/WEUp+W1naAeWFxTQ13cmsOuH3l7ySwuByaVfIiOVgsxnvDVvZFLt+m2e511n+dvTefQ9nzPpemI9p58+fcqly5e9bb79NrbcXN5+663ANv9UmD9MgECgXLp82fIaTKJS8u6v1atX87qFV/ZWy8Uj2ok9nvb84RNP/6wEymQF9yPWiTmesomy2tZU9sk8O9X7SnG0tAJV43eVFNDXUEet0zsV9kFVB/WtTk61dHHkcCOVgOPTuglrE4nzjgw664xXHEaU2+/fv6MAR0vq1k0i+cX8pwlP1/iP/0X2CK1PfpJol6LyB8Oly5fZ/Pbb5OTksPnttwPbgMB2YMoDBVIQKqkMFIh8Yo83UCbTN6sjlcmK98TsLz8VJ3GrbSWrT8kcqSyv2kdJVwv1TiB0FsfxYvqpvcvB3tJCsJdzZB98UlfHD3jD5hB1HDOZLEEjg2SLevshMA1Xn6RMSeSxXZNlbipodZYbSG6o+Lnd7nHBAgTCJXhRfqoDBdLwOpVkn9ijSVW7kkzexel8DnO08sXWw0eg4Wz4I5aXl0JXS+DdYd6wqYB2UxEwlSODKLff9w640Gm40Omu0OkwmdmmbE2l0PexzrFe4S9btsxSucmuqdwKc11EYWGhpZGHx+OJq2yoV4qLw7Zv5dh4vL52LY8ePeLOnTtGy4aKt5/+tkz0afqsqbRzrC4oDOxV3lFIfSs/UIHj/R1U29s55bRTvaMEx9kmfqCU/B3lLG91ekcqpSVmT6pJHhmMF+32A9gpL4W+jqBD7vTR934pFbTTTgW7KsHRMPnOJrKmkpdp7iLA3DmJvasq3mOfPn3KxUuX2LJ5M8C4Ka+Lly4BTPkoBdJwpGL1xJ4MU9luPO/wSPa7QSbT1lT2KXnaOdZQEFg7wfEpte0ATTQUHOFwo++lveNTag1epzGlC/QxFZK/pJfO4JvnbKX+04McbWxkL941JfNvp556+iI4rykLFf+rzm++/TbqRYJWy01WuBP7nTt3LLcXT9lQUxVo33z7Lf39/bELxlk2UVbbmso+TU7Iq/Ngzlbq60P+rpt4gg+9hsOcCnaVdnEmqZkSx+2PVLa9yRewqeUay2TxnDEzdT2f2is0srOz2bJ587gRCnhHLP7Ry8VLl2bmmko8bym+efMmeDwRr+vwl7daLt5+vvrKK3x369aEfbHaC9c3CP/W40j9C9eu1WOt+Oabb7z98/1rpbzVsuHE00+rbVktN1s+fM+8do7Vxy6VTqI9V751Z7F4gZmT7j+ezZ2y6a952dls9gXKQ/+i/MWLAGzesoVc/+L95s1cuniRp1MYLGn30fdWT+zJ8Oorr6SsbRGRqZCSNRX/K9FYV6FbLRePSCOV4Pbi6ZuVsn7JDLR4Rh3xjmgSYbWtZPdJHyg5eyXy2H41Mo9NC9xM/pJF8C/1/+1J+KvbTZrnu4LePxp5ODQUGKH4RyOXLl5k85YtAOTm5LB5y5YpHa2kbKHe6kl5MifvaGKd2ONtL57gixZoiYg3UKYiTOJpayr7JBLs3lgWXz3JZnMCU2CXR+YF6kqmednZ48LCHyihYfHU7Z4wFeYPFv/+ZErpB0p+ffOmtwwv3kIcrrzVclb6+dqrr/Kv776LWfbrmzfHtRetTatlrbQbrZ1wbn7zjXeNx3BZK6L102pbk+3T9HlLsaRaoh8oefLHBfzMt1i/Nju+7yn5xp1F6/B8bzuGPpgynLlz57J58+bAWsnDhw+5eOkST58+DVt+xLf94sWLbNm8mdzcXDb7Fu8vfPllUt9daTxae3t7A18G4/9CmVhu3rzJ4OAgxStXGikXjdUTe7zt+csCEctbDbRY7t69G7iQMtbHWN+9exfwXniZ7I+8ttrWZPrkf15ZfU6JWPWcDP5r6CUAts4fYffCEbJjrDa7x+D04/lcGJk/BT2E5cuXk5ubG/g+lWiBEsx/Lcsvt2wJfGx+0csvJ3UqPu0W6l979dWUtW0iUGRyNFKZvfTYTi8ZK4uLExqzPXn8mEU/+5mp/iRk4MEDFiwM/01s06Gf/pHKdO+n32zop99LP1nIgwcDzJs/Na8sZeq89JOFDP8Y/qPnJ/M8XTLnOZvmu3ltrncqzO77OmHnszn8a9Q7ufPVSDb9cX4icSL/P82ZM4fldjt3fKP8eKev5s6dS6Hv00p+cDqjfp2wlf+fQv16924Ampubk7+mMp14PB5WvfYa//zXv1LSvtV2Z9L9OVPo1ezsleiaStSkAx4AAAE2SURBVKi+Z5mcHLby4sPs8z9aP589e5bQ9zG53e6kfJ9TOGk3/ZWqQAFY9dprKWtbRGQqpN1IZfWqVfwjid/THo3VdmfS/TlTaKQye5keqaTKTOlnLGk3UklVoAAz6GtzRUQmJ+1CxX9iT8W/qQy0dKeRyuylx3Z6MfLuL1tenqn+JMQ1OBj13RXqZ3xmQz/9cnN+Sl9fv979NQvl5vyUh0Phv6dnpjxPZ0o/IzH67q8FCxfi8l30l2rR7gj1M36zoZ9+GRkZFBTkT0FvZDqZKc/TmdJPK4ws1Cfaiamifpo1U/oJ4Ho4lOouSIrMlOfpTOlnLGm3piIiIsmjUBEREWMUKiIiYoxCRUREjFGoiIiIMQoVERExRqEiIiLGKFRERMQYhYqIiBijUBEREWMUKiIiYsz/Byq5lVYbuZF5AAAAAElFTkSuQmCC[/img]
KILL_ORDERS, KILL_ORDERS не отрабатывает
 
OnTransReply не вызывается по транзакции transaction_stock_kill (в этом же скрипте ранее транзакция на выставление заявки - по ней OnTransReply вызывается и .result_msg выходит). Т.е. физического действия не происходит, хотя программно транзакция проходит, т.к. TRANS_ID присваивается
KILL_ORDERS, KILL_ORDERS не отрабатывает
 
 CLASSCODE - у меня переменной вставлено, там все правильно, заявка выставляется до этого
KILL_ORDERS, KILL_ORDERS не отрабатывает
 
Такой простенький код:

function transaction_stock_kill ()
   message('transaction_stock_kill poshlo '..Num_Z [j])
   t_kill = tostring (os.time())
   transaction_kill = {
       CLASSCODE = ClassCodeSt,
       SECCODE = "GAZP",
       ACTION = 'KILL_ORDERS',
       ORDER_KEY = tostring (Num_Z [j]),
       TRANS_ID = t_kill
                                  }
  sendTransaction (transaction_kill)
  message('TRANS_ID '..transaction_kill.TRANS_ID)
end

Номер заявки совпадает с табличным в QUIKе (первое сообщение в коде). Транзакции на снятие заявки проходит - второе сообщение в конце с TRANS_ID выходит (т.е. транзакция прошла), а по факту снятие активной заявки не происходит, почему так? чего не хватает?  
OnTransReply для опционов, OnTransReply для опционов не вызывается
 
В таблицах транзакций и сообщений все ноРм
OnTransReply для опционов, OnTransReply для опционов не вызывается
 
В таблицах транзакций и сообщений все ном, записей по ошибкам нет.

Сегодня и по фьючерсу не вызывается...
Cкрипт подачи заявки стандартный, заявка то выставляется, а OnTransReply не вызывается. Проверяю на простое действие:

function OnTransReply (order)
message ('chto-to otozvalos')
end

выходит только стандартное окно выставленной заявки, а моего окна не выходит.

p.s. как листать окна знаю, нет там его.
это я в демо-версии балуюсь, может в этом дело?
OnTransReply для опционов, OnTransReply для опционов не вызывается
 
Забыл написать, что пробую в демо-версии, может в этом дело?
OnTransReply для опционов, OnTransReply для опционов не вызывается
 
Напрочь отказывается вызываться функция OnTransReply для опционов. Один в один написан код для заявки на фьючерс и опцион, по факту обе заявки системой выставляются, по итогу  OnTransReply для фьючерса вызывается, а для опциона нет. Пробовал и вместе, и отдельно опцион запускать - ни фига.
p.s. подскажите, а есть на форуме поисковик по ключевым словам? может этот вопрос был в другим темах, но при отсутствии поисковика очень трудоемко все листать  
Сохранение результатов работы скрипта в файл
 
Спасибо за ответ.
Очевидно, что Ваш уровень знаний в QLUA значительно выше моего, поэтому мои формулировки могут показаться дилетанскими, не спорю.
Правильно тогда мой вопрос будет звучать как:
Результатом работы скрипта получается таблица как ТИП ДАННЫХ, которую нужно сохранить в файл.
Цитата
Цитата: Вам надо найти реализацию нагугленной вами этой функции или написать ее самостоятельно
в этом и вопрос как ее написать - никаких функций для этого я не нашел, даже зацепочки.
Неужели такая стандартная задача до этого никем в QLUA была не востребована и не изучена?
Сохранение результатов работы скрипта в файл
 
Не могу разобраться как сохранить результаты работы скрипта в файл.
Нагуглил про функцию SaveTable, но она не хочет работать (или я не понимаю как ее использовать).
Что-то типа
t_id = AllocTable()
--дальше формируем таблицу, в конце прошу скинуть в файл:
SaveTable(t_id, SaveResalt)
и в итоге:
attempt to call a nil value (global 'SaveTable')

p.s. таблица сама на экран выводится нормально, никаких ошибок не выдает
Как обойти attempt to index a nil value ?, Как обойти attempt to index a nil value при отсутствии реальных значений в таблице
 
Спасибо, все получилось
Как обойти attempt to index a nil value ?, Как обойти attempt to index a nil value при отсутствии реальных значений в таблице
 
При выполнении этого фрагмента скрипта:
nLKOH = getDepoEx ("NC...", "10...", "LKOH", "NL...", 0).currentbal
выдает ошибку "attempt to index a nil value"
Я понимаю, почему система возвращает ошибку - позиций по "LKOH" просто нет в "позициях по инструментам", но пусть выдаст тогда значение 0 и не останавливает скрипт.
Как это реализовать?  
Страницы: 1
Наверх