goo blog サービス終了のお知らせ 

CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

FXの逆指値トラップリピート自動売買のMQL4プログラムを書いてください

2023-03-07 12:58:18 | FX
ChatGPTへの質問
「FXの逆指値トラップリピート自動売買のMQL4プログラムを書いてください」

ChatGPTからの回答
「以下は、MetaTrader 4(MT4)用のMQL4言語で逆指値トラップリピート自動売買を行うプログラムの例です。このプログラムは、逆指値注文を使用してトレーリングストップを設定し、売買回数が制限回数に達するまでリピートしてトレードを続けます。
// 外部パラメーター
extern double TakeProfit = 50; // 利益確定ピップス
extern double StopLoss = 30; // 損切りピップス
extern double TrailingStop = 20; // トレーリングストップピップス
extern int MaxOrders = 5; // 最大取引回数

// グローバル変数
double BuyPrice = 0, SellPrice = 0;
int OrdersCount = 0;

// オンライン処理
void OnTick() {

// 売買回数が最大回数に達したら終了する
if (OrdersCount >= MaxOrders) {
return;
}

// ポジションが無ければ新しい注文を出す
if (PositionsTotal() == 0) {

// 逆指値注文で買いエントリー
double BuyEntry = Ask + StopLoss * Point;
double BuyStopLoss = Bid - StopLoss * Point;
double BuyTakeProfit = Ask + TakeProfit * Point;
int BuyTicket = OrderSend(_Symbol, OP_BUYSTOP, 1.0, BuyEntry, 3, BuyStopLoss, BuyTakeProfit, "Buy Order", 0, 0, Blue);
// 注文が成功したら取引回数を増やす
if (BuyTicket > 0) {
OrdersCount++;
BuyPrice = BuyEntry;
}
}
// ポジションがあればトレーリングストップを更新する
else {
// 買いポジションの場合
if (PositionSelect("Buy") == true) {
// トレーリングストップを更新する
double BuyTrailingStop = BuyPrice + TrailingStop * Point;
bool BuyOrderModified = OrderModify(OrderTicket(), BuyPrice, BuyTrailingStop, BuyTakeProfit, 0, Blue);
// 注文が成功したらトレーリングストップを更新する
if (BuyOrderModified == true) {
BuyPrice = BuyTrailingStop;
}
}
// 売りポジションの場合
else if (PositionSelect("Sell") == true) {
// トレーリングストップを更新する
double SellTrailingStop = SellPrice - TrailingStop * Point;
bool SellOrderModified = OrderModify(OrderTicket(), SellPrice, SellTrailingStop, SellTakeProfit, 0, Red);
// 注文が成功したらトレーリングストップを更新する
if (SellOrderModified == true) {
SellPrice = SellTrailingStop;
}
}

追加の質問
では任意のpipes間隔で多段の逆指値を入れるプログラムは?

追加の回答
「以下は、MT4のMQL4言語を使用して、任意のピップ間隔で多段の逆指値を設定する逆指値トラップリピート自動売買プログラムの例です。このプログラムは、指定されたピップ間隔ごとに、逆指値注文を使用してトレーリングストップを設定します。同じピップ間隔で複数のトレーリングストップを設定するため、 for ループを使用して逆指値注文を生成し、その注文をリストに格納します。」
// 外部パラメーター
extern double TakeProfit = 50; // 利益確定ピップス
extern double StopLoss = 30; // 損切りピップス
extern double TrailingStopInterval = 10; // トレーリングストップピップスの間隔
extern int MaxOrders = 5; // 最大取引回数

// グローバル変数
double BuyPrice = 0, SellPrice = 0;
int OrdersCount = 0;
int TrailingStopCount = 0;
datetime LastTrailingStopTime;

// 注文を格納するリスト
struct OrderData {
int ticket;
double price;
};
OrderData BuyOrders[];
OrderData SellOrders[];

// オンライン処理
void OnTick() {

// 売買回数が最大回数に達したら終了する
if (OrdersCount >= MaxOrders) {
return;
}

// ポジションが無ければ新しい注文を出す
if (PositionsTotal() == 0) {

// 指定されたピップ間隔ごとに逆指値注文を生成する
for (int i=0; i<=TrailingStopCount; i++) {
// 買い注文の場合
double BuyEntry = Ask + (StopLoss + i * TrailingStopInterval) * Point;
double BuyStopLoss = Bid - (StopLoss + i * TrailingStopInterval) * Point;
double BuyTakeProfit = Ask + TakeProfit * Point;
int BuyTicket = OrderSend(_Symbol, OP_BUYSTOP, 1.0, BuyEntry, 3, BuyStopLoss, BuyTakeProfit, "Buy Order", 0, 0, Blue);
// 注文が成功したら取引回数を増やす
if (BuyTicket > 0) {
OrdersCount++;
OrderData newOrder;
newOrder.ticket = BuyTicket;
newOrder.price = BuyEntry;
BuyOrders[ArraySize(BuyOrders)] = newOrder;
}
// 売り注文の場合
double SellEntry = Bid - (StopLoss + i * TrailingStopInterval) * Point;
double SellStopLoss = Ask + (StopLoss + i * TrailingStopInterval) * Point;
double SellTakeProfit = Bid - TakeProfit * Point;
int SellTicket = OrderSend(_Symbol, OP_SELLSTOP, 1.0, SellEntry,

FXのヒストリカルデーターCSVファイルをリアルタイムで取得する方法

2023-03-06 22:08:19 | FX

FXのヒストリカルデーターCSVファイルをリアルタイムで取得する方法をChatGPTに尋ねてみた。

FXのヒストリカルデータをリアルタイムで取得するには、以下の方法があります。

  1. APIを使用する:FXデータプロバイダーが提供するAPIを使用して、リアルタイムでFXデータを取得できます。一般的なFXデータプロバイダーには、OANDA、FXCM、IGなどがあります。これらのAPIを使用することで、高速で正確なデータを取得できます。ただし、APIの利用には認証情報が必要であり、また一定の利用料が必要な場合があります。

  2. WebSocketを使用する:WebSocketを使用して、FXデータをリアルタイムで受信することができます。WebSocketは、Webブラウザとサーバー間で双方向の通信を実現するための技術であり、FXデータをリアルタイムで受信することができます。WebSocketを使用することで、APIよりも高速でリアルタイムのデータを取得することができます。

  3. MT4/MT5を使用する:MetaTrader 4(MT4)やMetaTrader 5(MT5)などのプラットフォームを使用することで、FXデータをリアルタイムで取得することができます。これらのプラットフォームは、FX取引において広く使用されており、多くのFXデータプロバイダーが対応しています。ただし、MT4/MT5を使用するためには、プラットフォームをダウンロードし、インストールする必要があります。

  4. スクレイピングを使用する:WebサイトからFXデータをスクレイピングすることで、リアルタイムでデータを取得することができます。ただし、スクレイピングにはWebサイトの利用規約に違反する可能性があるため、注意が必要です。また、Webサイトの構造が変更された場合には、スクレイピングが正常に動作しなくなる可能性があるため、定期的なメンテナンスが必要です。


MQL4をPythonに変換するトランスパイラは?

2023-03-05 11:26:10 | FX

MQL4をPythonに変換するトランスパイラは?

ChatGPTに訊いてみた。回答は…

MQL4をPythonに変換するトランスパイラとしては、現在は公式にサポートされているものはありません。しかし、いくつかのコミュニティーによって開発されたMQL4からPythonへの変換ツールがあります。

以下はいくつかのMQL4からPythonへの変換ツールの例です。

mql4py (https://github.com/PaulGib/mql4py)

このライブラリは、MQL4のコードをPythonコードに変換することができます。ただし、現在は開発が停止しているようです。

mql4-metatrader4-to-python (https://github.com/LeoReentry/mql4-metatrader4-to-python)

このツールは、MQL4スクリプトをMetaTrader 4ターミナルにインストールして実行し、Pythonでのコンバージョンを可能にします。しかしながら、その効果は制限されているため、正確な変換が得られない場合があります。

これらのツールは、MQL4からPythonへの変換に役立つかもしれませんが、完全な自動変換は不可能であるため、手動での変換が必要な場合があります。

…だそうだ。


Talibライブラリに新しく指標を登録するには?

2023-03-05 09:09:34 | FX
ChatGPTの威力を堪能した!
Talibライブラリに新しく指標を登録したい
と質問してみたら、約3秒で下記の回答が表示された!
TalibはPythonで書かれたテクニカル分析のためのライブラリです。
新しい指標を追加するには、Talibのコードを編集して指標を実装する必要があります。
以下の手順に従って、Talibに新しい指標を追加することができます。
① TalibのGitHubリポジトリをフォークして、ローカルマシンにクローンします。
② talib/func ディレクトリ内に、新しい指標のためのPythonファイルを作成します。ファイル名は、新しい指標の名前に基づいてください。
③ Pythonファイル内に、新しい指標を実装します。Talibの指標の実装については、既存の指標の実装を参考にすることができます。ただし、新しい指標を実装する場合は、必要に応じて、新しいアルゴリズムを考える必要があります。
④ talib/func/__init__.py ファイル内で、新しい指標をインポートし、FUNCTIONS リストに追加します。FUNCTIONS リストは、Talibのすべての指標を保持するリストであり、新しい指標を追加することで、Talibがその指標を認識するようになります。
⑤ コードの変更を反映させるために、Talibを再インストールします。以下のコマンドを実行します。
sh Copy code pip uninstall talib pip install .
⑥新しい指標を使用するために、PythonスクリプトでTalibをインポートし、新しい指標を使用します。
python Copy code import talib # 新しい指標を使用する output = talib.new_indicator(inputs, ...)
以上の手順に従って、Talibに新しい指標を追加することができます。ただし、Talibのコードを変更することは、バグを導入する可能性があるため、慎重に行うことが重要です。また、変更を公開する前に、テストを実行して、問題がないことを確認することも重要です。

ちなみにSpectrometr separateは、あくまでもインジケータであってMACDみたいな指標ではないので、talibライブラリに登録できるかどうかは分からない。
やってみる価値はあると思う。

新しく指標を作ったという方は、ドンドンtalibのライブラリに登録して欲しい。





XMTradingでは仮想通貨取引も可能らしい

2023-03-02 23:54:13 | FX

ビットコインなら米ドル、ユーロ、ポンドとのペアで取引可能らしい。

仮想通貨取引といえばブロックチェーン技術がお馴染み。

仮想通貨取引といったらアービトラージが連想されるが、XMTradingではアービトラージ取引は禁止されているとのこと。
つまり、XMTradingでアービトラージ取引をやってバレたら一発で口座をアボーンされるということだ。



この美人なおねーさんは誰かと思ったら、蛙亭・イワクラだった。


EAのデコンパイル屋さんwww

2023-02-28 04:32:18 | FX
LANCERSで面白いものを見つけた。
EA(MT4,MT5)(例ex4→mq4)のデコンパイルします。

EA(MT4,MT5)(例ex4→mq4)のデコンパイルします。

ランサーズで見積もり・カスタマイズの相談を承ります

lancers

見積り費用は62500円からとのこと。
俺としてはデコンパイルしてほしいEAが二つある。
どちらも逆指値トラリピ系だ。

ちょっと高いのでは?と思った。

Ghidraでデコンパイルできるかどうかは知らないが、試してみる価値はある!

他にも・・・

この手のカテゴリーは詐欺が横行しているらしいので気をつけた方がいいかも。

フーリエ解析インジケータSpectrometr separateをXMTradingのMT4に入れてみた

2023-02-26 19:59:30 | FX


Spectrometr separateというフーリエ解析インジケータをXMTradingのMT4に入れてみたが、一瞬だけ表示されて消えてしまった。
いったんMT4を閉じて再度開くと表示されたがまたしても消えてしまった。

いったいどうなってるんだか?

ちなみにEUD/USDの一週間足で設定してみた。
確かに赤いラインが大きな波を捉えているのが分かった。
この赤いラインと、もう一つのオレンジのラインが相場の波形を形成している。

この二つのラインがクロスした所で上昇トレンドが発生しているのが分かるだろう。

ここが逆指値トラリピの稼働開始地点となる。
上昇トレンドの終了地点が次のクロスと予想され、ここで利確なり損切りなりすれば良いことになる。
上昇トレンドが終了した後は下降トレンドに移行するかもしれないし、レンジに陥るかもしれない。
もしレンジ相場を形成する波形を検知したならば指値トラリピを稼働すれば良いと思われる。
いくつか波形をストックしておいてAIで解析する機能を搭載してEAの精度を上げるべきだ。

下の動画はこのインジケータの解説



値動きをフーリエ変換した結果を表示するMT4インジケーター「Spectrometr_Separate

2023-02-20 20:42:53 | FX

値動きをフーリエ変換した結果を表示するMT4インジケーター「Spectrometr_Separate」

値動きをフーリエ変換した結果を表示するMT4インジケーター「Spectrometr_Separate」

値動きをフーリエ変換した結果を表示するMT4インジケーター「Spectrometr_Separate」

これまでにない方法で相場を分析できないだろうかと考えたことはないでしょうか。 「Spectrometr_Separate」は、値動きを周波数別に分解するインジケーターで、次のような...

FXで何やっても勝てなくて、やったコト

このMT4インジケーター「Spectrometr_Separate」が相場を構成している波動を周波数別に分解して表示しているデモンストレーション。

この波動の図を見ると、この区間において値動きに影響を与えている成分は二つあることが分かる。
この二つの成分を追うことにより、ゆるやかな下降トレンドからゆるやかな上昇トレンドへと切り替わる兆候が掴めたことになる。

再現性が高ければ神インジケータとなるであろう。
後はできるだけ多くのサンプルを集めてデータベース化し、分析すれば良い。

では具体的な分析方法は?というと分析に用いた区間内において、フーリエ変換前の元の波形とフーリエ変換後の波形の内で相関性もしくは類似性の高いものをAI分析して選び出し、周期を割り出せば上昇から下降へまたは下降から上昇へと切り替わるポイントが予測可能となるであろう。

このインジケータのソースコードをpythonに変換し、自動売買のロジックとして組み込みたいものだ。


堂真理子さんがリポートしてくれるかもwww



コピートレードをデータマイニングする。

2023-02-18 07:18:50 | FX
凄いデータマイニングの活用方法を思い付いた!

【プロのトレードをデータマイニングしてコピートレードすればいいんじゃないか?】

さっき紹介したテキストマイニングAIの発展応用版、ということで。

それにしてもいろいろ連想して思い付き、つながっていくなあ。

いろいろ思い付くけど、俺には全くスキルがない。スキルがあったとしても開発には時間がかかる。開発時間を短縮するには有能なエンジニアによる人海戦術しかないだろう。

しかし、大企業にはこういうフットワークの軽さがない。
どういうことかというと、何か思い付いたら、よし!やろう!と人を集めてすぐに行動に移すということ。

端から見ててマジで歯痒いんだけど。
コイツらズ~タイばっかデカくてアホなんじゃねーか?と俺は思っている。

テキストマイニングAIで自動売買

2023-02-18 07:13:30 | FX

業界初!テキストマイニングを活用したAIストラテジーをリリース!

業界初!テキストマイニングを活用したAIストラテジーをリリース!

トレイダーズホールディングス株式会社のプレスリリース(2019年6月6日 13時13分)業界初!テキストマイニングを活用したAIストラテジーをリリース!

プレスリリース・ニュースリリース配信シェアNo.1|PR TIMES

「テキストマイニングAI」は、190カ国以上で4万社を超える企業・機関に金融市場データを提供しているRefinitiv社(旧トムソン・ロイター・ジャパン社)のテキストマイニング技術および心理スコアリング技術を活用した自動売買プログラムです。

だとさ。
何だか凄そう。

トレードマイニングとは?

2023-02-18 07:10:21 | FX
トレードマイニングで検索したら、こんなのが出て来ました!!!
トレードマイニング

トレードマイニング

MEXC

トレードマイニングとは何ですか?

トレードマイニングは、MEXCが当社のトレーダーのために用意した独占的な特典です。ユーザーは、選択したトークンを取引し、対応する賞金プールを共有することができます。取引すればするほど、より多くの報酬を受け取ることができます。

報酬分配ルール:賞金総額 × 個人の取引量 / 参加ユーザーの総取引量

だとさ。

何だかお金儲けの匂いがプンプンするな。

知る人ぞ知るという感じで、もうすでにバリバリ稼いでいる先行者がいそうだが?


人工知能FX自動売買

2018-01-08 10:44:29 | FX
https://www.synergista.net/bor




・・・だそうだ。
つまり、人工知能で予測する。
為替相場の値動きを近似して関数化し、予測するということだ。

さらに裁量トレードをプラスし、それを人工知能化する。

・・・画期的な技術だ。

俺の使っている自動売買プログラム、つまりEAは
FXハイブリッド
の通り、あまり評判が良くないが、それは使い方が悪いだけである。

どんなEAでも欠点がある。
このEA、FXハイブリッドにも欠点がある。

しかし、相場とは予想できないものなのに、予想しながらトレードするということが致命的で根本的な間違いであることに、このEAを批判しているバカ共は気付かないだけなのだ。

このFXハイブリッドに人工知能を搭載すれば、さらに良くなることだろう。

上がるか下がるかといった値動きを予想するのではなく、トレンドが発生したかどうか?、トレンド相場かレンジ相場か?の判定を人工知能化すれば、FXハイブリッドの欠点をフォローできるであろう。

トレンド相場と判定した場合は逆指値トラップピラミッディングトレード、レンジ相場と判定した場合は指値トラップトレードを行えば、究極の効率的なEAとなるであろう。

日利約5%!?約67000円の資金が1日で約7万円に!驚異の逆張りピラミッディングEA!part2

2017-03-11 16:03:55 | FX
またしてもFlamingoEAがやってくれた!
3000円台の爆益。
お陰様で稼働前の焦げ付きマイナスポジションを損切りして利益を残せた。

トレードするなら外貨同士が良い。
円絡みはダメだ。
なぜなら外貨同士は売りポジションにスワップ、いわゆるプラス金利がつくからだ。
一方的なトレンドが発生するペアでなく、レンジが多いペアで使いたい。

EUR/GBPがレンジの多いペアの一つだ。
個人的にはGBP/AUDが最も好み。

日利約5%!?約67000円の資金が1日で約7万円に!驚異の逆張りピラミッディングEA!

2017-03-03 22:33:18 | FX


その名はFlamingoEA。(以前の記事で紹介済)

上下二段の逆指値でエントリーし、片方の逆指値を使い切ると逆張り成行でピラミッディングしていく。

このペースで行けば月利100%、一年後には十倍以上になる可能性がある。

ちなみに現在取引している通貨ペアはEUR/GBP,GBP/AUD,EUR/USDの3つだ。

ブローカーは1ロット1000通貨のXM.comのマイクロ口座。
0.01ロットの10通貨から取引できる。

一方的にトレンドが続くとナンピン・マーチンゲールよりは危険ではないが、証拠金を圧迫される。

逆指値トラップリピートの順張り成行エントリータイプなら安心して使えるのだが。