Deutsch
Germany.ruГруппы → Архив Досок→ Биржа & Форекс

Вопрос программистам Wealth-Lab

154  
KleinesMedchen знакомое лицо10.02.10 22:48
KleinesMedchen
10.02.10 22:48 
мое условие выплняется раньше чем система совершает покупку.
Запускаю отладчик:
LastPositionActive false
вхожу в цыкл,
выполняется условие if not LastPositionActive then,
затем мое условие не выполняется, т.е. функция BuyAtClose(Bar, 'Buy') не выполняется
следующая строка - начало: for Bar := 18 to BarCount - 1 do
LastPositionActive меняется на true Почему?
и потом соответственно начинает выполнятся код на продажу (не совершив покупки)
если запускать без отладчика, то система производит покупки и продажи, но не в тех местах (например: покупка позже, причем на много)
Ufukuro Taschen Online Shop
#1 
  Заратустра посетитель22.02.10 16:59
NEW 22.02.10 16:59 
в ответ KleinesMedchen 10.02.10 22:48
во ... а с чего ты взяла чо эту муть кто-то из здешних прогал?
ты лучше поделись, а работает ли? твоё мнение? можно этим делать деньги?
#2 
KleinesMedchen знакомое лицо24.02.10 22:22
KleinesMedchen
NEW 24.02.10 22:22 
в ответ Заратустра 22.02.10 16:59
деньги можно и ломом делать. А вообще: если есть какие-то закономерности в движениях графика, то их анализ можно запрограммировать (для удобства, т.е. чтобы руками не вычерчивать)
И будет система работать или нет, думаю, зависит от индивидуальных предпочтений, опыта и уверенности в принятых решениях
Ufukuro Taschen Online Shop
#3 
  kolaider посетитель28.02.10 20:25
NEW 28.02.10 20:25 
в ответ KleinesMedchen 24.02.10 22:22
работы ведутся полным ходом,на следуешей недели скажу о резултатах.вот ждемс.надоело тоже сидеть целыми днями,а в друг?
#4 
KleinesMedchen знакомое лицо28.02.10 22:13
KleinesMedchen
NEW 28.02.10 22:13 
в ответ kolaider 28.02.10 20:25
ты в Wealth-Lab работаешь? ПОделишся опытом?
Ufukuro Taschen Online Shop
#5 
dyagov знакомое лицо02.03.10 12:11
NEW 02.03.10 12:11 
в ответ KleinesMedchen 10.02.10 22:48, Последний раз изменено 02.03.10 12:13 (dyagov)
Если LastPositionActive меняется на true, значит была открыта позиция. У тебя ошибка в коде. Где точно, сказать без кода трудно. Выложи кусок кода, тогда можно поискать ошибку.
P.S. Какой Велс-лаб, третий, четвертый или пятый?
#6 
KleinesMedchen знакомое лицо02.03.10 21:43
KleinesMedchen
NEW 02.03.10 21:43 
в ответ dyagov 02.03.10 12:11
в том то и дело что покупки нет. Графики использую недельные: например Газпром (ммвб с 2000 года) программа 3.01 Build 21b кстати часто выдает ошибку и закрывается
вот код, абсолютно стандартный.
var Bar, p: integer;
PlotSeries( SMASeries( #Close, 4 ), 0, #Teal, #Thick );
PlotSeries(SMASeries( #Close, 9 ), 0, #Green, #Thin);
PlotSeries(SMASeries( #Close, 18 ), 0, #Blue, #Thin); //Изначально LastPositionActive false
for Bar := 18 to BarCount - 1 do
begin
if LastPositionActive then
begin
p := LastPosition;
if (SMA(Bar,#Close,4) < SMA(Bar,#Close,9)) and (SMA(Bar,#Close,9) < SMA(Bar,#Close,18)) then
begin
SellAtClose( Bar, p, '' );
end;
end
else
begin
if (SMA(Bar,#Close,4) > SMA(Bar,#Close,9)) and (SMA(Bar,#Close,9) > SMA(Bar,#Close,18)) then //здесь условие не выполняестся, возвращаюсь на начало цикла с LastPositionActive true
begin
BuyAtClose( Bar, '0' );
end;
end;
end;
Ufukuro Taschen Online Shop
#7 
dyagov знакомое лицо03.03.10 18:16
NEW 03.03.10 18:16 
в ответ KleinesMedchen 02.03.10 21:43
все работает. По этому условию покупаешь:
if (SMA(Bar,#Close,4) > SMA(Bar,#Close,9)) and (SMA(Bar,#Close,9) > SMA(Bar,#Close,18)) then
если открыта позиция, по этому условию продаешь:
if (SMA(Bar,#Close,4) < SMA(Bar,#Close,9)) and (SMA(Bar,#Close,9) < SMA(Bar,#Close,18)) then
в аттаче пример
#8 
KleinesMedchen знакомое лицо03.03.10 19:28
KleinesMedchen
NEW 03.03.10 19:28 
в ответ dyagov 03.03.10 18:16
вот именно, что все должно работать, а у мнея не работает. там к коду комментарии. аномальные явления - покупка не осуществляется, а значение флажка труе. что за глюк
Ufukuro Taschen Online Shop
#9 
dyagov знакомое лицо03.03.10 19:54
NEW 03.03.10 19:54 
в ответ KleinesMedchen 03.03.10 19:28
Поставь 4 велс-лаб и попробуй снова.
#10 
  kolaider посетитель05.03.10 21:40
NEW 05.03.10 21:40 
в ответ KleinesMedchen 28.02.10 22:13
ПРИВЕТ НЕ я тока МТ 4 познаю как програмки туда вставлять ,оказывается большие возможность есть у программы ну вот на пересичения МА мне дали и я даю...........extern int F = 12; //период быстрой МА
extern int S = 61; //период медл.МА
extern int SL = 40; // стоп ордера в пп.
extern int TP = 30; // тейк ордера в пп.
extern double Lots = 0.1; // лот ордера
extern int Time1 = 11; // Время начала работы советника
extern int Time2 = 21; // Время окончания роботы советника
int Slippage = 3; // проскальзывание в пп.
int Magic = 123; // магический номер эксперта
string com = "эксперт"; // комментарий ордера
double stop; // задаем переменную она будет обозначать уровень стоплосса - нецелое число, поэтому double
double take; // задаем переменную она будет обозначать уровень тейкпрофита - нецелое число, поэтому double
double price; // эта переменная - цена, куда мы поставим ордер
int ticketsell; // тикет ордера - он будет играть роль уже известного нам "флажка"
int ticketbuy;
int start()
{
// проверим, время ли работать ? или не время ?
if ( Hour() < Time1 || Hour() > Time2 ) // до Time1 часов и после Time2 часа не работаем ...
return(0); // ничего не происходит, так как выполнение кода возвращается опять к началу к слову "start()"
// расчет скользящих средних :
// значение быстрой МА один бар назад, то есть по закрытому, а не текущему бару смотрим
double MAfast = iMA(NULL,0,F,0,MODE_SMA,PRICE_CLOSE,1);
// значение медленной МА один бар назад...
double MAslow = iMA(NULL,0,S,0,MODE_SMA,PRICE_CLOSE,1);
// ордера с тикетом ticketsell в терминале нету ИЛИ он закрылся И быстрая МА ниже медленной, продаем !
if ( (OrderSelect(ticketsell,SELECT_BY_TICKET,MODE_TRADES) == false || OrderCloseTime() > 0 ) && MAfast < MAslow )
{
ГОСПОДИН К. МОРЖОВ дает .спасибо ему.
#11 
  kolaider посетитель05.03.10 21:43
NEW 05.03.10 21:43 
в ответ kolaider 05.03.10 21:40
седня открыл для себя в его архиве вот такой советник,работает класно.Предположим, цена в процессе дневного хода прошла значительно вверх, и Вы, рассчитывая на разворот и поход вниз, совершаете сделку бай.
Но вдруг цена пойдет дальше вверх на 10, а может на 30 или 70 пунктов ?
Можно, конечно, не входить в рынок сразу, а выставить отложенный сэллстоп на каком-то расстоянии выше текущей цены, тогда, если разворот произойдет, Ваш ордер сработает.
Допустим Вы так и сделали, цена пошла дальше вверх и Вы переставляете сэллстоп пониже, чтобы при развороте купить по лучшей цене. Но вот Вы отлучились на минутку налить себе чаю, цена быстро скакнула на 50 пп выше и таки развернула вниз, а сэллстоп пониже Вы не успели переставить, следовательно, упустили более выгодную цену.
Данный советник выставлет сэллстоп на заданном расстоянии в пунктах от текущей цены, а если цена продолжает ползти вниз, за ней ползет и Ваш отложенный ордер, тем самым обеспечивая Вам более выгодную цену покупки.
При этом работу эксперта Вы можете наблюдать визуально, выставленный ордер изображается на графике пары красным кружочком, а при каждом переставлении повыше вслед за ценой – оранжевым кружочком. Кроме того, во вкладке «эксперты» Метатрейдера при каждой модификации ордера появляется сообщение типа «переставили выше от начального на столько-то пунктов». Здесь то Вы и увидите выгоду эксперта, когда Вы сначала хотели купить с рынка от какого-то уровня, а в результате эксперт позволил Вам купить на 30-40 пунктов дешевле.
#12 
dyagov знакомое лицо06.03.10 11:20
NEW 06.03.10 11:20 
в ответ kolaider 05.03.10 21:43
Этот метод хорошо работал до 2004 года и полтора года назад, когда кризис начался. В велс-лабе есть даже скрипт - DipBuyer называется. Гляньте эквити, :)
Проблема там что торговля идет на мусорных стоках.
#13 
KleinesMedchen знакомое лицо08.03.10 14:26
KleinesMedchen
NEW 08.03.10 14:26 
в ответ dyagov 06.03.10 11:20
В ответ на:
Проблема там что торговля идет на мусорных стоках

что такое мусорные стоки?
Ufukuro Taschen Online Shop
#14 
KleinesMedchen знакомое лицо08.03.10 14:43
KleinesMedchen
NEW 08.03.10 14:43 
в ответ kolaider 05.03.10 21:43
такая торговля не для меня :) торговать в течении дня - это цу штрессиг.
Ufukuro Taschen Online Shop
#15 
dyagov знакомое лицо08.03.10 15:13
NEW 08.03.10 15:13 
в ответ KleinesMedchen 08.03.10 14:26
мусорные стоки - стоки, объемом меньше 100 тыс в день
Stocks - акции.
#16 
  kolaider посетитель11.03.10 11:07
NEW 11.03.10 11:07 
в ответ dyagov 08.03.10 15:13

Подборка пар для хэджирования с рекомендациями
EUR/USD+ USD/CHF
Соотношение лотов: 1.0/1.0 – 1.1
Операции: Buy + Buy или Sell + Sell
Рекомендвции: Потерь на свопах будет меньше, если Buy+Buy
EUR/AUD+AUD/CHF
Соотношение лотов: 1.0/1.1 – 1.8
Операции: Buy + Buy или Sell + Sell
Рекомендвции: Большой разброс в величине лотов по AUD/ CHF. EUR/AUD стоит дороже и ходит больше. При 1.0/1.32 в покупку – суммарный своп нейтральный.
EUR/CAD+CAD/CHF
Соотношение лотов: 1.0/1.25
Операции: Buy + Buy или Sell + Sell
Рекомендвции: Из-за свопов лучше всегда покупать. При данном соотношении суммарный своп положительный.
EUR/JPY+ CHF/JPY
Соотношение лотов: 1.0/2.2 – 2.56
Операции: Buy + Sell или Sell + Buy
Рекомендвции: Так как по EUR/JPY свопы в два раза больше, то она и растёт быстрее. Оптимальное соотношение 1.0/2.35.
GBP/ JPY + EUR/JPY
Соотношение лотов: 1.0/1.48 – 1.6
Операции: Buy + Sell или Sell + Buy
Рекомендвции: Из-за свопов GBP/ JPY лучше покупать.
Если GBP/ JPY растёт, то по евро 1.48. Если GBP/ JPY падает, то 1.6.
#17