MQL5を本当に学びたいのですが、何から始めればいいのでしょうか? - ページ 6

 
Grozir:

インターネットでMQL5の本を検索する。便利かもしれませんね。

Advanced use of
MetaTrader 5 trading platform
© Timur Mashnin, 2016

情報が少ないのか、探すべき本があるのか?
 

地球儀のフクロウを引っ張るのをやめよう、ねじれの達人たち.うまくいかないとコーラスがないのですが、リコールしましょうC))

Cは汎用言語、MQLはプラットフォーム依存型言語、OOPはプログラムを書くための 方法論、コード掘りと同じ方法論 - 気に入らない、代替案を探す、「私のやり方」(C)がパレート効率によって正当化されたことを証明する。


SZS:愚かな私の意見では、文学を読まないようにアドバイス - 心を広げるために、常に有用であったが、それはここで動作するように見える原理: "あなたが知っているより少ない - よく眠る!"。それは材料(単純なものから複雑なものまで)を教えるの方法論に従うので、文学は常に有用である、もちろん、科学的なプライミングの方法も素晴らしい結果を達成することができること))))。

 
専門的な勉強をしたり、本を読んだりするのであれば、研究所やコンピュータ科学者のウェブサイトなどがあります。
 
Alexsandr San:
情報量が足りないのか、他に探すべき本があるのか?

読みたい人は読まなくていい 純粋に自主的なものです。

校外学習で必読書がある学校ではありません)))

 

このプログラム(Forex Generator)を研究した結果、私の脳は、このプログラムがどのようにコードと名誉を作成し、その行動を見直したかを解明しました。

撮影者


8日間ライセンス - バイパス可能

スナップショット2

---------------------------------------------------

今インストールしようとしたら、間抜けなプログラムだった。以前は、プログラム内の緑のボタンをクリックした後、メタアドバイザーにコードが表示されるようになっていたのだが、今はどうだろう。

今は何もない。

-------------------------------------

以前はmt4で、今はmt5で試しているためかわかりませんが、当時はmt4で動作していました。

------------------------------------------------------------------------------------------------

動かない - この馬鹿なプログラムを確認するために、すでにmt4をインストールしました。

撮影者

-----------------------------------------------

しかし、クリックしたときに、temp.mq4 のコードをすばやく取得する必要があります、そうでなければ、それは消えます。

--- 7年前までは消えていなかった

スナップショット2

-------------------------------------

このようなものが出来上がりました。以前は、何がどこに行ったのか把握しようとしていました。

//-------------------------------------------------------------
//  Etasoft Inc. Forex EA and Script Generator version 7.x   EA
//-------------------------------------------------------------
// Keywords: MT4, Forex EA builder, create EA, expert advisor developer

#property copyright "Copyright © 2014-2019, Etasoft Inc. Forex EA Generator v7.x"
#property link      "http://www.forexgenerator.com/"

#include <stdlib.mqh>
#include <WinUser32.mqh>

// exported variables
extern double BuyLots3 = 0.1;
extern int BuyStoploss3 = 20;
extern int BuyTakeprofit3 = 30;


// local variables
double PipValue=1;    // this variable is here to support 5-digit brokers
bool Terminated = false;
string LF = "\n";  // use this in custom or utility blocks where you need line feeds
int NDigits = 4;   // used mostly for NormalizeDouble in Flex type blocks
int ObjCount = 0;  // count of all objects created on the chart, allows creation of objects with unique names
int current = 0;   // current bar index, used by Cross Up, Cross Down and many other blocks
int varylots[101]; // used by Buy Order Varying, Sell Order Varying and similar



int init()
{
    NDigits = Digits;
    
    if (false) ObjectsDeleteAll();      // clear the chart
    
    
    Comment("");    // clear the chart
    return (0);
}

// Expert start
int start()
{
    if (Bars < 10)
    {
        Comment("Not enough bars");
        return (0);
    }
    if (Terminated == true)
    {
        Comment("EA Terminated.");
        return (0);
    }
    
    OnEveryTick1();
    return (0);
}

void OnEveryTick1()
{
    PipValue = 1;
    if (NDigits == 3 || NDigits == 5) PipValue = 10;
    
    IfHighestBar2();
    
}

void IfHighestBar2()
{
    if (iHighest(NULL, 0, MODE_HIGH, 10, current) == current)
    {
        BuyOrder3();
        
    }
}

void BuyOrder3()
{
    double SL = Ask - BuyStoploss3*PipValue*Point;
    if (BuyStoploss3 == 0) SL = 0;
    double TP = Ask + BuyTakeprofit3*PipValue*Point;
    if (BuyTakeprofit3 == 0) TP = 0;
    int ticket = -1;
    if (true)
    ticket = OrderSend(Symbol(), OP_BUY, BuyLots3, Ask, 4, 0, 0, "My Expert", 1, 0, Blue);
    else
    ticket = OrderSend(Symbol(), OP_BUY, BuyLots3, Ask, 4, SL, TP, "My Expert", 1, 0, Blue);
    if (ticket > -1)
    {
        if (true)
        {
            bool sel = OrderSelect(ticket, SELECT_BY_TICKET);
            bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0, Blue);
            if (ret == false)
            Print("OrderModify() error - ", ErrorDescription(GetLastError()));
        }
            
    }
    else
    {
        Print("OrderSend() error - ", ErrorDescription(GetLastError()));
    }
}



int deinit()
{
    if (false) ObjectsDeleteAll();
    
    
    return (0);
}

ファイル:
temp1.mq4.mq5  6 kb
 
Georgiy Merts:

...

私のライブラリはすべて、最小限の手直しでC++で使えるように書かれています。

これは、Cの機能やmqlの機能を十分に使いこなせていないということかもしれません。

 
Evgeniy Zhdan:

BASICから始めて、Pascal、Assembler、C+、C#を経て徐々にMQL5までたどり着き、初めてコメントにあるチャートに出力してHello worldを書いてみるといいかもしれませんね。

アセンブラは必ず習得してください。それがないと成功しない。:)
 
Serhii Dielieu:
アセンブラは必須です。これがないとダメなんです。:)

砂場から抜け出したいなら、辞書を使った読書が望ましい)

 
Dmitry Fedoseev:

これは、C言語やmqlの機能を十分に活用できていないことを意味します。

可能性は十分にあります。

しかし、私は繰り返し強調してきたのは、コードは「3セントのように」シンプルで透明でなければならず、あらゆるトリックや「特別な機能」は非常に慎重に使わなければならない、ということです。

高度な機能」や「裏技」を駆使して、命を落としたことは一度や二度ではありません。ですから、私は「むやみに新しいものを作らない」ということを常に心がけています。 定番の手法で解決できることは、新しい手法に頼らず、その手法で解決すべきなのです。新しいビルドがリリースされたとき、「今までうまくいっていたことが台無しだ」と時々フォーラムで吠えていた私は、この原則に何度も救われました。しかし、見てみると、かなり非自明なコードがあり、それを理解しようとしなければならない...。では、なぜこのコードが、変更を加えた後にエラーでコンパイルされるようになったのか、その理由は驚くべきことです。

もちろん、極端な話、新しいものを一切否定するようなこともしてはいけません。しかし、「健全な保守主義」は非常に有用だと私は思います。

 
muhhacc ccc:
皆さん、こんにちは。MQL5/ 何から手をつければいいか教えてください チュートリアル動画はありますか? いくつか動画を見つけたのですが、例としてEAの書き方を紹介しているだけで8割以上理解できていません(各種関数の例など) 基本的なことが知りたいです ご理解ありがとうございました。


最後から二番目なんです。

のようなものです。

- 儲かる戦略はあるが、一日中モニターの前に座っているのは疲れるので、私の代わりにロボットが必要だ。

- 私は利益率の高い取引は苦手ですが、MQLを覚えればすぐにロボットを書き、インターネットからお金を汲み上げるようになるでしょう。

))

何をどうすればいいのか、さっぱりわからないのですが、目標は?

理由: