Перейти к содержанию

[Скрипт] CheckMyBalance


KROOL1980

Рекомендуемые сообщения

[Скрипт] CheckMyBalance Опубликовано (изменено)
Назначение: Диагностика размера депозита для сеточного мартингейла.
Предназначен для быстрой оценки достаточности депозита для торговли, основанной на сеточном мартингейле, с учетом размера кредитного плеча счета и уровня стоп-аут.

Настройки:
LANG – язык (RUS/ENG)
LotSize – начальный лот
GridStepPips – шаг сетки (пипс)
LotMult – умножитель лота

Использование:
1. Кладем скрипт в experts\scripts.
2. Бросаем на график той валютной пары, для которой надо просчитать пирамиду.
3. Читаем в папке experts\files файл CheckMyBalance.txt (открывать любым текстовым редактором, например, notepad)

Пример выходного файла:

Депозит = 9990.70
Плечо = 1:500
Уровень стоп-аута = 20%

Параметры сетки:
--------------------
Базовый лот пирамиды = 0.01
Умножитель лота = 1.80
Шаг сетки = 30 пипс

================================================================

Требования к депозиту для N колен пирамиды

Минимальный депозит для N = 1 колен = 5.61
Минимальный депозит для N = 2 колен = 14.22
Минимальный депозит для N = 3 колен = 37.04
Минимальный депозит для N = 4 колен = 80.08
Минимальный депозит для N = 5 колен = 166.16
Минимальный депозит для N = 6 колен = 327.11
Минимальный депозит для N = 7 колен = 631.79
Минимальный депозит для N = 8 колен = 1189.89
Минимальный депозит для N = 9 колен = 2205.79
Минимальный депозит для N = 10 колен = 4045.22
Минимальный депозит для N = 11 колен = 7370.34
Минимальный депозит для N = 12 колен = 13364.81

================================================================

При данных настройках, депозита достаточно для открытия
11 колен (300 пт) + хода цены против пирамиды на 63 пт


За написание скрипта, благодарность: loopsider.


Текстовый файл (CheckMyBalance.txt), после каждого использования скрипта, надо удалить или перенести.

CheckMyBalance_1.2.zip
CheckMyBalance_1.3.zip
CheckMyBalance.zip

Изменено пользователем Pavel888
  • Лайк 12
Ссылка на сообщение
Поделиться на другие сайты

KROOL1980, при расчете потребности в деньгах учитывается и просадка от ордеров предыдущих колен, и деньги на залог для открываемого ордера?
Ну и комиссии еще есть у некоторых типов счетов...

Не вполне понимаю отрабатывается ли корректно ситуация, при которой депо еще не исчерпано, но свободных средств на залог большого старшего ордера уже может и не хватать.
Это очень важно при анализе возможности использования небольших депо и для реал счетов с невысокими плечами.
Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)

Скрипт предназначен для быстрой оценки достаточности депозита для торговли.
Просто и быстро в водишь три параметра и видишь сколько колен выдержит депо.

Изменено пользователем KROOL1980
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)
KROOL1980 и loopsider, ни для кого не секрет мое глубокое уважение к вам обеим!
Для вас не секрет и то, что я регулярно жму на сердечко в ваших постах и выражаю вам благодарность, так как считаю вашу деятельность эффективной и чрезвычайно полезной.
И скрипт этот тоже очень полезен может быть для оперативной оценки возможностей текущего депозита в ходе реальных торгов.
Кому-то этот скрипт может подсказать правильное решение и в экстремальных торгах спасти депозит!...

Но по цифрам в выдаче скрипта у меня есть вопросы - ну, или мое недопонимание.

Сейчас глубокая ночь на воскресенье, торгов нет, курсы фиксированные - соответственно, требуемые залоги не меняются и можно сравнивать результаты для разных настроек и счетов.
Я прогнал тесты на 2-х счетах с плечами 1:100 и 1:200 для 2-х одинаковых комплектов настроек - пара gbpusd.

По расчету 1-го колена в тестах у меня следующие вопросы:
1) ввиду разных плеч, залоги для ордера 1-го колена разнятся вдвое и вычисляемая скриптом потребность в деньгах депо должна быть существенно разной. В тестах это не так.
2) на одном счете, при одном и том же лоте 1-го ордера, изменение множителя лота и шага сетки не должны изменять потребность в деньгах на 1-м колене, так как множитель лота и (в зависимости от идеи автора) шаг сетки на 1-м колене не применяются и учитываться по идее никак не должны. В тестах же на одном счете изменение множителя лота и/или шага сетки приводят к изменению потребности в деньгах для 1-го колена.

Конечно, я понимаю, что 1-е колено особенное и обсчитывается по несколько иным формулам.
Возможно, все остальные колени вычисляются правильней.
Но даже это не отвечает на оба моих вопроса.
В общем, просьба тщательно перепроверить выложенный скрипт - имхо, первая версия работает некорректно.
Ну, или я просто не понял что вычисляет скрипт и/или как его применять.

P.S.
1) рекомендовал бы в шапке выдачи скрипта указать, что расчет только для сеток с фиксированным шагом.
2) может, стоит имя файла выдачи скрипта делать составным как в моих файлах тестов?
Можно еще впереди добавить дату и время формирования файла вида ГГГГММДД ЧЧ.ММ и наименование валютной пары, на которую ставился скрипт.
Тогда имена файлов выдачи скрипта станут уникальными и будут автоматически сортироваться по времени и валютным парам.

Млин, не понимаю как вы, при расчете залогов разных колен, учтете изменение курса обсчитываемой валютной пары на разных коленях пирамиды...
Ведь между 1-м и последним ордерами пирамиды и 300 пипс зазора может быть и текущий курс влияет на вычисляемый залог всегда.
А стопаут есть процент от суммы залогов ордеров пирамиды - так что залоги всех ордеров пирамиды высчитывать по любому придется и достаточно точно.

CheckMyBalance=10000-200-100%=0.02-1.7-31=Бид-Аск-1.6131-1.6140.txt
CheckMyBalance=10000-200-100%=0.02-1.77-19=Бид-Аск-1.6131-1.6140.txt
CheckMyBalance=10952-100-30%=0.02-1.7-31=Бид-Аск-1.61298-1.61310.txt
CheckMyBalance=10952-100-30%=0.02-1.77-19=Бид-Аск-1.61298-1.61310.txt

Изменено пользователем Старик
Ссылка на сообщение
Поделиться на другие сайты

Поясняю, что именно считает скрипт.

Что такое "пирамида с N коленами" можно понимать по-разному. В файле, который выдает скрипт, первая строка, например

Минимальный депозит для N = 1 колен = 5.61

означает, что маржа, необходимая для открытия первого колена + просадка первого ордера пирамиды ДО ВТОРОГО колена составляют 5.61 единиц базовой валюты. И так далее, например
Минимальный депозит для N = 4 колен = 80.08

влючает в себя маржу на отрытие всех ордеров пирамиды + суммарную просадку всех открытых ордеров до СЛЕДУЮЩЕГО колена пирамиды.
Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)

Понял - с учетом просадки всех открытых ордеров, включая последний, до следующего колена.
Тогда понятно почему на 1-м колене меняются цифры при изменении шага - меняется составляющая просадки.

Но тогда мне все равно непонятно почему для 1-го колена на счетах с разными плечами (1:100 и 1:200) скрипт выдает одинаковые цифры.
При одинаковых начальном лоте, шаге и множителе лота при плече 1:200 цифры должны быть меньше, так как залог вдвое меньше, чем при плече 1:100.

Насколько помню, для пар вида xxxusd залог вычисляется по формуле: Текущий_курс * 100000 : плечо * лот_ордера
Для фунтобакса, курс 1.6100, плеча 1:100 и ордера 0.02 лота соответственно Залог = 1.6100 * 100000 :100 * 0.02 = 32.2
Для фунтобакса, курс 1.6100, плеча 1:200 и ордера 0.02 лота соответственно Залог = 1.6100 * 100000 :200 * 0.02 = 16.1
Вроде ж так?
А в тестах на первом колене при одинаковых настройках скрипт выдает практически одинаковые числа (38.46 и 38.48) для разных счетов с плечами 1:100 и 1:200.
Имхо, этого быть не должно и разница должна быть весьма существенна - ведь сумма залогов на плече 1:200 вдвое меньше суммы залогов ордеров на плече 1:100.

P.S. Скрипт очень нужный!
Когда ты в критичных торгах, пирамида развернута, а безоткат продолжается и есть угроза стопаута, крайне важно знать на сколько хватит текущего депо и где надо локировать позицию или стопить всю пирамиду.
Скрипт же мгновенно выдает критично важную информацию для сохранности депо в экстремальных торгах!
Доведите скрипт до ума, пожалуйста, он действительно очень важен и полезен!

Изменено пользователем Старик
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)


Но тогда мне все равно непонятно почему для 1-го колена на счетах с разными плечами (1:100 и 1:200) скрипт выдает одинаковые цифры. При одинаковых начальном лоте, шаге и множителе лота при плече 1:200 цифры должны быть меньше, так как залог вдвое меньше, чем при плече 1:100.


Залог вдвое меньше, а просадка та же самая.

Вот что получается при разных кредитных плечах (настройки по умолчанию)
 
Плечо = 1:100
Минимальный депозит для N = 1 колен = 13.00

 
Плечо = 1:500
Минимальный депозит для N = 1 колен = 6.22

Залог считается с помощью стандартной функции МТ4, которая возвращает величину залога за 1 лот по данному инструменту. Что именно она возвращает, можно посмотреть например прилагаемым скриптом. Скрипт создает файл в experts\files, ищем строчку

Free margin required to open 1 lot for buying = 321.82

Предлагаю посчитать первое колено вручную и сравнить с тем, что выдает скрипт.

Добавлено: 08-10-2012 12:03:18

Считаем. Альпари, плечо 1:500, GBPUSD
Free margin required to open 1 lot for buying = 321.69
лот 0.01 + колено 30 пт = (300 пятизначных пт):
залог 321.69*0.01
просадка 300*0.01
сумма 6.22

Минимальный депозит для N = 1 колен = 6.22

ОК?

Если быть точным, надо было бы учесть спред. Скрипт этого не делает.

MarketBrowse.zip

Изменено пользователем loopsider
Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)
loopsider, с тем, что вы написали, я согласен полностью. Теория у нас одинаковая.

Я не согласен с одинаковой выдачей (расчетами) для 2-х счетов с плечами 1:100 и 1:200 соответственно.
Выдача получена с чатов gbpusd с разницей в считанные секунды, настройки оставлены по умолчанию.
Курс в момент расчета около 1.60, залог для 0.01 лота 16 баксов при плече 1:100 и 8 баксов при плече 1:200.
Разница должна быть 8 баксов на 1-м колене, 16 баксов на 2-м колене и т.п.

Я вроде об этом писал с самого начала - у меня в тестах скрипт выдает одинаковые расчеты вне зависимости от плеча.

CheckMyBalance=плечо-100.txt
CheckMyBalance=плечо-200.txt

Изменено пользователем Старик
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Действительно странно. Давайте попробуем разобраться.
1. Запустите MarketBrowse на обоих счетах и напишите значения "Free margin required to open 1 lot" для обоих счетов.
2. Счета демо? Откройте на каждом ордер 0.01 лотом и посмотрите какой залог будет писать терминал.

Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)

1:100 реал Адмирал, 1:200 демо ФОРЕКС.ком

MarketBrowse_GBPUSDFXF.rar
MarketBrowse_GBPUSD-Pro.rar

Изменено пользователем Старик
Ссылка на сообщение
Поделиться на другие сайты

Результаты для плеча 1:100 правильные, для 1:200 неправильные. Скорее всего, потому что брокер сообщает о себе неправильную информацию. Посмотрите значение "Free margin required to open 1 lot".

Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)

Вся инфа по счетам в предыдущем (№9) посте.

Залоги по открытым ордерам в обеих терминалах корректные - при курсе фунта около 1.60 8 баксов при 1:200 и, насколько знаю, 16 баксов при 1:100.
На реале открытые ордера, прикинул по ордеру по ближайшей цене.

Изменено пользователем Старик
Ссылка на сообщение
Поделиться на другие сайты

Разобрался. Неправы все :)

Разница в аккаунтах не только в плече, но и в уровне стоп-аута. На втором аккаунте плечо 1:200 но стоп-аут 100%. Этот стоп-аут удваивает залог. На первом счете плечо 1:100 но стоп-аут 30%. В этом случае стоп-аут ошибочно не учитывался скриптом (ошибка целочисленного деления). Поправил. Еще немного расширил вывод и добавил новую переменную Balance - если хочется, можно выставить любое значание балланса (если 0, то используется реальное значение).

CheckMyBalance_1.2.zip

Ссылка на сообщение
Поделиться на другие сайты

loopsider, чего-то я и в новую версию не въезжаю...
Давайте уже просто в цифрах - потому что их я продолжаю не понимать.

Про стопаут на первом колене можно забыть - насколько понимаю, он не используется здесь.
Стоп-аут, насколько знаю, это минимальное отношения средства/залог, при котором все позиции принудительно закрываются.
Стоп-аут это уровень, константа для счета.
Константа стоп-аут не используется нигде, кроме одного-единственного места - контроля недостижения уровня стоп-аута средства/залог и закрытия позиций при достижении.
Правильно же?

30 4-хзначных пипс шага (просадки) для ордера 0.01 лота для все пар вида xxxusd равно 3 долларам.
Правильно же?
Это первая вычисляемая составляющая.

Вторая вычисляемая составляющая - резервируемый залог (свободная маржа) для открытия ордера.
Для пар вида xxxusd прямо пропорционально курсу и лоту ордера и обратно пропорционально плечу.
Для фунтобакса при курсе 1.60 залог ордера 0.01 лота при плече 1:100 равен $16, а для плеча 1:200 равен $8.
Правильно же?

Есть всего 3 цифры для лота 0.01: $3 покрытия просадки в 30 пипс и залоги $16 при плече 1:100 и $8 при плече 1:200.
Соответственно, для первого колена скрипт должен выдавать:
$3+$16=$19 при плече 1:100 и
$3+$8=$11 при плече 1:200.

Я в чем-то не прав?

CheckMyBalance-100.txt
CheckMyBalance-200.txt

Ссылка на сообщение
Поделиться на другие сайты

Не прав. Мы считаем размер МИНИМАЛЬНОГО ДЕПОЗИТА, необходимый для того, чтобы открыть - в данном простейшем случае - один ордер 0.01 + выдержать просадку в 30 пт. Поэтому стоп-аут очень даже причем - если он будет достигнут по дороге, то требуемую просадку депо не выдержит. Считаем
Плечо = 1:100
Уровень стоп-аута = 30%
Залог за 1 лот = 1601.68
Залог за 0.01 лот = 16.02
Просадка на 30 пт = 3
Минимальный депозит = просадка + залог*(1 + стоп-аут/100) = 23.83


Минимальный депозит для N = 1 колен = 23.82
Ссылка на сообщение
Поделиться на другие сайты


Мы считаем размер МИНИМАЛЬНОГО ДЕПОЗИТА, необходимый для того, чтобы открыть - в данном простейшем случае - один ордер 0.01 + выдержать просадку в 30 пт.
Поэтому стоп-аут очень даже причем - если он будет достигнут по дороге, то требуемую просадку депо не выдержит.


:d Не вредности ради, а пользы для.
Ну не согласен.
Наконец-то сам ясно понял в чем дело и, надеюсь, теперь связно объясню.

я уже давненько не сливал счетов, но, насколько помню, стоп-аут срабатывает при следующем наборе значений параметров:
1) Средства (equity) снижаются до уровня Залога (Margin), умноженного на значение параметра "Стоп-аут".
Если сумма залогов ордеров 5000 и стопаут 30%, то Средства (equity) должны снизиться до 1500.
2) Уровень (Margin level) снижается до равенства со значением параметра "Стоп-аут" в %%.
Если в терминале стопаут 30%, то для его срабатывания Уровень (Margin level) должен снизиться тоже до 30%.
3) Свободно (Free margin) становится отрицательным и снижается до уровня Залога (Margin), умноженного на 100% минус значение параметра "Стоп-аут".
Если сумма залогов ордеров 5000 и стопаут 30%, то Свободно (Free margin) должны снизиться до -3500.

Понятно, что параметры взаимосвязаны, вычисляются одновременно на каждом тике и в строке "Баланс" терминала МТ4 они достигнут "стопаутных" значений синхронно.
Но принципиально важно, что стоп-аут не произойдет до тех пор, пока Свободно (Free margin) положительно, больше нуля.

Насколько понимаю, вы правильно высчитываете просадку, которую необходимо перекрывать - причем на каждом колене на один шаг вперед, дальше от позиции открываемого в данном колене ордера.
И именно идея вычисления просадки всех ордеров, включая текущий открываемый ордер, на "плюс шаг вперед" обеспечивает необходимый резерв денег и гарантированную положительность Свободно (Free margin) при росте (по ходу роста) просадки еще на шаг - что полностью исключает срабатывание ситуации стопаут (при реальной потребности в деньгах меньше баланса счета).

Вычисляемая вами просадка для N-го ордера условно делится на 2 части:
1) уже имеющуюся просадку N-1 ордеров на N-1 шагов, что покрывает просадку от 1-го ордера пирамиды до позиции открытия текущего N-го ордера.
Эти средства покрывают текущий убыток в колонке Прибыль (Profit) терминала - но эта часть денег обеспечивает значение Свободно (Free margin) лишь равным нулю.
2) будущую просадку всех N ордеров на один (N-й) шаг, в случае движение курса еще на шаг против пирамиды. Это резерв средств.
Именно на эту сумму станет положительным Свободно (Free margin) - что будет 100% гарантировать не возникновение ситуации стоп-аут в течение минимум еще одного шага движения курса против пирамиды.
И именно на эту сумму минимум Средства (equity) будут больше Залога (Margin).

В общем, вы сами гарантировали НЕ наступление ситуации стоп-аут, введя вычисление просадки всех ордеров на (текущий включительно) шаг вперед.
Даже при моем исключительном случае с более чем странным стоп-аутом 100% на демке FOREX.com, при вычислении просадки всех ордеров на (текущий) шаг вперед, не требуется вводить какой-то повышающий коэффициент - деньги до уровня открытия следующего N+1 ордера высчитаны и в минимальном балансе зарезервированы, а со стоп-аутом на уровне открытия ордера следующего колена будем бороться при расчете следующего N+1 колена.
Поэтому залоги всех ордеров могут вычисляться стандартной функцией терминала - и никакие поправочные повышающие коэффициенты не нужны.
Если же повышающий залог коэффициент сохранится, то он будет искажать реальную потребность в средствах и сделает применение скрипта бессмысленным.

Надеюсь, что в этот раз вы согласитесь с отстаиваемым мной алгоритмом расчета залога и потребности в средствах.

---

loopsider, по какой-то неведомой мне причине вы никогда не сделали ничего из того, о чем я просил.
Этим вы наносите мне глубокую душевную травму! А я такой ранимый... :d :d
Давайте я вас еще раз попрошу - а вы хоть раз сделайте абсолютно все, о чем я буду просить, хорошо?!

1) В выдаче скрипта надо однозначно указать, что данная версия скрипта применим только к мартинам с сеткой с фиксированным шагом.
Скрипт в открытом доступе, доступен людям с разной подготовкой и люди могут попасть на деньги, если ошибочно применят скрипт к сеткам с переменной геометрией.
В той части, в которой это от вас зависит, вы обязаны риск этого минимизировать, однозначно указав область применения скрипта.

2) Вы ввели в выдачу наименование пары, для (на) которой выполнялся расчет потребности в средствах для пирамиды.
Это надо было сделать и это правильно.
Но я попрошу KROOL1980 указать в первом посте топика, что скрипт надо кидать именно на чат той валютной пары, для (на) которой надо просчитать пирамиду.

3) Считаю целесообразным, по той же схеме, что и возможность указания произвольного депозита, добавить в скрипт и параметр максимального количества колен.
Сейчас скрипт несколько казиношный - что будет, если "зайти всем депо".
На депо в тысячи и десятки тысяч баксов это не применимо - у людей с деньгами ММ все же есть, иначе откуда деньги?!... :)
При наличии еще и возможности указания максимального количества колен люди смогут скриптом моделировать - рассчитывать параметры сеток под свои деньги или, скажем, вычислять сколько прибыли можно снять со счета, при этом сохраняя допустимую просадку на достаточном по ММ уровне.

4) Скрипт высчитывает, но не выдает в файл критически важную для пользователей дополнительную информацию.
Предлагаю в каждой строке выдачи для N-го колена справа от вычисленного минимального депо дополнительно выводить:
а) пипсов от 1-го ордера (длина пирамиды на уровне открытия N-го ордера и, через / или тире :), то же плюс шаг - т.е. на сколько пипсов просадки рассчитан минимальный баланс данного N-го колена).
б) объем в лотах (наибольшего) открываемого ордера текущего N-го колена.
в) сумма объемов (лотов) всех открытых ордеров пирамиды, включая открываемый (наибольший) ордер текущего N-го колена.
Информативность и потребительская полезность вашего скрипта при этом повысится очень существенно.

5) Появляющаяся возможность моделирования вариантов депо/сеток предполагает необходимость сохранения результатов моделирования.
Я уже предлагал ранее формировать составное имя файла выдачи скрипта, включающее параметры расчетов - уточняю это предложение.
Как минимум, файлы выдачи по/из имени должны:
- группироваться по счетам и валютным парам
- показывать пользователю настройки и условия расчета, хранящегося в данном файле, без/до просмотра самого файла.
Вариант кодифицированного имени файла выдачи скрипта:
CheckMyBalance=№счета-Код_пары-плечо-Стопаут%=ГГГГММДД ЧЧ.ММ=Баланс=Минордерлот-Множитель_Лота=Шаг-Максимум_Колен=Ask-х.уууу
№счета потому, что в терминале могут быть несколько счетов с отличающимися параметрами - но все они будут складывать файлы выдачи скрипта в одну и ту же папку, а выдача должна автоматом по именам группироваться и сортироваться.
Код пары вы ввели в выдачу - но и в имени файла надо повторить, имхо, это критично, люди точно будут осваивать дополнительные пары и надо досортировывать файлы по парам.
С датой и временем выполнения расчета не вполне понятно: в файле выдачи скрипта указывать точно стоит - а вот в названии файла вроде тоже надо (во избежание перезаписи файлов и для сортировки по хронологии), но позиция в названии даты/времени мне не вполне ясна.
Что касается Ask, то, в зависимости от курса, залог и результаты расчетов могут отличаться на многие %% и стоит указывать этот параметр, чтобы пользователь мог ориентироваться насколько устарела данная модель/расчет.

Даже с этими доработками скрипт будет иметь погрешность в несколько %%.
Про неучет спрэда вы писали.
Вторым фактором есть расчет залогов пирамиды по одной цене - а именно то, что для разных пар для 3-х фигурных пирамид курс 1-го и последнего ордеров может отличаться на 2%-4%, что существенно искажает вычисляемые залоги.
Однако я не думаю, что эти проблемы стоит пытаться как-то особенно хитроумно решать...

loopsider, пожалуйста, доведите до ума скрит.
Замысел ваш хороший и много людей с благодарностью пользовалось бы полнофункциональной, с учетом моих пожеланий версией скрипта.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Цитата

Давайте я вас еще раз попрошу - а вы хоть раз сделайте абсолютно все, о чем я буду просить, хорошо?!



Вопрос конечно интересно поставлен? :-/

Может так правильнее :
Давайте я вас еще раз попрошу заплачу - а вы хоть раз сделайте абсолютно все, о чем я буду просить, хорошо?!

Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)


Цитата

Давайте я вас еще раз попрошу - а вы хоть раз сделайте абсолютно все, о чем я буду просить, хорошо?!



Вопрос конечно интересно поставлен? :-/

Может так правильнее :
Давайте я вас еще раз попрошу заплачу - а вы хоть раз сделайте абсолютно все, о чем я буду просить, хорошо?!

KROOL1980, удивляешь, даже сильно.

Скрипт выложен в открытый доступ и, имхо, работает некорректно. И выдает минимум информации.

На выдачу предложений по доработки скрипта только сегодня я потратил больше 4-х часов моего не самого дешевого времени - тем более в выходной.
А у меня еще тьма работы по моду хакеда, по моим фирмам и еще по много чему.
Предыдущее обсуждение в теме тоже заняло время, которое мне тоже никто, понятно, не оплатит - да просто не вернет.
С учетом моих предложений скрипт становится корректным и полнофункциональным - но лишь после этого, а не до.
Хотелось бы понять за что я должен платить?
Может, это ты как топикстартер мне должен доплачивать за участие в доработке скрипта?

KROOL1980, не морочь голову - если бесплатно, то бесплатно все для всех.
Ни хрена себе ты завернул...

И не забывай, что мне самому доработать этот скрипт - максимум пару часов, включая ознакомление.
Но я проявляю уважение к коллегам-форумчанам и трачу в разы больше времени на словесное описание доработки ради того, чтобы форум получил полноценный продукт, а задумавшие скрипт люди уважение пользователей.
А ты мне предъяву, чтобы я за проявленное мной уважение и выполненную работу еще и заплатил...
Дурно на тебя капитализм влияет, ага! :d

P.S. Если не возражаете, топик после доработки скрипта я радикально вычищу.
Оставим только пост с описанием и полнофункциональную версию скрипта.

Добавлено: 13-10-2012 19:59:24


Использование:
1. Кладем скрипт в experts\scripts.
2. Бросаем на любой график.


Подправь, пожалуйста - скрипт надо бросать на график той валютной пары, для которой надо просчитать сетку.
На других парах результаты будут существенно отличаться.

И просьба уточнить в первом посте, что данный скрипт применим только к мартинам с сетками с фиксированным шагом. Изменено пользователем Старик
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Старик, я был неправ, признаю. Стоп-аут в скрипте учитывался неправильно. Исправлю. Спасибо, что указали на ошибку.


loopsider, по какой-то неведомой мне причине вы никогда не сделали ничего из того, о чем я просил.
Этим вы наносите мне глубокую душевную травму! А я такой ранимый... :d :d


Действительно.
Старик, я меньше всего хочу вас обидеть. Но у нас с вами, похоже, ортогональные представления об организации труда трейдера и представления об удобстве и неудобстве. А делать вещи, которые "поперек горла" я очень не люблю. Не обижайтесь - характер такой.


Давайте я вас еще раз попрошу - а вы хоть раз сделайте абсолютно все, о чем я буду просить, хорошо?!


Боюсь что абсолютно все не получится. Еще раз, не обижайтесь.
Ссылка на сообщение
Поделиться на другие сайты

[Скрипт] CheckMyBalance Опубликовано (изменено)
loopsider и KROOL1980, если чем задел, извините.
Я просто очень нагружен и очень устаю, месяцами в жестком цейтноте, что иногда сильно напрягает.

Давайте доживем до успешно работающего скрипта, перевернем эту страницу и двинемся дальше.

Добавлено: 16-10-2012 16:00:13

Совсем забыл - кроме задаваемого максимума колен, критично важны еще и стопы... :(
Их используют реально и пока во всех мартинах форума стопы фиксированные по-ордерные, а не корзины.

http://tlap.com/forum/laboratoriya-profitfx/24/sovetnik-haked-uluchshenie/2156/?do=findComment&comment=39690
Здесь вроде формула вычисления стопов корректно получилась, обычно с вычислением стопов в экселе сложности.

P.S. Кстати, минимальный и максимальные лоты ордеров для конкретного счета надо проверять.
Множество раз уже юзеры ставили ботов с минимальным ордером 0.01-0.02 на счета с минимальным ордером 0.1.
И в верхнюю границу лотности тоже упирались - максимальный ордер в боте превышал максимально допустимый по типу счета.
Мда, только копни... Но что ж делать, ситуации из реальных торгов. Изменено пользователем Старик
Ссылка на сообщение
Поделиться на другие сайты

Новая версия скрипта.
Расширена функциональность. Теперь можно вручную устанавливать кредитное плечо, уровень стоп-аута, балланс (отличные того, что имеется в наличии).
Расширен вывод информации.
Имя файла, в который все пишется, теперь содержит имя валютной пары, для которой все считается.
Исправлена ошибка.
В выводе колен пирамиды графа депозит выдает залог + суммарная просадка.
В конце скрипт пытается по возможности точно вычислить, при когда именно наступит стоп-аут.

Функциональность скрипта расширяться дальше не будет. Если найдутся ошибки, сообщайте, исправлю.

Пример вывода:


Диагностика размера депозита для сеточного мартингейла
Инструмент: GBPUSD

Депозит = 9990.70
Плечо = 1:500
Уровень стоп-аута = 20%
Залог за 1 лот = 322.40
Стоимость 1 пункта для 1 лота = 1.00
Спред = 0.00014

Параметры сетки:
--------------------
Базовый лот пирамиды = 0.01
Умножитель лота = 1.80
Шаг сетки = 30 пипс

================================================================

Требования к депозиту для N колен пирамиды

Колен Депозит Пунктов Последний лот Общий лот
#1 6.22 30 0.01 0.01
#2 15.45 60 0.01 0.02
#3 40.12 90 0.03 0.05
#4 86.24 120 0.05 0.10
#5 178.48 150 0.10 0.20
#6 350.51 180 0.18 0.38
#7 676.13 210 0.34 0.72
#8 1271.79 240 0.61 1.33
#9 2355.43 270 1.10 2.43
#10 4316.78 300 1.98 4.41
#11 7861.75 330 3.57 7.98
#12 14251.56 360 6.42 14.40

================================================================

При данных настройках, депозита достаточно для открытия
11 колен (330 пт) + хода цены против пирамиды на 51 пт


Собирался слить демо депозит, чтобы проверить окончательно, но пока не получилось :)

CheckMyBalance_1.3.zip

Ссылка на сообщение
Поделиться на другие сайты


Собирался слить демо депозит, чтобы проверить окончательно, но пока не получилось :)

Округление при расчёте последнего лота не работает. В твоём примере для второго колена лот должен быть 0.02! Соответственно общий лот для второго колена должен быть 0.03... :(
Ссылка на сообщение
Поделиться на другие сайты



Собирался слить демо депозит, чтобы проверить окончательно, но пока не получилось :)

Округление при расчёте последнего лота не работает. В твоём примере для второго колена лот должен быть 0.02! Соответственно общий лот для второго колена должен быть 0.03... :(

Лот не округляется, а отбрасывается дробная часть: 0.018 -> 0.01
Ссылка на сообщение
Поделиться на другие сайты




Собирался слить демо депозит, чтобы проверить окончательно, но пока не получилось :)

Округление при расчёте последнего лота не работает. В твоём примере для второго колена лот должен быть 0.02! Соответственно общий лот для второго колена должен быть 0.03... :(

Лот не округляется, а отбрасывается дробная часть: 0.018 -> 0.01
Согласен, но реально в большинстве сов (и в Hackedе тоже) при открытии ордера идёт округление. Ты можешь увидеть не ту картину... :(
Ссылка на сообщение
Поделиться на другие сайты


Согласен, но реально в большинстве сов (и в Hackedе тоже) при открытии ордера идёт округление. Ты можешь увидеть не ту картину... :(


Чтобы увидеть ту картину, надо писать скрипт под конкретного сова. По большому счету, дело даже не в округлении - это мелочь. БОльшая разница будет от того, как мы увеличиваем лотность. Можно брать лот предыдущего ордера и умножать его на умножитель лота, а потом округлять или отбрасывать дробную часть, или - как это делается в скрипте - брать объем первого лота, умножать на умножитель нужное количество раз, а потом округлять. Результаты будут существенно разные.
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...