Библиотеки: Input_Struct - страница 10

 
fxsaber #:

У меня сценарий, при котором, вроде, такой подход не будет работать.


В оригинальной версии я могу подключить много Input1.mqh и Input2.mqh, при этом мне не нужно прописывать BLOCKS. Т.е. я могу какие-то mqh подключать, какие-то - отключать. При этом выделенный макрос не потребуется создавать/править.

Я тоже считаю, что такой способ использования более разумный, и это удалось реализовать.

#property strict
#property script_show_inputs

#include "InputStructBlockAdditiveCommon.mqh"
#include "InputStructBlockAdditiveGrid.mqh"

int OnStart()
{
  if (g_additiveCommonInputs.Lots != AdditiveCommonLots) return INIT_FAILED;
  if (g_additiveCommonInputs.HiddenRisk != AdditiveCommonHiddenRisk) return INIT_FAILED;
  if (StandaloneRawInput != 3) return INIT_FAILED;

  if (g_additiveCommonInputs.IsEnable != AdditiveCommonIsEnable) return INIT_FAILED;
  
  AdditiveCommonInputs common;
  if (common.GetAmount() != 3) return INIT_FAILED;

  if (common.FromString("Additive Common Lots=0.28, Additive Common Comment=changed") != 2) return INIT_FAILED;
  if (common.Lots != 0.28) return INIT_FAILED;
  if (common.Comment != "changed") return INIT_FAILED;

  AdditiveCommonInputs fromInputs;
  if (!fromInputs.Default2()) return INIT_FAILED;
  if (fromInputs.Lots != AdditiveCommonLots) return INIT_FAILED;

//--------------------------

  if (g_additiveGridInputs.Lots != AdditiveGridLots) return INIT_FAILED;
  if (g_additiveGridInputs.IsEnable != AdditiveGridIsEnable) return INIT_FAILED;
  AdditiveGridInputs gridCopy;
  gridCopy = common;
  if (gridCopy.IsEnable != common.IsEnable) return INIT_FAILED;
  if (gridCopy.Lots != common.Lots) return INIT_FAILED;

  Print("InputStructBlockAdditivePrototype OK");
  return INIT_SUCCEEDED;
}
 
hini #:

Я тоже считаю, что такой способ использования более разумный, и это удалось реализовать.

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

Однозначно, ИИ справляется с задачей много лучше меня и по качеству кода и по времени реализации.

Что касается тестов на корректность, то попробуйте прогнать эту логику в качестве проверки.

 
fxsaber #:
Однозначно, ИИ справляется с задачей много лучше меня и по качеству кода и по времени реализации.
Нет, это стало возможным главным образом благодаря вашему выдающемуся творческому потенциалу.