приключения новичка - страница 9

 

Тим,


Я довел код до такого состояния, когда при компиляции не сообщается об ошибках (это было просто исправление нескольких ошибок, которые вы выделили), хотя в тестере стратегий он еще не совершает никаких сделок. Но кое-что меня озадачило:


int EntryRules(string CurrencySymbol, double TopFilter, double BottomFilter)  //Tim: string CurrencySymbol not CurrencySym right?
{

      emas_Up =  (ema7>ema14) && (ema14>sma50);
      if (emas_Up && Ask < TopFilter) // Note the TopFilter value  is a parameter passed to the function just like CurrencySymbol. These have not been defined anywhere as global variables.
         result = LONG_ENTRY;   // We have assigned the manifest constant to the local variable result 



Параметры TopFilter и BottomFilter. Вы имеете в виду параметры 'TopFilters' и 'BotFilters'? (Это те, которые мы определили как переменные на глобальном уровне. Те, что ниже. Я изменил код, чтобы отразить это, и он не выдал никаких ошибок (это означало соответствующее изменение отладочного оператора). Что вы думаете по этому поводу?

   double TopFilters[NUM_CURRENCY_PAIRS];     // So we just define uninitialised arrays of the required size
   double BotFilters[NUM_CURRENCY_PAIRS];    // This is Step 1/2 for array building. Step 2/2 is to assign a numerical value to each element, 
Файлы:
 
niko:

Привет, CB, Идеальным вариантом является советник с несколькими парами - это то, что мы с Тимом пытаемся построить. Однако однопарный советник также очень желателен, поскольку он учит меня кодировать. Ваши стили кодирования отличаются, и для меня это отличное упражнение - увидеть, как одна и та же/подобная идея может быть закодирована по-разному. Кроме того, я думал, что если мы сначала закончим один советник, то я буду использовать его для ручной торговли, но похоже, что теперь оба кода будут закончены одновременно.

Я не совсем понимаю, что вы имеете в виду под одиночным и множественным. Как они соотносятся с моделью, которую я описал выше? Т.е. один советник, который может быть брошен на любую пару и будет торговать только на паре графика, на который он был брошен, принимая все торговые решения, основанные только на паре графика, на который он был брошен (единая кодовая база для поддержки). Просто пытаюсь разобраться в терминологии, чтобы понять, что вы хотите.


CB

 

Привет, CB,

В моем смутном понимании того, как выполняются советники, я имел в виду 1. 1 советник, который может быть запущен и который будет торговать несколькими парами одновременно. 2. Один советник, который должен быть помещен на определенный график и, таким образом, будет применяться ТОЛЬКО к этому графику (вопрос в том, можно ли сделать один советник, который может быть помещен, скажем, на 3 разных графика и будет работать на этих трех графиках? Я уже пытался это сделать, но по какой-то причине выполнялся только 1 график (все остальные не запускались).

 
niko:

Привет, CB,

В моем смутном понимании того, как выполняются советники, я имел в виду 1. 1 советник, который может быть запущен и который будет торговать несколькими парами одновременно. 2. Один советник, который должен быть помещен на определенный график и, таким образом, будет применяться ТОЛЬКО к этому графику (вопрос в том, можно ли сделать один советник, который может быть помещен, скажем, на 3 разных графика и будет работать на этих трех графиках? Я уже пытался это сделать, но по какой-то причине выполнялся только 1 график (все остальные не запускались).

Да, это легко возможно. Один из моих советников:

- Может быть брошен на несколько различных графиков (которые запущены одновременно в одном экземпляре платформы или каждый из которых запущен на отдельном экземпляре платформы - как вам угодно).

- Будет принимать решения только на основе пары, связанной с графиком, на котором он работает

- Будет торговать только для пары, связанной с этим графиком.


CB

 

Спасибо, CB, я этого не знал. Я собираюсь потратить больше времени на этой неделе на сравнение двух кодов, фактически я распечатал оба кода и размещу их по всей комнате, чтобы попытаться лучше понять, что происходит. Понимание логического обоснования кодирования, вероятно, самое трудное, с чем я сталкиваюсь в настоящее время.

 
niko:

Спасибо, CB, я этого не знал. Я собираюсь провести больше времени на этой неделе, сравнивая эти два кода, фактически я распечатал их оба и размещу их по всей комнате, чтобы попытаться лучше понять, что происходит. Понимание логического обоснования кодирования, вероятно, самое трудное, с чем я сталкиваюсь в настоящее время.

Хорошо, если вы столкнетесь с чем-то непонятным в коде, который я вам оставил, просто спросите.


CB.

 
Спасибо, CB. Обязательно сделаю! Я как раз сейчас прохожу через это.
 

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


1. Описание: " 'for' - ожидается точка с запятой." Насколько я понимаю, что-то не так с нашими скобками, так как в этой строке не нужно ;.

for (int c=0;c<NUM_CURRENCY_PAIRS;c++) 


2. описание: " 'c' -выражение в глобальной области видимости недопустимо". Та же строка, что и выше. Я не понимаю, как они могут не разрешить объявление глобальной переменной? Плюс многие люди используют этот код, и он прекрасно работает.

3. описание "NUM_CURRENCY_PAIRS" - выражение в глобальной области видимости недопустимо". Но я уже объявил это выражение рядом с externals, так что оно не может быть более глобальным, чем это!

4. description : "{выражение в глобальной области видимости не разрешено. Похоже, ему не понравились скобки для приведенного ниже кода.

{
   sSignal = fnGenerateSignal();						// change this to "sGignal = fnGenerateSignal();" ***done
   if (fnShouldWeTrade())
    fnTrade();                                                            // change this to "fnTrade();"**done
   return(0);
   }


спасибо,

ник

 
niko:

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


1. Описание: " 'for' - ожидается точка с запятой." Насколько я понимаю, что-то не так с нашими скобками, так как в этой строке не нужно ;.


2. описание: " 'c' -выражение в глобальной области видимости недопустимо". Та же строка, что и выше. Я не понимаю, как они могут не разрешить объявление глобальной переменной? Плюс многие люди используют этот код, и он прекрасно работает.

3. описание "NUM_CURRENCY_PAIRS" - выражение в глобальной области видимости недопустимо". Но я уже объявил это рядом с externals, так что глобальнее оно стать не может!

4. description : "{выражение в глобальной области видимости не разрешено. Похоже, ему не понравились скобки для приведенного ниже кода.


спасибо,

ник

Не могли бы вы опубликовать весь код, который вы пытаетесь скомпилировать, пожалуйста. Ta.


CB

 
Your wish is my command (я собирался сказать "high flyer", но потом проверил словарь в Интернете и, видимо, это грубый комментарий, не обращайте внимания)
Файлы:
Причина обращения: