мультивалютный индикатор по методу Trade101 - страница 4

 
Может кто знает как привести пункты к общему знаменателю и сделать так, как описано у автора? Чувствую что в MarketInfo копатся надо а вот какой параметр - непонятно.
 
Хм, у меня всеравно пишет зеро девайд. Прям загадка какя-то.
 

Зеро девайд только в случае MarketInfo(Pair[j], MODE_POINT)=0.

Такого по идее не должно быть...История загружена по всем парам? Попробуйте открыть все 14 пар в терминале. 

 
Можт дело в том, что у меня CHFJPY gjазывапоктолько серым цветом. (Торговля по нему запрещена) Но котировки идут. Может оттудава неможет индикатор вытянуть маркетинфо? Хотя в другом индикаторе все нормально считает с использованием этого символа.
 
Если сможете, выведите скриптом тот самый маркетинфо на Print для всех валют. Должно проясниться...
 
К сожалению в программировании не силен. :(
 

интересно почему, если оставить только 2 пары, например Pair[0]="EURUSD"; Pair[1]="GBPJPY";

то не работает ???

Кто знает, не говорит; кто говорит - не знает. Правило биржевого маклера
 
sergeev писал(а) >>

Еще раз спрошу. Вы уверены, что блок:

b=true;
while (b) // сортируем массив по возрастанию
{
b=false;
for (j=1; j<Max; j++)
  if (Price[j]<Price[j-1]) 
  { 
   a=Price[j]; Price[j]=Price[j-1]; Price[j-1]=a;
   n=Num[j]; Num[j]=Num[j-1]; Num[j-1]=n; b=true; 
  }
}

Корректно сортирует массив Price[]?

Или я где-то еще один цикл просмотрел? ;)

Или у него (у блока) другая цель?

 

Не знаю, поможет ли. Я сначала беру для EURUSD (больше всего котиров, вроде бы) временной интервал, например 1 час. И дальше остальные символы - интервал через iBarShift.

Затем для каждого символа считаю не движение в пунктах, а пункты умноженные на их стоимость (при лоте 1.0).

      for(int j=0; j<14; j++)
      {
         int q;
         if(j<7) q=-1; else q=1;
         string sm=smbl[j];
         int ii=iBarShift(sm,PERIOD_M1,timenow);
         int jj=iBarShift(sm,PERIOD_M1,timestart);
         double p;
         if(StringFind(sm,"JPY")>=0) p=0.01; else p=0.0001;
         double sp=MarketInfo(sm,MODE_SPREAD);
         double pp=MarketInfo(Symbol(), MODE_TICKVALUE);
         double mv=((iClose(sm,PERIOD_M1,ii)-iClose(sm,PERIOD_M1,jj))/p*q-sp)*pp;
         smbl_movement[j]=mv;
         if(j<7) sumsell=sumsell+smbl_movement[j];
         else sumbuy=sumbuy+smbl_movement[j];
      }
      GreenBuffer[i]=sumbuy;
      RedBuffer[i]=sumsell;

И вывожу два буфера - суммарный профит по семи позам в бай и по семи в селл (зеленые и красные символы в Т101)

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

А вообще-то, господа, чтоб не топить по всему миру - кому интересно заходите на сайт к Виктору (vinin) - там уже и наболтались досыта, и торг уже по маленькой пошел, может чего и добавите.

И сортировка, кстати, уже отработана (см. Comment() )

 
SergNF >>:

Еще раз спрошу. Вы уверены, что блок:

Корректно сортирует массив Price[]?

Или я где-то еще один цикл просмотрел? ;)

Или у него (у блока) другая цель?

Да, это она.

Неужели у меня там есть ошибка, которую я не вижу?

Причина обращения: