MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 126 1...119120121122123124125126127128129130131132133...1953 新しいコメント Vitalie Postolache 2017.02.14 14:36 #1251 MosheDayan: 信号について、MTによるものか、サードパーティによるものか、詳しく教えてください。 できますよ、ここに書いて あります。レベルの代わりに自分のトレードを放送するだけなので、このシステムが気に入れば誰でも参加することができるのです。 Fam 2017.02.14 14:56 #1252 ありがとうございました、直りました。 Andrei Sokolov 2017.02.14 16:20 #1253 ターミナル全体または個々のExpert Advisorで、例えば特定のインディケータに従って自動売買を停止/開始することは可能ですか? Vitalie Postolache 2017.02.14 17:18 #1254 Andrey Sokolov: 自動売買は、例えばある指標のデータに応じて、端末全体や個別のEAで無効化/停止することができますか?端末のグローバル変数を 利用し、全てに同じGPを規定し、例えば0になると全てのEAが取引しないなど、値を監視することができます。また、WinAPIを利用してターミナルパネル上の自動売買ボタンを探し、押すことも可能です。 Andrei Sokolov 2017.02.14 17:20 #1255 Vitalie Postolache ありがとうございました。 Vladimir Tyumentsev 2017.02.14 21:23 #1256 こんにちは、チャート上にテキスト(ステッカー、リマインダー)を表示する際、チャートと一緒に移動せず、固定で表示するコードはありますか?ありがとうございました。 Artyom Trishkin 2017.02.14 21:25 #1257 Vladimir.Tyumen: こんにちは、チャート上にテキスト(ステッカー、リマインダー)を表示する際、チャートと一緒に移動せず、固定で表示するコードはありますか?ありがとうございました。OBJ_LABEL Voznesen 2017.02.16 01:23 #1258 最近、グリッドEAを作成するビデオチュートリアルに出会いました。しかし、私は自分のロボットのオープントレードを見ることができない、私はあまりにも怠惰ではない人に尋ねたい)))ありがとうございました。extern double Lots = 0.1;extern double Profit = 50;extern int Step = 30;extern int Magic = 6677;extern int Slippage = 5;extern int maPeriod =100;extern int maShift =1;double ma, FindLastBuyPrice, price;//------------------------------------------------------------------//___ПРОВЕРКА_ЗНАКОВ_ПОСЛЕ_ТОЧКИ___ //------------------------------------------------------------------int OnInit(){ if (Digits == 3 || Digits == 5) { Step *= 10; Slippage *= 10; } return(INIT_SUCCEEDED);}//---------------------------------------------void OnDeinit(const int reason){}//------------------------------------------------------------------////------------------------------------------------------------------void OnTick(){ ma = iMA(Symbol(),0,maPeriod, maShift, MODE_SMA, PRICE_CLOSE, 0); if (CountBuy() && CountSell() == 0 && Bid < ma)// { if (OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "", Magic, 0, Red) < 1) Print ("Неудалось открыть ордер на Продажу"); } if (CountBuy() && CountSell() == 0 && Ask < ma) { if (OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue) < 1) Print ("Неудалось открыть ордер на Покупку"); } if (CountBuy() >=1) { price = FindLastBuyPrice(); if ((price - Ask) >= Step*Point) { if (OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue) < 1) Print ("Неудалось открыть ордер на Покупку"); } } if (CountSell() >=1) { price = FindLastBuyPrice(); if ((Bid - price) >= Step*Point) { if (OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "", Magic, 0, Red) < 1) Print ("Неудалось открыть ордер на Ппродажу"); } } double op = CalculateProfit(); if (op >= Profit) { CloseAll(); } }//------------------------------------------------------------------void CloseAll(){ for (int i = OrdersTotal()-1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY) { if (!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage)) { Print ("Не удалось закрыть ордер на ПОКУПКУ"); } } if (OrderType() == OP_SELL) { if (!OrderClose(OrderTicket(), OrderLots(), Ask, Slippage)) { Print ("Не удалось закрыть ордер на ПРОДАЖУ"); } } } } }}//------------------------------------------------------------------double CalculateProfit() // Считаем профит по всем ордерам{ double oProfit = 0; for (int i=OrdersTotal() -1; i>=0; i--) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { oProfit += OrderProfit(); } } } } return(oProfit);}//------------------------------------------------------------------double FindLastBuyPrice(){ int oldTicket, ticket = 0; double oldopenPrice = 0; for (int cnt = OrdersTotal()-1; cnt>=0; cnt--) { if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() ==Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) { oldTicket = OrderTicket(); if (oldTicket > ticket) { ticket = oldTicket; oldopenPrice = OrderOpenPrice(); } } } } return(oldopenPrice);}double FindLastSellPrice(){ int oldTicket, ticket = 0; double oldopenPrice = 0; for (int cnt = OrdersTotal()-1; cnt>=0; cnt--) { if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() ==Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL) { oldTicket = OrderTicket(); if (oldTicket > ticket) { ticket = oldTicket; oldopenPrice = OrderOpenPrice(); } } } } return(oldopenPrice);}//+------------------------------------------------------------------+//+------------------------------------------------------------------+int CountBuy(){ int count = 0; for (int trade = OrdersTotal()-1; trade >=0; trade--) { if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) == true) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) count++; } } return(count);}//+------------------------------------------------------------------+int CountSell(){ int count = 0; for (int trade = OrdersTotal()-1; trade >=0; trade--) { if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) == true) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL) count++; } } return(count);}//+------------------------------------------------------------------+ Any questions from newcomers 初心者の方からの質問 MQL4 MT4 MetaTrader どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Mickey Moose 2017.02.16 05:56 #1259 皆さん、こんにちは。ここで質問です。ライブラリ付きのインジケータがあり、そのためのExpert Advisorを作成 する必要があります。どのようなアクションのスキームがファイルの増殖を避けるために必要であり、結果として2つまたは1つであるべきです。どちらも使いたい。Voznesen:最近、グリッドEAの作成方法のビデオチュートリアルに出会いましたが、書いて、コンパイルして、0エラー、0ワーニングでした。しかし、ロボットは取引を開始しない。私は誰かが怠惰であるかどうかを確認するためにコードを出している))) どのように取引を開始するのか、どのような条件で取引を開始するのか? Alexey Viktorov 2017.02.16 06:05 #1260 trader781:皆さん、こんにちは。ここで質問です。ライブラリ付きのインジケータがあり、そのためのExpert Advisorを作成 する必要があります。どのようなアクションのスキームがファイルの増殖を避けるために必要であり、結果として2つまたは1つであるべきです。理想的なのは、それらが組み合わされることです。リソースとして接続されたカスタムインジケータとの連携 mql4-programの作業には、1つ以上のカスタムインジケータが必要な場合があり、それらのすべては実行可能なmql4-programのコードに含めることができます。指標をリソースとして含めることで、プログラムの配布を簡素化することができます。 ただ、インクルードファイルがない場合、他のコンピュータでコンパイルできないのが難点です。 Ресурсы - Программы MQL4 - Справочник MQL4 docs.mql4.com Ресурсы - Программы MQL4 - Справочник MQL4 1...119120121122123124125126127128129130131132133...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
信号について、MTによるものか、サードパーティによるものか、詳しく教えてください。
ありがとうございました、直りました。
自動売買は、例えばある指標のデータに応じて、端末全体や個別のEAで無効化/停止することができますか?
端末のグローバル変数を 利用し、全てに同じGPを規定し、例えば0になると全てのEAが取引しないなど、値を監視することができます。
また、WinAPIを利用してターミナルパネル上の自動売買ボタンを探し、押すことも可能です。
こんにちは、チャート上にテキスト(ステッカー、リマインダー)を表示する際、チャートと一緒に移動せず、固定で表示するコードはありますか?ありがとうございました。
ありがとうございました。
extern double Lots = 0.1;
extern double Profit = 50;
extern int Step = 30;
extern int Magic = 6677;
extern int Slippage = 5;
extern int maPeriod =100;
extern int maShift =1;
double ma, FindLastBuyPrice, price;
//------------------------------------------------------------------
//___ПРОВЕРКА_ЗНАКОВ_ПОСЛЕ_ТОЧКИ___
//------------------------------------------------------------------
int OnInit()
{
if (Digits == 3 || Digits == 5)
{
Step *= 10;
Slippage *= 10;
}
return(INIT_SUCCEEDED);
}
//---------------------------------------------
void OnDeinit(const int reason)
{
}
//------------------------------------------------------------------
//
//------------------------------------------------------------------
void OnTick()
{
ma = iMA(Symbol(),0,maPeriod, maShift, MODE_SMA, PRICE_CLOSE, 0);
if (CountBuy() && CountSell() == 0 && Bid < ma)//
{
if (OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "", Magic, 0, Red) < 1)
Print ("Неудалось открыть ордер на Продажу");
}
if (CountBuy() && CountSell() == 0 && Ask < ma)
{
if (OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue) < 1)
Print ("Неудалось открыть ордер на Покупку");
}
if (CountBuy() >=1)
{
price = FindLastBuyPrice();
if ((price - Ask) >= Step*Point)
{
if (OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue) < 1)
Print ("Неудалось открыть ордер на Покупку");
}
}
if (CountSell() >=1)
{
price = FindLastBuyPrice();
if ((Bid - price) >= Step*Point)
{
if (OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "", Magic, 0, Red) < 1)
Print ("Неудалось открыть ордер на Ппродажу");
}
}
double op = CalculateProfit();
if (op >= Profit)
{
CloseAll();
}
}
//------------------------------------------------------------------
void CloseAll()
{
for (int i = OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY)
{
if (!OrderClose(OrderTicket(), OrderLots(), Bid, Slippage))
{
Print ("Не удалось закрыть ордер на ПОКУПКУ");
}
}
if (OrderType() == OP_SELL)
{
if (!OrderClose(OrderTicket(), OrderLots(), Ask, Slippage))
{
Print ("Не удалось закрыть ордер на ПРОДАЖУ");
}
}
}
}
}
}
//------------------------------------------------------------------
double CalculateProfit() // Считаем профит по всем ордерам
{
double oProfit = 0;
for (int i=OrdersTotal() -1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
{
oProfit += OrderProfit();
}
}
}
}
return(oProfit);
}
//------------------------------------------------------------------
double FindLastBuyPrice()
{
int oldTicket, ticket = 0;
double oldopenPrice = 0;
for (int cnt = OrdersTotal()-1; cnt>=0; cnt--)
{
if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() ==Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY)
{
oldTicket = OrderTicket();
if (oldTicket > ticket)
{
ticket = oldTicket;
oldopenPrice = OrderOpenPrice();
}
}
}
}
return(oldopenPrice);
}
double FindLastSellPrice()
{
int oldTicket, ticket = 0;
double oldopenPrice = 0;
for (int cnt = OrdersTotal()-1; cnt>=0; cnt--)
{
if (OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() ==Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)
{
oldTicket = OrderTicket();
if (oldTicket > ticket)
{
ticket = oldTicket;
oldopenPrice = OrderOpenPrice();
}
}
}
}
return(oldopenPrice);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int CountBuy()
{
int count = 0;
for (int trade = OrdersTotal()-1; trade >=0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0;
for (int trade = OrdersTotal()-1; trade >=0; trade--)
{
if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)
count++;
}
}
return(count);
}
//+------------------------------------------------------------------+
皆さん、こんにちは。ここで質問です。
ライブラリ付きのインジケータがあり、そのためのExpert Advisorを作成 する必要があります。
どのようなアクションのスキームがファイルの増殖を避けるために必要であり、結果として2つまたは1つであるべきです。どちらも使いたい。
皆さん、こんにちは。ここで質問です。
ライブラリ付きのインジケータがあり、そのためのExpert Advisorを作成 する必要があります。
どのようなアクションのスキームがファイルの増殖を避けるために必要であり、結果として2つまたは1つであるべきです。理想的なのは、それらが組み合わされることです。
リソースとして接続されたカスタムインジケータとの連携
mql4-programの作業には、1つ以上のカスタムインジケータが必要な場合があり、それらのすべては実行可能なmql4-programのコードに含めることができます。指標をリソースとして含めることで、プログラムの配布を簡素化することができます。