[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 424

 
sergeev >>:

приведите здесь вашу функцию открытия ордеров.

int NewOrder(int Cmd,double Lot)

{double TP=0, TP2=0;

双SL=0,SL2=0。

双重PR=0。

datetime endtime。


while(!IsTradeAllowed())睡眠(100)。

endtime = TimeCurrent()+4*60*60。


如果(Cmd == OP_BUYSTOP)

{

PR=TOP+10*Point。

PR=NormalizeDouble(PR,2)。

如果(TakeProfit>0)

{

TP=PR+25*Point。

}

如果(StopLoss>0)

{

SL=PR-30*点。

SL=NormalizeDouble(SL,2)。

}

}

如果(Cmd==OP_SELLSTOP)

{

PR=BOT-7*Point。

PR=NormalizeDouble(PR,2)。

如果(TakeProfit>0)

{

TP=PR-25*点。

}

如果(StopLoss>0)

{

SL=PR+30*Point。

SL=NormalizeDouble(SL,2)。

}

}

如果((TOP-BOT)<115*Point)

int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,"",0,endtime,CLR_NONE) 。

否则

Print("TOR和BOT之间的巨大差异。",(TOP-BOT))。

if(tic<0) Print("Order opening error: " ,GetLastError();


return(tic)。

 
sanyooooook >>:

а ордер как закрывается? по стоп лосту или функцией OrderClose()

在止损或止盈时。

 

大家好......我有个问题......我在哪里可以看到交易报告......整个工作期间的总额......?

 
sergeev >>:
В принципе можно искать ордера в истории и отсортировать их, затем узнать два последних закрытия. Но это вам надо пройтись по всем ордерам истории два раза.

используйте OrderHistoryTotal(), MODE_HISTORY, OrderCloseTime()>0, OrderProfit()

Другим вариантом - чтоб не сканировать два раза историю - это запоминание тикетов открывшихся ордеров и потом определения их профита.

你到底是如何记住门票的?而你如何理解:要获得一张票,你需要选择一个订单,而要选择它,你需要知道票...

 
just-me >>:

А как именно запоминать тикеты? И как понимать: чтоб обратиться к тикету - нужно выбрать ордер, а чтоб его выбрать - нужно знать тикет...

你不需要知道票据来选择一个订单

 

我对marketinfo功能感到困惑,无法计算出一个给定手数的存款货币 工具的正确点差值。你能建议一个正确的公式吗?我需要它用于现货和CFD...

 

我有一个问题要问专家--是否有可能使一个常数,即我启动EA时收到的价格的第一个值?

我想把这个价格保存为一个常量,这样在EA运行的所有时间里,我都可以参考它。唯一的问题是,如何做到这一点?因为Ask在不断变化,而且我找不到复制功能。

 

一个全局变量 或只是一个变量

并不是在启动函数中,而是在init函数中插入这个内容

int init()
  {
//----
   GlobalVariableSet("Price_Start",Ask);
//----
   return(0);
  }
 
Kesha_k85 >>:

У меня такой вопрос к спецам - есть ли возможность сделать константой, первое полученное значение цены при запуске советника?

Т.е если я запустил советник и в это время цена Ask=1.4444 Я хочу эту цену сохранить как константу, чтобы всё время работы советника можно было к ней орбащаться. Только вот вопрос, как это сделать??? Ведь Ask постоянно меняеться, а функции копирования я нигде не нашёл.


主题的变体。


double Price_Start;

int init()
 {
   Price_Start=Ask;
   return(0);
 }


double Price_Start=0;

int start()
 {
   if ( Price_Start<0.001) Price_Start=Ask;
   //....
 }
 
just-me писал(а)>>

你到底是如何记住门票的?而你如何理解:要参考一张票,你需要选择一个订单,而要选择它,你需要知道票...

https://docs.mql4.com/ru/trading/OrderSelect- 见SELECT_BY_POS

原因: