MQL5に関数があるのかもしれません。 2021.02.08 21:29:20.876 my_first_ea_sartrailing (BRN,M5) Alert: Request to place Sell order failed - error code:4756 このメッセージが出る理由を理解したいのです。
//--- собираем все вместеif(Sell_Condition_1 && Sell_Condition_2)
{
if(Sell_Condition_3 && Sell_Condition_4)
{
// есть ли в данный момент открытая позиция на продажу?if(Sell_opened)
{
Alert("Уже есть позиция на продажу!!!");
return; // не добавлять к открытой позиции на продажу
}
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // последняя цена Bid
mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.magic = EA_Magic; // Magic Number
mrequest.type= ORDER_TYPE_SELL; // ордер на продажу
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=100; // проскальзывание от текущей цены//--- отсылаем ордерOrderSend(mrequest,mresult);
// анализируем код возврата торгового сервераif(mresult.retcode==10009 || mresult.retcode==10008) //Request is completed or order placed
{
Alert("Ордер Sell успешно помещен, тикет ордера #:",mresult.order,"!!");
}
else
{
Alert("Запрос на установку ордера Sell не выполнен - код ошибки:",GetLastError());
return;
}
}
}
return;
}
MQL5に関数があるのかもしれません。 2021.02.08 21:29:20.876 my_first_ea_sartrailing (BRN,M5) Alert: Request to place Sell order failed -error code:4756 このメッセージが出る理由を理解したいのです。
Основное правило трейдера - дай прибыли расти, обрезай убытки! В статье рассматривается один из основных технических приемов, позволяющий следовать этому правилу - перемещение уровня защитной остановки (уровня Stoploss) вслед за растущей прибылью позиции, другими словами - скользящий стоп или трейлинг стоп (trailingstop). Приводится пошаговая процедура создания класса для трейлинг стопа на индикаторах SAR и NRTR, который каждый желающий сможет за 5 минут встроить в своего эксперта или использовать независимо для управления позициями на своем счете.
voidOnTick()
{
for(int tik =1; tik <= 6; tik++)
{
Fractal=iFractals(Symbol(),tik); // Вот эта tik переменная вызывает ошибку при компиляции
switch(tik)
{
case1:
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_W1),FractalUP_W1); // заполнение масива FractalUp[] верхними фракталами на дневном графикеCopyBuffer(Fractal,1,TimeCurrent(),Bars(Symbol(),PERIOD_W1),FractalDown_W1); // заполнение масива FractalUp[] нижними фракталами на дневном графике//--- индексация как в таймсерияхArraySetAsSeries(FractalUP_W1,true); //Заполнение массива FractalUp[],FractalDown, нулевым баром в первом окне массива и далее по порядку убывания от нулевого в тайм-серииArraySetAsSeries(FractalDown_W1,true);//Второй параметр -true- функции ArraySetAsSeries Устанавливает флаг индексации как в таймсериях.
;
break;
case2:
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_D1),FractalUP_D1); // заполнение масива FractalUp[] верхними фракталами на дневном графикеCopyBuffer(Fractal,1,TimeCurrent(),Bars(Symbol(),PERIOD_D1),FractalDown_D1); // заполнение масива FractalUp[] нижними фракталами на дневном графике//--- индексация как в таймсерияхArraySetAsSeries(FractalUP_D1,true); //Заполнение массива FractalUp[],FractalDown, нулевым баром в первом окне массива и далее по порядку убывания от нулевого в тайм-серииArraySetAsSeries(FractalDown_D1,true);//Второй параметр -true- функции ArraySetAsSeries Устанавливает флаг индексации как в таймсериях.
;
break;
case3:
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_H4),FractalUP_H4); // заполнение масива FractalUp[] верхними фракталами на дневном графикеCopyBuffer(Fractal,1,TimeCurrent(),Bars(Symbol(),PERIOD_H4),FractalDown_H4); // заполнение масива FractalUp[] нижними фракталами на дневном графике//--- индексация как в таймсерияхArraySetAsSeries(FractalUP_H4,true); //Заполнение массива FractalUp[],FractalDown, нулевым баром в первом окне массива и далее по порядку убывания от нулевого в тайм-серииArraySetAsSeries(FractalDown_H4,true);//Второй параметр -true- функции ArraySetAsSeries Устанавливает флаг индексации как в таймсериях.
;
break;
case4:
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_H1),FractalUP_H1); // заполнение масива FractalUp[] верхними фракталами на дневном графикеCopyBuffer(Fractal,1,TimeCurrent(),Bars(Symbol(),PERIOD_H1),FractalDown_H1); // заполнение масива FractalUp[] нижними фракталами на дневном графике//--- индексация как в таймсерияхArraySetAsSeries(FractalUP_H1,true); //Заполнение массива FractalUp[],FractalDown, нулевым баром в первом окне массива и далее по порядку убывания от нулевого в тайм-серииArraySetAsSeries(FractalDown_H1,true);//Второй параметр -true- функции ArraySetAsSeries Устанавливает флаг индексации как в таймсериях.
;
break;
case5:
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_M30),FractalUP_30); // заполнение масива FractalUp[] верхними фракталами на дневном графикеCopyBuffer(Fractal,1,TimeCurrent(),Bars(Symbol(),PERIOD_M30),FractalDown_30); // заполнение масива FractalUp[] нижними фракталами на дневном графике//--- индексация как в таймсерияхArraySetAsSeries(FractalUP_30,true); //Заполнение массива FractalUp[],FractalDown, нулевым баром в первом окне массива и далее по порядку убывания от нулевого в тайм-серииArraySetAsSeries(FractalDown_30,true);//Второй параметр -true- функции ArraySetAsSeries Устанавливает флаг индексации как в таймсериях.
;
break;
case6:
CopyBuffer(Fractal,0,TimeCurrent(),Bars(Symbol(),PERIOD_M15),FractalUP_15); // заполнение масива FractalUp[] верхними фракталами на дневном графикеCopyBuffer(Fractal,1,TimeCurrent(),Bars(Symbol(),PERIOD_M15),FractalDown_15); // заполнение масива FractalUp[] нижними фракталами на дневном графике//--- индексация как в таймсерияхArraySetAsSeries(FractalUP_15,true); //Заполнение массива FractalUp[],FractalDown, нулевым баром в первом окне массива и далее по порядку убывания от нулевого в тайм-серииArraySetAsSeries(FractalDown_15,true);//Второй параметр -true- функции ArraySetAsSeries Устанавливает флаг индексации как в таймсериях.
;
break;
}
}
しかし、別の通貨ペアでこの値を得るにはどうすればよいのでしょうか。
教えてください。
DIGITSとは何か......理解できました。他の通貨ペアで取得する方法は?お願い、助けて。
SYMBOL_DIGITS
小数点以下の桁数
イント
MqlTradeRequest mrequest ?
MQL5に関数があるのかもしれません。 2021.02.08 21:29:20.876 my_first_ea_sartrailing (BRN,M5) Alert: Request to place Sell order failed - error code:4756 このメッセージが出る理由を理解したいのです。
こんにちは!!完成した構造のログを取る方法を教えてください。
MqlTradeRequest mrequest ?
MQL5に関数があるのかもしれません。 2021.02.08 21:29:20.876 my_first_ea_sartrailing (BRN,M5) Alert: Request to place Sell order failed -error code:4756 このメッセージが出る理由を理解したいのです。
https://www.mql5.com/ru/forum/327894
そして、その記録はこちら:こちらまた、ハードでなければ、このアスタリスクがポインタであることについて、ドキュメント中のどこに書かれているのか * 指定してください。一度見たのですが、もう教科書に目を通してしまって見つからないんです((
こんにちは、それは可能ですか、どのように指標を使用せずに取引の開始と終了のためのアルゴリズムを作成するのですか?
例えば、2つの行を取る、1つのトレンドラインを上にして、第二はまたダウンして、お互いの上に置くと、2つの行の間の交差点がある、それは時間の15から30にあると仮定しましょう、その後どのように順序が自動的に任意の方向に開始するには、同じ時間で開かれるようにするには、アルゴリズムがこれらの点を見つけるとオープンポジション でしょう作るには?明確な説明とご意見をお願いします。
このようなT3に基づいてEAを作ることは可能でしょうか?そのように行うことができないことが判明した( 奇妙な、なぜ素数は、このパラメータに使用できますが、数値定数の変数ではありません?
こんにちは!質問があります。異なるタイムフレームのインディケータハンドラを配列に集める必要があるのですが、 はそれができないことがわかりました(
奇妙ですね、なぜこのパラメータに素数は 使えるのに、数値定数を持つ変数は使えないのでしょうか?
なぜなら、時間枠が必要だからです
識別子
商品説明
PERIOD_CURRENT
当 期
PERIOD_M1
1分
PERIOD_M2
2分
PERIOD_M3
3分
PERIOD_M4
4分
PERIOD_M5
5分
PERIOD_M6
6分
PERIOD_M10
10分
PERIOD_M12
12分
PERIOD_M15
15分
PERIOD_M20
20分
PERIOD_M30
30分
PERIOD_H1
1時間
PERIOD_H2
2時間
PERIOD_H3
3時間
PERIOD_H4
4時間
PERIOD_H6
6時間
PERIOD_H8
8時間
PERIOD_H12
12時間
PERIOD_D1
1日
PERIOD_W1
1週間
PERIOD_MN1
1ヶ月
異なるタイムフレームのインディケータハンドルを配列に集める 必要があるのですが、 そのようなことはできないことがわかりました( このパラメータに素数は使えるのに、数値定数の変数は使えないのはなぜでしょう
?
MQL5のインジケーターハンドルは一度だけ作成しなければならない!そして、それはOnInit()の中で行わなければなりません!!!!