MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 265

 
STARIJ:

グラフはブラウザの中のどこにあるのですか?

いいえ、端末のグラフ

 
Vitaly Muzichenko: いいえ、端末のグラフ
//+------------------------------------------------------------------+
//| Скрипт для вызова калькулятора и проч           -Калькулятор.mq4 |
//+------------------------------------------------------------------+
#property strict

#import "shell32.dll"                   // Все строки кончаются 0
   int ShellExecuteW(int hwnd,          // Хендл родительского окна
                     string Operation,  // Указатель на строку операции. Open, Print, Explore
                     string File,       // Указатель на строку с именем исполняемого файла
                     string Parameters, // Указатель на строку с параметрами
                     string Directory,  // Указатель на строку с именем папки
                     int ShowCmd);      // 0 = показать
#import

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
  // Запустить калькулятор
  ShellExecuteW(0, "Open", "Calc.exe", "", "", 0);

  // Открыть папку
  string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
  ShellExecuteW(0,"explore", terminal_data_path+"\\MQL4", "", "", 1);

  // Открыть HTML-файл
  ShellExecuteW(0,"Open", terminal_data_path+"\\DetailedStatement.htm", "", "", 1);

  // Открыть Яндекс
  ShellExecuteW(0,"Open", "Yandex.ru", "", "", 1);
}
 
STARIJ:

ところで、外部コマンドの呼び出しについて思い出したのですが、ブラウザに伝える方法を教えてください(可能かどうかも)。

"open http://bla-bla-bla page, and if it already exists, just show corresponding tab".

ShellExecuteW(0, "Open"...)は、毎回新しいタブを開くために使用されます。

 
Artyom Trishkin:

同じ品質のキュウリが横に10本並んでいるときに、いつも50本で買っていませんか?


たまに)

トレーディングの最初のルールである「トレンドは友達」を知っていますか?

 
Taras Slobodyanik: トレーディングの最初のルールである「トレンドは友達」を知っていますか?

歴史は繰り返す - アップ - ダウン アップ - ダウン。ゆえに、売りは上、買いは下

 
STARIJ:

ありがとうございます、すべてうまくいきました。

 
Taras Slobodyanik:

たまに)

トレーディングの最初のルールである「トレンドは友達」をご存知でしょうか?

誰がどう見ても、キュウリの倉庫がいっぱいになって(キュウリの流行が終わり)、倉庫のスペースを確保するためにキュウリを売るとき、私はもうキュウリを買いませんよ。倉庫の屋根に箱を置いて、腐ったり、容赦なく盗まれたり、カラスに食べられたりしないように、まずは1、2回分を売ることにしています。

そして、私にとっての「上」とは、倉庫の屋根の高さが見えることで、下にはその床の高さが見える......ということです。

そこで...

 
Taras Slobodyanik:

たまに)

トレーディングの最初のルールである「トレンドは友達」をご存知でしょうか?


このルールは、あなたがマーケットメーカーか、少なくともDCであり、その成立と発展を認識している場合にのみ適用されます。普通のトレーダーから見れば、トレンドはこの市場に存在し得る最も卑劣で危険な動物である。

完成して初めて100%決まるから ))))

そんな仲間がいれば、敵はいらない...。
 
Taras Slobodyanik:

たまに)

トレーディングの最初のルールである「トレンドは友達」を知っていますか?

最初のルールではありません。1つ目は、「安く買って高く売る」です。

また、アップやダウン、トレンドやカウンタートレンドは、ルールではなく、個人の好みです。

 

Artyom こんにちは。私はダニエルと申します。私の質問は次のようなものです。MQL4でExpert Advisorを書きました。 正確には、ビデオチュートリアルから書き直しました。 どうやら、いくつかのエラーがあり、うまくコンパイルできないようです。

//+------------------------------------------------------------------+

//| test7.mq4

//| Copyright 2017, MetaQuotes Software Corp.

//| https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2017, MetaQuotes Software Corp."

#プロパティリンク "https://www.mql5.com"

#property version "1.00"

#プロパティの厳密さ

//-------------------------------------------------------------------

extern double lots = 0.1;

extern int TakeProfit = 300;

extern int StopLoss = 50;

extern int Magic = 777;

extern inttern スリッページ = 3;

//-------------------------------------------------------------------

extern string TMA = "TMAインジケータパラメータ";

extern string TimeFrame = "現在の時間枠";

extern int HalfLength = 56;

extern int Price = "PRICE_CLOSE;

extern double ATRMultiplier = 2.0;

extern inttern ATRPeriod = 100;

extern bool Interpolate = true;

//-------------------------------------------------------------------

Double PriceHigh, PriceLow, SL , TP;

int ticetです。



//+------------------------------------------------------------------+

//| 専門家による初期化機能

//+------------------------------------------------------------------+

int OnInit()

{

if (Digits == 3 || Digits == 5);

{

TakeProfit *=10;

StopLoss *=10;

スリッページ *=10。

}

return(INIT_SUCCEEDED);

}

//+------------------------------------------------------------------+

//| 専門家による初期化関数

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{

}

//+------------------------------------------------------------------+

//| エキスパートティック機能

//+------------------------------------------------------------------+

void OnTick()

{

PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0)です。

PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0)です。

if (CountSell() == 0 && Bid >= PriceHigh)

{

tiket = OrderSend(Symbol(), OP_SELL, lots, Bid, Slippage, 0, 0, "TMA robot", Magic, 0, Red)です。

if (tiket > 0)

{

SL = NormalizeDouble(Bid + StopLoss*Point, Digits)です。

TP = NormalizeDouble(Bid - TakeProfit*Point, Digits)です。

if (OrderSelect(tiket, SELECT_BY_TICKET))

オーダーモディファイ(tiket, OrderOpenPrice(), SL, TP, 0)

}

}

}

//--------------------------------------------------------------------------------------------

if (CountBuy() == 0 && Ask <= PriceLow)

{

tiket = OrderSend(Symbol(), OP_BUY, lots, Ask, Slippage, 0, 0, "TMA robot", Magic, 0, Blue)です。

if (tiket > 0)

{

TP = NormalizeDouble(Ask + TakeProfit*Point, Digits)です。

SL = NormalizeDouble(Ask - StopLoss*Point, Digits)です。

if (OrderSelect(tiket, SELECT_BY_TICKET))

OrderModify(tiket, OrderOpenPrice(), SL, TP, 0);

}

}

//+------------------------------------------------------------------+

int CountSell()

{

int count = 0;

for (int trade = OrdersTotal()-1; trade>=0; trade--)

{

if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber) == Magic && OrderType() == OP_SELL)

count++です。

}

}

return(count)です。

}

//-----------------------------------------------------------------------------------------------

int CountBuy()

{

int count = 0;


for (int trade = OrdersTotal()-1; trade>=0; trade--)

{

if (OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))

{

if (OrderSymbol() == Symbol() && OrderMagicNumber) == Magic && OrderType() == OP_BUY)

count++です。

}

}

return(count)です。

}