Как кодировать? - страница 88

 
flourishing:
Как сделать так, чтобы комментарий(1 / 2) отображал 0.5? спасибо.

Пожалуйста, попробуйте следующее:

Comment(DoubleToStr(1/2, 1));

Вторым аргументом функции DoubleToStr() является количество цифр после десятичной точки.

 
ak97052d:
привет

как это закодировать:

Мне нужно извлечь некоторую информацию из последней закрытой сделки,

и после использовать некоторую информацию из этой последней сделки

например:

если прибыль по последней сделке >0 'lasttradeprofit = 1'

и если прибыль по последней сделке <=0 'lasttradeprofit = 0'

lasttradeprofit = 1 // если последняя сделка >0

lasttradeprofit = 0 // если последняя сделка <=0

спасибо

Легко просканировать историю и проверить OrderCloseTime() :

datetime LastCloseTime;

bool LastTradeIsProfit;

for(int i = 0; i > OrderHistoryTotal(), i ++)

{

OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);

if(OrderMagicNumber() != Magic) continue;

if(OrderCloseTime() > LastCloseTime)

{

LastCloseTime = OrderCloseTime();

LastTradeIsProfit = (OrderProfit() > 0);

}

}
 
ak97052d:
попробуйте!

спасибо за редактирование эксперта

можете ли вы изменить эту программу, используя мою идею

из моей идеи после открытия двух ордеров мы объясняем следующую информацию

1- все ордера имеют фиксированный стоп лосс одинаковый 10 пипсов

2- если первый ордер идет в прибыль открываем 2* такой же ордер но tp=первый ордер tp-fix sl

3- тралинг sl к месту открытия второго ордера

пример:

eur/usd

первая цена: 1.5200

1* открываем два ордера (buy@ 1.5200 0.1 размер лота sl=10 tp 50 & sell@1.5200 0.1 размер лота sl=10 tp=50)

цена доходит до 15210

2- в это время (мой ордер на продажу будет закрыт и откроется второй ордер на покупку размером 0.2 лота на sl=10 tp=40 и кулачный ордер sl traling на 1.5210)

цена идет к 1.5220

3- в это время (открытие ордера на покупку размером 0.4 лота на sl=10 tp=30 и два ордера перед ним sl traling до 1.5220)

4-.....

5....

если цена дойдет до 1.5250 все ордера будут закрыты на 560$

но в это время по ордерам sl мы потеряем только 60$.

этот метод имеет очень хороший риск

 
ak97052d:
попробуйте это!

извините меня этот эксперт sl должен использовать эту формулу для получения прибыли в результате на фикс sl имеют плохой результат

ордер sl = ((MaxTrades*MinGS)+SL) - (n*MinGS)

пример для примера

extern int MinGS=5;

extern int TP=20;

extern int SL=10;

extern double lot=0.10;

extern int MaxTrades=7;

extern int RegularSpread=2;

extern double Multiplier=2;

extern double LotInc=0;

extern double MarginLevelAlert=1000;

мы имеем

sl первого порядка= ((7*5)+10)-(0*5)=40

sl второго порядка= ((7*5)+10)-(1*5)=35

и другие sl

35

30

25

20

15

 
 

Вопрос Вульфа

wolfe:
Кто-нибудь знает, как написать код, чтобы при вызове индикатора в советнике он автоматически прикреплял вызванный индикатор к графику, к которому прикреплен советник? Таким образом, он будет визуально находиться в том же времени, что и то, что считывает ваш советник. Спасибо.

Предыдущий ответ был неполным.

Если индикатор является стандартным в MT4, то он будет отображаться в обычном месте. Если он вызывается iCustom, он также будет отображаться, если он правильно закодирован.

У следующих советников индикаторы даже отображаются в окне графика. Изучите их, чтобы узнать, как это делается:

bouncingPipEA_mpowerV42.mq4

bouncingPipEA_BigBear_v23.mq4

Big Be

 

Спред в отложенном ордере

Привет, друзья,

Я сделал советника, который рассчитывает дневной хай-лоу между некоторым периодом, а затем выставляет отложенные ордера buystop/sellstop, которые истекают через 12 часов.

Я запустил его на паре GBP-JPY (спред 8 пунктов у моего брокера).

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

Результат, отложенный ордер Buy Stop был исполнен, даже цена не коснулась его. Я отследил OP Buy Stop, размещенный по цене 204.08, но он был исполнен, когда цена находилась на уровне 204.00. Похоже, что здесь замешан фактор спреда.

Мой друг сказал мне, что ручной отложенный ордер Buystop/Sellstop исполняется без фактора спреда, но почему это отличается от размещения ордера советником?

Может быть, в моем коде есть какие-то ошибки?

Заранее спасибо.

 
mastoto:
Привет друзья,

Я сделал советника, который вычисляет дневной хай-лоу между некоторым периодом, а затем выставляет отложенные ордера buystop/sellstop, которые истекают через 12 часов.

Я запустил его на паре GBP-JPY (спред 8 пунктов у моего брокера).

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

Результат, отложенный ордер Buy Stop был исполнен, даже цена не коснулась его. Я отследил OP Buy Stop, размещенный по цене 204.08, но он был исполнен, когда цена была на уровне 204.00. Похоже, что здесь замешан фактор спреда.

Мой друг сказал мне, что ручной отложенный ордер Buystop/Sellstop исполняется без фактора спреда, но почему это отличается от размещения ордера советником?

Так есть ли ошибки в моем коде?

Заранее спасибо.

Если ваша "HighestPrice" является ценой BID, как это происходит на всех графиках, вам, вероятно, придется добавить спред. Любой ордер BUY срабатывает по цене ASK.

 

как вывести информацию на основной график

Я скачал индикатор, который показывает зеленую/красную стрелку, когда приходит сигнал на покупку/продажу.

Теперь я хочу запрограммировать свой собственный советник на основе этого индикатора.

Но у меня есть только файл ex4 этого индикатора (без исходного кода).

Я хочу, чтобы мой советник считывал стрелку индикатора на главном графике и посылал ордер на покупку/продажу (зеленая стрелка==> покупка, красная стрелка==> продажа).

есть ли какой-нибудь способ получить информацию о стрелке индикатора на основном графике?

спасибо

 
shanyang:
Я скачал индикатор, который показывает зеленую/красную стрелку, когда приходит сигнал на покупку/продажу.

теперь я хочу запрограммировать свой собственный советник на основе этого индикатора.

Но у меня есть только файл ex4 этого индикатора (без исходного кода).

Я хочу, чтобы мой советник считывал стрелку индикатора на основном графике и отправлял ордер на покупку/продажу (зеленая стрелка==> покупка, красная стрелка==> продажа).

есть ли какой-нибудь способ получить информацию о стрелке индикатора на основном графике?

спасибо

Советник должен вызывать сигналы индикатора вверх/вниз с помощью функции iCustom();. Для этого вам не нужен исходный код.

FerruFx