Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 124

 
ikatsko:

Жаль, что понадобилось в конце недели, но спрошу.

Есть у кого опыт кодом прочесть сообщение на почтовом ящике от известного отправителя?

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

Помогите найти минимальную цену открытого ордера SELL

допустим я открыл ордер SELL

OrderSend(Symbol(),OP_SELL,GetLot(MaxRisk),NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,CLR_NONE);

минимальную цену в истории открытого ордера можно найти так:

min=High[iHighest(timeframe,0,MODE_HIGH,barsearch,0)];

где barsearch количество исследуемых баров.

barsearch=Bars - "количество баров в момент открытия ордера SELL "

а как вычислить "количество баров в момент открытия ордера SELL" ???

 
a-zet:

Помогите найти минимальную цену открытого ордера SELL

допустим я открыл ордер SELL

OrderSend(Symbol(),OP_SELL,GetLot(MaxRisk),NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,CLR_NONE);

минимальную цену в исмтории открытого ордера можно найти так:

min=High[iHighest(timeframe,0,MODE_HIGH,barsearch,0)];

где barsearch количество исследуемых баров.

barsearch=Bars - "количество баров в момент открытия ордера SELL "

а как вычислить "количество баров в момент открытия ордера SELL" ???

По-мойму, у вас какая-то загадка в самом вопросе...

Если есть открытый ордер Sell, то какая вам нужна минимальная цена? Цена открытия ордера? Цена его стоп-приказов? Или максимальная просадка этой позиции за всю историю её существования?

 
artmedia70:

По-мойму, у вас какая-то загадка в самом вопросе...

Если есть открытый ордер Sell, то какая вам нужна минимальная цена? Цена открытия ордера? Цена его стоп-приказов? Или максимальная просадка этой позиции за всю историю её существования?


Смысл в том, что хотелось бы закрыть прибыльный ордер SELL если он спустился до минимума и затем поднялся на 10% верх

if ((текущая цена*100)/(цена открытия ордера - "минимальную цену в истории открытого ордера SELL" )>10

Order_Close("SELL");

А вот как вычислить "минимальную цену в истории открытого ордера SELL " ?

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



 

Здравствуйте. Будьте добры подсказать ссылку с инструкцией для новичков по пользованию программой Телетрейд4? Вчера установил, открыл демо-счет, а как там что искать не понятно. Хотелось бы изучить ее хотя бы на пользовательском уровне.

И еще вопрос. Создал только что ордер, но почему-то все торги закрыты, разве другие площадки не доступны мне? Вчера вечером все работало. Заранее благодарен.

 
a-zet:

Смысл в том, что хотелось бы закрыть прибыльный ордер SELL если он спустился до минимума и затем поднялся на 10% верх

if ((текущая цена*100)/(цена открытия ордера - "минимальную цену в истории открытого ордера SELL" )>10

Order_Close("SELL");

А вот как вычислить "минимальную цену в истории открытого ордера SELL " ?

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

Т.е., вам нужно узнать максимальную нереализованную прибыль незакрытого рыночного ордера. Ну так найдите бар, на котором был открыт ордер (ордер должен быть предварительно выбран функцией OrderSelect()):

int BarOpenPos=iBarShift(Symbol(),Period(),OrderOpenTime());

И далее уже ищите минимальную/максимальную цену за промежуток между текущим (нулевым) баром и баром открытия позиции.

int    BarOpenPos=iBarShift(Symbol(),Period(),OrderOpenTime());            // Бар, на котором была открыта позиция
double PriceMin=Low [iLowest (Symbol(),Period(),MODE_LOW, BarOpenPos,0)];  // Минимальная цена за время жизни позиции
double PriceMax=High[iHighest(Symbol(),Period(),MODE_HIGH,BarOpenPos,0)];  // Максимальная цена за время жизни позиции
Ну и делайте дальше что нужно с полученной ценой
 
a-zet:

Смысл в том, что хотелось бы закрыть прибыльный ордер SELL если он спустился до минимума и затем поднялся на 10% верх

if ((текущая цена*100)/(цена открытия ордера - "минимальную цену в истории открытого ордера SELL" )>10

Order_Close("SELL");

А вот как вычислить "минимальную цену в истории открытого ордера SELL " ?

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



Я бы сделал так:

 int timeframe=PERIOD_M1;// лучше выбрать самый мелкий период
 int shift=iBarShift(Symbol(),timeframe,OrderOpenTime(),false);// бар, на котором был открыт ордер
 if(shift>0) shift=shift-1; //Начнём поиск минимума со следующего бара после бара открытия
 double min=iLow(Symbol(),timeframe,iLowest(Symbol(),timeframe,MODE_LOW,shift,0));//мин. значение цены со времени открытия ордера


P.S. Одновременно ответили)))

 
evgeniy80:

Здравствуйте. Будьте добры подсказать ссылку с инструкцией для новичков по пользованию программой Телетрейд4? Вчера установил, открыл демо-счет, а как там что искать не понятно. Хотелось бы изучить ее хотя бы на пользовательском уровне.

И еще вопрос. Создал только что ордер, но почему-то все торги закрыты, разве другие площадки не доступны мне? Вчера вечером все работало. Заранее благодарен.

Здесь видеоролики http://forumtrading.com/forumdisplay.php?f=46

все торги закрыты потому что в субботу и воскресения торги не работают

 
Sepulca:

Я бы сделал так:


P.S. Одновременно ответили)))



Спасибо обоим.
 
a-zet:

Здесь видеоролики http://forumtrading.com/forumdisplay.php?f=46

все торги закрыты потому что в субботу и воскресения торги не работают

a-zet, большое спасибо!

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