Discusión sobre el artículo "Creación y simulación de símbolos personalizados en MetaTrader 5" - página 4

 
Teniendo en cuenta que este tema está dedicado a los símbolos personalizados, voy a preguntar aquí.
Si elijo el tipo de cálculo - "Exchange Futures" como en la pantalla de abajo, y añado un spread, ¿será tenido en cuenta por el tester durante las pruebas ? o será ignorado ? La idea es añadir un posible deslizamiento en su propio símbolo como un spread y probarlo en el tester.
Archivos adjuntos:
 
AndreyKrivcov:
Teniendo en cuenta que este tema está dedicado a los símbolos personalizados, voy a preguntar aquí.
Si elijo el tipo de cálculo - "Exchange Futures" como en la pantalla de abajo, y añado un spread, ¿será tenido en cuenta por el tester durante las pruebas ? o será ignorado ? La idea es añadir un posible deslizamiento en su propio símbolo como un spread y probarlo en el tester.

Escriba los ticks en los símbolos personalizados de una vez y pruébelos sólo en el modo "por ticks reales". Otros modos para símbolos personalizados son casi siempre estúpidos de usar.

 
fxsaber:

Escribe los ticks en los símbolos personalizados de una vez y pruébalos sólo en el modo "por ticks reales". Otros modos para símbolos personalizados son casi siempre estúpidos de usar.


Quiero cotizaciones ruidosas para pruebas de estrés. por supuesto escribiré ticks, pero también pienso hacer gráficos.

Sí, por cierto, hay una pregunta sobre CustomSymbolSetInteger, concretamente la propiedad de añadir y borrar de MarketWatch :
bool deattach = CustomSymbolSetInteger(Symb,SYMBOL_SELECT,1);
Siempre da error 5307 - la propiedad no está configurada correctamente. ¿Cómo se establece la propiedad para este comando?

 
AndreyKrivcov:

Quiero cotizaciones de ruido para las pruebas de estrés. por supuesto voy a escribir garrapatas, y creo que para hacer gráficos también.

Sí, por cierto hay una pregunta acerca de CustomSymbolSetInteger, a saber, la propiedad de añadir y eliminar de MarketWatch :
bool deattach = CustomSymbolSetInteger(Symb,SYMBOL_SELECT,1);
Siempre da error 5307 - propiedad no está configurado correctamente. ¿Cómo se establece la propiedad para este comando?

SymbolSelect.


Lista de propiedades (rojo) que se establecen a través de CustomSymbol*.

    return(CLONE(SYMBOL_BASIS) &&
    CLONE(SYMBOL_CURRENCY_BASE) &&
    CLONE(SYMBOL_CURRENCY_MARGIN) &&
    CLONE(SYMBOL_CURRENCY_PROFIT) &&
    CLONE(SYMBOL_DESCRIPTION) &&
    CLONE(SYMBOL_FORMULA) &&
    CLONE(SYMBOL_ISIN) &&
    CLONE(SYMBOL_PAGE) &&
    CLONE(SYMBOL_PATH) &&

    CLONE(SYMBOL_MARGIN_HEDGED) &&
    CLONE(SYMBOL_MARGIN_INITIAL) &&
    CLONE(SYMBOL_MARGIN_MAINTENANCE) &&
    CLONE(SYMBOL_OPTION_STRIKE) &&
    CLONE(SYMBOL_POINT) &&
    CLONE(SYMBOL_SESSION_PRICE_LIMIT_MAX) &&
    CLONE(SYMBOL_SESSION_PRICE_LIMIT_MIN) &&
    CLONE(SYMBOL_SESSION_PRICE_SETTLEMENT) &&
    CLONE(SYMBOL_SWAP_LONG) &&
    CLONE(SYMBOL_SWAP_SHORT) &&
    CLONE(SYMBOL_TRADE_ACCRUED_INTEREST) &&
    CLONE(SYMBOL_TRADE_CONTRACT_SIZE) &&
    CLONE(SYMBOL_TRADE_FACE_VALUE) &&
    CLONE(SYMBOL_TRADE_LIQUIDITY_RATE) &&
    CLONE(SYMBOL_TRADE_TICK_SIZE) &&
    CLONE(SYMBOL_TRADE_TICK_VALUE) &&
    CLONE(SYMBOL_VOLUME_LIMIT) &&
    CLONE(SYMBOL_VOLUME_MAX) &&
    CLONE(SYMBOL_VOLUME_MIN) &&
    CLONE(SYMBOL_VOLUME_STEP) &&

    CLONE(SYMBOL_BACKGROUND_COLOR) &&
    CLONE(SYMBOL_CHART_MODE) &&
    CLONE(SYMBOL_DIGITS) &&
    CLONE(SYMBOL_EXPIRATION_MODE) &&
    CLONE(SYMBOL_EXPIRATION_TIME) &&
    CLONE(SYMBOL_FILLING_MODE) &&
    CLONE(SYMBOL_MARGIN_HEDGED_USE_LEG) &&
    CLONE(SYMBOL_OPTION_MODE) &&
    CLONE(SYMBOL_OPTION_RIGHT) &&
    CLONE(SYMBOL_ORDER_GTC_MODE) &&
    CLONE(SYMBOL_ORDER_MODE) &&
    CLONE(SYMBOL_SPREAD) &&
    CLONE(SYMBOL_SPREAD_FLOAT) &&
    CLONE(SYMBOL_START_TIME) &&
    CLONE(SYMBOL_SWAP_MODE) &&
    CLONE(SYMBOL_SWAP_ROLLOVER3DAYS) &&
    CLONE(SYMBOL_TICKS_BOOKDEPTH) &&
    CLONE(SYMBOL_TRADE_CALC_MODE) &&
    CLONE(SYMBOL_TRADE_EXEMODE) &&
    CLONE(SYMBOL_TRADE_FREEZE_LEVEL) &&
    CLONE(SYMBOL_TRADE_MODE) &&
    CLONE(SYMBOL_TRADE_STOPS_LEVEL));
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
Документация по MQL5: Получение рыночной информации / SymbolInfoInteger
  • www.mql5.com
2. Возвращает true или false в зависимости от успешности выполнения функции.  В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром. Если функция используется для получения информации о последнем тике, то лучше использовать SymbolInfoTick(). Вполне возможно, что по данному символу с...
 
fxsaber:

https://www.mql5.com/es/docs/marketinformation/symbolinfointeger


Lista de propiedades (rojo) que se establecen a través de CustomSymbol*.


Gracias. ¿El resto de la funcionalidad aún no está terminada? ¿O no se añadirá en absoluto?

 
AndreyKrivcov:

Gracias. ¿El resto de la funcionalidad aún no está terminada o se añadirá?

La funcionalidad está completa en un 90%. No sin errores, por supuesto.

 
AndreyKrivcov:
Teniendo en cuenta que este tema está dedicado a los símbolos personalizados, voy a preguntar aquí.
Si elijo el tipo de cálculo - "Exchange Futures" como en la pantalla de abajo, y añado un spread, ¿será tenido en cuenta por el probador durante las pruebas ? o será ignorado ? La idea es añadir un posible deslizamiento a su propio símbolo como un spread y probarlo en el tester.

¿Y el modo con deslizamiento aleatorio o fijo integrado en el comprobador no es adecuado?

 
Stanislav Korotky:

¿No es adecuado el modo con deslizamiento aleatorio o fijo integrado en el comprobador?


Allí el deslizamiento se basa en el tiempo, y estoy más interesado en el deslizamiento no debido al ping lag, sino en general. Si el volumen aumenta, por ejemplo (por ejemplo, operando en Sber o Gazprom...).

 
fxsaber:

La funcionalidad está disponible en un 90%. No sin errores, por supuesto.


Investigué un poco y resultó que menos del 90% de la funcionalidad está disponible, pero no importa, lo principal es que la amplíen.

Por cierto, la función CustomTicksUpdate(customSymbol,ticks) aún no funciona, pero en lugar de ella se puede usar una muletilla(CustomTicksReplace(customSymbol,from,till*1000,ticks)).

Abajo he adjuntado los archivos que me dio mi script de comprobación de funcionalidad, y también el propio script.

 
AndreyKrivcov:

Por cierto, la función CustomTicksUpdate(customSymbol,ticks) aún no funciona, pero puedes usar una muletilla en su lugar (CustomTicksReplace(customSymbol,from,till*1000,ticks)).

Tiene una función diferente por nombre. Sustituyéndola por una función Replace no queda muy claro para qué sirve TicksAdd: lanzar los eventos Tick correspondientes.