Вопросы новичков к профессионалам Форекс

zhmd37

Интересующийся
Подскажите а mult (экспонента) в 2Sides_Stoch_Ilan_v4.7g.mq4 влияет на расчет TP для серии? Если да то напишите как!? И вообще как расчитывается TP для серии?
 

ВЫБЕРМУДЕНЬ

Интересующийся
почему в тестере советник работает "неисправно"

ЗДРАВСТВУЙТЕ!!!такая вот ерунда :советник на реальном графике работает исправно все срабатывает - все пашет а в тестере половина работает половина - нет!!1 кто нибудь может подсказать почему так?? что может быть причиной и что можно исправить - поковырять где мож?..может кто нить уже сталкивался с таким??:?
 

Ugar

Гуру форума
ЗДРАВСТВУЙТЕ!!!такая вот ерунда :советник на реальном графике работает исправно все срабатывает - все пашет а в тестере половина работает половина - нет!!1 кто нибудь может подсказать почему так?? что может быть причиной и что можно исправить - поковырять где мож?..может кто нить уже сталкивался с таким??:?
Что именно не работает, не говоришь. Никакой конкретики.
Не все функции языка программирования работают в тестере.
Каков вопрос, таков ответ.
 

Ugar

Гуру форума
ну он почему то не открывает отложенники при их "срабатывании" открытии..вот..

Если советник установил отложенный ордер, то когда цена его зацепит, его открытие не зависит от советника. В данном случае от советника зависит только установка отложенника. В реале он стоит на сервере и срабатывает там же. В тестере он стоит в памяти тестера и срабатывает там же.
Советник может воспрепятствовать сработке отложенного ордера только путём его удаления до сработки.
 

ВЫБЕРМУДЕНЬ

Интересующийся
да это я понимаю .. спасибо... но вот так и получается что по алгоритму должен выставиться отлотженник как только сработает ранее выставленный оложенник ..дык вот при тесте этого не происходит а на текущем графике в реал тайм пашет..мне так кажется что немного не так может быть написал "код" ? .. с вами нельзя ли в личке пообщаться или каким нить иным способом?у меня такое ощущение что я циклы как то криво написал...я тут вообще молодо зелено...
 

ВЫБЕРМУДЕНЬ

Интересующийся
а! во1 пошло!!!! так вот я говорю что в реал таим все срабатывает и выставляется отложенник! а вот в тестере никак!.. и еще такой вопрос.. чет я как то цикл повидимому не так написал если после него только ..как бы скказать.."ссылка " что ли на функцию то он полностью работает а если еще цикл поставить то он на каком то этапе на следующий цикл перескакивает... не могли бы помочь разобраться?пожалуйста..
 

ВЫБЕРМУДЕНЬ

Интересующийся
for(int i1=0;i1<OrdersTotal();i1++)
{
if(OrderSelect(i1, SELECT_BY_POS, MODE_TRADES)==true)
{

if(OrderType()==OP_SELL || OrderType()==OP_BUY)int tic=OrderTicket();
{
for(int i2=0;i2<OrdersTotal();i2++)
{

if(OrderSelect(i2, SELECT_BY_POS, MODE_TRADES)==true)//
{
if(OrderType()==OP_SELLSTOP || OrderType()==OP_BUYSTOP || OrderType()==OP_SELL || OrderType()==OP_BUY)
{

int mag=OrderMagicNumber();


if(tic!=mag && i2==OrdersTotal()-1)
{
OrderSelect(i1, SELECT_BY_POS, MODE_TRADES);mag=tic;string w=mag;
if(OrderType()==OP_SELL)
{
cenavverh=OrderOpenPrice()+punkts;
if(cenavverh<Ask)
{cenavverh=Ask+0.001;}
OrderSend(Symbol(),OP_BUYSTOP,Lots,cenavverh,slippage,loss,profit,w,mag,0,CLR_NONE);
}

if(OrderType()==OP_BUY)

{
cenavniz=OrderOpenPrice()-punkts;
if(cenavniz>Bid)
{cenavniz=Bid-0.001;}
OrderSend(Symbol(),OP_SELLSTOP,Lots,cenavniz,slippage,loss,profit,w,mag,0,CLR_NONE);
}}

if(tic==mag)
break;}
continue;}}}}}
 
Последнее редактирование модератором:

ВЫБЕРМУДЕНЬ

Интересующийся
вот этот цикл...помогите кто нибудь! слезно прошу....я так понимаю что я тут чего то с брэйком и континуЁм не то сделал...подскажите плиииз!...
 

Ugar

Гуру форума
а! во1 пошло!!!! так вот я говорю что в реал таим все срабатывает и выставляется отложенник! а вот в тестере никак!..
Так значит в тестере отложенник не выставляется. А писал что не срабатывает. Что бы сработал надо сначала выставить, потом что бы цена до него дошла.
Я уже писал что не все функции работают в тестере.
и еще такой вопрос.. чет я как то цикл повидимому не так написал если после него только ..как бы скказать.."ссылка " что ли на функцию то он полностью работает а если еще цикл поставить то он на каком то этапе на следующий цикл перескакивает... не могли бы помочь разобраться?пожалуйста..
Сам то понял что написал?
 

Ugar

Гуру форума
вот этот цикл...помогите кто нибудь! слезно прошу....я так понимаю что я тут чего то с брэйком и континуЁм не то сделал...подскажите плиииз!...

:rolf: Здорово. А теперь напиши что хотел описать в коде. Только понятно, а не как умеешь.
 

ВЫБЕРМУДЕНЬ

Интересующийся
Так значит в тестере отложенник не выставляется. А писал что не срабатывает. Что бы сработал надо сначала выставить, потом что бы цена до него дошла.
Я уже писал что не все функции работают в тестере.

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



прошу прощения...))))) ща попробую исправить...))))


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

ВЫБЕРМУДЕНЬ

Интересующийся
здорова!!!!)ща попробую...

нужно пересравнивать тикеты всех открытых ордеров с майджиками всех стопов и открытых ,в случае если не найдется парного(равного тикету открытого ордера ,выбираемого в первом цикле (переменная и1)) майджика у открытых и стопов ,то он (майджик ордера выбранного по переменной и1 ) приравнивается тикету открытого ордера не имеющего пару по майджику....


надеюсь получилось?..О_0...)


там короче... если тик равен майджику то надо выйти из второго цикла (внутреннего )на первый(по и1 ... внешний)...он наверное из за этого брейка (который ,как я думал,должен это делать) каким то образом полностью из всех этих циклов выходит..? но только при вышеписанных "условиях".. он где то не там стоит?
 
Последнее редактирование:

Ugar

Гуру форума
здорова!!!!)ща попробую...

нужно пересравнивать тикеты всех открытых ордеров с майджиками всех стопов и открытых ,в случае если не найдется парного(равного тикету открытого ордера ,выбираемого в первом цикле (переменная и1)) майджика у открытых и стопов ,то он (майджик ордера выбранного по переменной и1 ) приравнивается тикету открытого ордера не имеющего пару по майджику....


надеюсь получилось?..О_0...)


там короче... если тик равен майджику то надо выйти из второго цикла (внутреннего )на первый(по и1 ... внешний)...он наверное из за этого брейка (который ,как я думал,должен это делать) каким то образом полностью из всех этих циклов выходит..? но только при вышеписанных "условиях".. он где то не там стоит?

Тааак, приплыли. Я думал ты по неопытности написал какой код. А оказалось что и хотел эту дурь написать. Учти, госнаркоконтроль не дремлет.

А если серьёзно. Не надо в маджик ордера писать тикеты. Забудь, задай какой то фиксированный номер и используй только для отличия своих ордеров от чужих.

Опиши тогда зачем такое пришло в голову. Что хотел получить в работе?
 

ВЫБЕРМУДЕНЬ

Интересующийся
ну дык цикл то все равно не четко работает...значит где то косЯк... мне тут с ним разобраться то помогут?
....
ээээ.......
а?


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

так и чего ? вы мне хотите сказать что брейк и континуЁ там где надо стоят что ли??
 
Последнее редактирование:

ВЫБЕРМУДЕНЬ

Интересующийся
{

if(OrderType()==OP_SELL || OrderType()==OP_BUY)int tic=OrderTicket();
{


это ничего что тут вот так фигурит последняя скобка?она ж по идее как мне кажется должна быть вот тут
{

if(OrderType()==OP_SELL || OrderType()==OP_BUY){int tic=OrderTicket();

или не имеет значения? при изменении ее положения ничего не меняется...

ээээ.....
а?
 

Ugar

Гуру форума
{

if(OrderType()==OP_SELL || OrderType()==OP_BUY)int tic=OrderTicket();
{


это ничего что тут вот так фигурит последняя скобка?она ж по идее как мне кажется должна быть вот тут
{

if(OrderType()==OP_SELL || OrderType()==OP_BUY){int tic=OrderTicket();

или не имеет значения? при изменении ее положения ничего не меняется...

ээээ.....
а?

Объявлять переменную после условия нельзя. Если условие соблюдено не будет переменная не будет объявлена. А если потом, по коду произойдёт обращение к ней программа повиснет, так как будет обращение к не объявленной переменной.

После условия, действие можно не заключать в фигурные скобки только если действие одно. Выполнив его условие прекратит своё влияние на дальнейшие действия. Если даже дальше будут действия в фигурных скобках, они не будут относиться к этому условию. Значит будут выполняться не зависимо от условия.
 

ВЫБЕРМУДЕНЬ

Интересующийся
блин... но почему то все равно не работает как надо... не могу понять почему...по началу вроде и к бай и селл ордерам лепит противоположные отложенники ... а вот когда открытых ордеров штук 30 .то почему то к селам не ставит байстопы...и вообще как то хаотично работает... ну не всем открытым ставит отложенники...постоянно недобор...подскажите пожалуйста...
 
Верх