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

 
ALEX_SPB_RU:

我还是不明白!

即使我明确指定搜索应从零位置开始,名为ya_Prefix_78 的对象将被删除因为函数将返回数字4

具体来说,如果要按前缀删除,你必须指定==0 或者把!

无意冒犯,我只是在学习,所以我想为自己解开一切。

再次感谢您的帮助!

好运!

也许我说得不够清楚。

如果(StringFind(name, prefix,0) == 0)是完全从字符串的开头搜索。

我不喜欢默认参数,除非是手写的函数--有完全控制....。

好运。

 
abolk:

如果你可以称之为无赖,那么就是无赖。我想帮助那些特别需要帮助的人。但我从经验中知道,如果有人太懒了,连自己的任务都不了解,那么帮助就完全是无赖了。
为什么这么说呢? 是否可以这样说,一个有能力的人写代码比一个刚打开教科书的人更快更容易,他将会犯一些错误,然后只得到正确的结果? 如果你的意思是我不想考虑如何写,那么从逻辑上讲,我会立即写出问题,并要求写一个,但不,我想了解自己,但不是整个语言,而正是我的任务
 
sergeev:

我给你写了具体的函数名称。

我甚至给你看了你的行为的算法。

你是不是连自己写的东西都懒得去想了?

我只找到了OrderModify,我找不到OrderOpenPrice ,虽然我记得以前见过。至于思考,我以为这样的任务属于布尔函数(我想是if,then),把你写的东西放在其中。我说的对吗?
 
Danil93:
我只找到了OrderModify,我找不到OrderOpenPrice ,虽然我记得以前见过。至于思考,我以为这样的问题属于布尔函数(我想是if,then),在其中你需要写出你所写的东西。我说的对吗?

是的。

好吧,如果我给你一个你想要的函数,你至少可以自己把它粘贴到代码中吗?

 
sergeev:

是的。

好吧,如果我给你你想要的函数,你至少可以自己把它插入代码中吗?

我可以
 

如何以编程方式找到某一日期和另一日期之间的高点。

有一个按条形搜索高点的功能;我知道它搜索的是0条至4条的高点;我可以用条形的日期和时间来代替条形吗?

例如,我可以确定日期2011.01.05 20:00,并找到条形图(10或100条),然后将其粘贴到搜索高点的功能中?

iHigh(Symbol(),0,iHighest(NULL,0,MODE_HIGH,4,0)
 
Eliza:

如何以编程方式找到某一日期和另一日期之间的高点。

有一个按条形搜索高点的功能;我知道它搜索的是0条至4条的高点;我可以用条形的日期和时间来代替条形吗?

例如,我可以确定日期2011.01.05 20:00,并找到条形图(10或100条),然后将其粘贴到搜索高点的功能中?


int iBarShift( string symbol, int timeframe, datetime time, bool exact=false) 
Поиск бара по времени. Функция возвращает смещение бара, которому принадлежит указанное время. 
Если для указанного времени бар отсутствует ("дыра" в истории), то функция возвращает, в зависимости 
от параметра exact, -1 или смещение ближайшего бара.

Параметры:
symbol   -   Символьное имя инструмента. NULL означает текущий символ. 
timeframe   -   Период. Может быть одним из периодов графика. 0 означает период текущего графика. 
time   -   Значение времени для поиска. 
exact   -   Возвращаемое значение если бар не найден. FALSE - iBarShift возвращает ближайший. 
            TRUE - iBarShift возвращает -1. 

Пример:
  datetime some_time=D'2004.03.21 12:00';
  int      shift=iBarShift("EUROUSD",PERIOD_M1,some_time);
  Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);

 
 
VladislavVG:

谢谢你)。
 
Danil93:
可以
//------------------------------------------------------------------ TralTP
void TralTP()
{
        int TS=20; // расстояние убытка, на котором переносим тейкпрофит на цену открытия
        
        double FreezLvl=MarketInfo(Symbol(), MODE_FREEZELEVEL)*Point; // расстояние заморозки ордера
        double StopLvl=MarketInfo(Symbol(), MODE_STOPLEVEL)*Point; // расстояние стопуровня ордера
        
        int n=OrdersTotal(); // число текущих открытых ордеров
        for (int i=0; i<n; i++) // проходим по всем ордерам и двигаем стоп
        {
                if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue; // берем ордер
                if (OrderSymbol()!=Symbol()) continue; // если ордер не нашей валюты, то пропускаем
                
                // берем его параметры
                int dir=OrderType(); double cop=NormalizeDouble(OrderOpenPrice(), Digits);
                double csl=NormalizeDouble(OrderStopLoss(), Digits); 
                double ctp=NormalizeDouble(OrderTakeProfit(), Digits);
                
                double apr; if (dir==OP_BUY) apr=Bid; else apr=Ask;
                // проверили уровень заморозки
                if (MathAbs(ctp-apr)<=FreezLvl || MathAbs(csl-apr)<=FreezLvl) continue; // если уровень заморозки
                
                double tp=cop; // ставим ТП на цену открытия
                
                // и проверяем условия выполнения отхода в убыток и правильность установки
                if ((dir==OP_BUY && cop-apr>=TS*Point && (tp<ctp || ctp==0) && tp>apr+StopLvl)
                 || (dir==OP_SELL && apr-cop>=TS*Point && (tp>ctp || ctp==0) && tp<apr-StopLvl))
                {
                        if (!OrderModify(OrderTicket(), cop, csl, tp, 0)) 
                                Print(GetLastError(), " -TralPos #"+OrderTicket()+" tp="+tp);
                }
        }
}
 


如果(OrderSymbol()!=Symbol())继续; //如果订单不是我们的货币,则跳过。

我还什么都不懂,我刚进论坛,看了15秒,但有一个错误,我应该写==,一看就知道,如果有错,对不起。

节日快乐!!!大家!!!!

原因: