コーディングの方法は? - ページ 290

 

...

これがあなたの問題を解決するかどうかは分かりませんが、これを見てください :https://www.mql5.com/en/forum/general

Pava:
どうすればコンピュータにロシア語の単語をインジケータで正しく表示させることができますか?
 

...

mladen:
これがあなたの問題を解決するかどうかは分かりませんが、これを見てください :https://www.mql5.com/en/forum/general

ありがとうございます...やってみます

 

...

これは例です・・・私のMacはこれが嫌いなんです!:)

"

//

// VisualOrders.mq4

// Dmitry Yakovlev

//dmitry_yakovlev@rambler.ru

????WebMoney R865705290089

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

#property copyright "Dmitry Yakovlev, Russia,Omsk, WM R865705290089"

#property リンク "dmitry_yakovlev@rambler.ru"

#property indicator_chart_window(インジケーターチャートウィンドウ

#import "shell32.dll" //DLLを接続(Windowsに付属)。

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#import "user32.dll"

int MessageBoxA(int hWnd ,string lpText,string lpCaption,int uType);

#インポート

extern string _ModeProf="??????!1-???????.,2-??????";

extern int ModeProf=2;

extern string _orders="??????????????????????????????????????????????????!???????:";

extern string _Type = "0 ?-1 Sell,1 Buy";

extern int Type = 0;

extern bool CurOrders=true;

extern int lblSize=1;

extern bool HistOrders=true; extern int lblSize=1; extern bool ShowProfits=true;

extern bool ShowProfits=true;

extern int ShiftProfits=0;

extern bool lShowTargets=true;

extern string _donate1="?????:-)WebMoney";

extern string _donate2="R865705290089";

"

 

...

これらはキリル文字です。

メタエディタのツール->オプション->フォントで、スクリプトをキリル文字に設定してください。これで通常のラテン文字が表示されるようになり、ロシア語も表示されるようになります(このように)。

ターミナルウィンドウに表示されるのは、ロシア語のWindowsがインストールされている場合のみです。

Pava:
これは例ですが・・・Macが嫌がるんです!:)

"

//

// VisualOrders.mq4

// Dmitry Yakovlev

//dmitry_yakovlev@rambler.ru

????WebMoney R865705290089

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

#property copyright "Dmitry Yakovlev, Russia,Omsk, WM R865705290089"

#property リンク "dmitry_yakovlev@rambler.ru"

#property indicator_chart_window(インジケーターチャートウィンドウ

#import "shell32.dll" //DLLを接続(Windowsに付属)。

int ShellExecuteA(int hwnd,string Operation,string File,string Parameters,string Directory,int ShowCmd);

#import "user32.dll"

int MessageBoxA(int hWnd ,string lpText,string lpCaption,int uType);

#インポート

extern string _ModeProf="??????!1-???????.,2-??????";

extern int ModeProf=2;

extern string _orders="??????????????????????????????????????????????????!???????:";

extern string _Type = "0 ?-1 Sell,1 Buy";

extern int Type = 0;

extern bool CurOrders=true;

extern int lblSize=1;

extern bool HistOrders=true; extern int lblSize=1; extern bool ShowProfits=true;

extern bool ShowProfits=true;

extern int ShiftProfits=0;

extern bool lShowTargets=true;

extern string _donate1="?????:-)WebMoney";

extern string _donate2="R865705290089";

"
ファイル:
editor.jpg  143 kb
 

...

"extern string _donate1="на пиво :-)"...Thanks...it worked.

 

クローズベースMACD

MACDのクロス0による終了を修正したいのですが、可能でしょうか?

私は試みたが、それはまだ難しい4私。

どうもありがとうございます... 1428maplus.mq4

ファイル:
1428maplus.mq4  30 kb
 
mladen:
あなたのEAのstart()プロシージャーの最初にこのようなものを追加してください。
if (TimeDayOfWeek(TimeCurrent())==5 && TimeCurrent()>=StrToTime("22:59")) { CloseAll(); return(0); }

これをコードに追加してください。

[
PHP]void CloseAll()

(すべてのコード)

これで、2,3(金曜日の注文開始)は解決です。

最初のポイントはコーディングがかなり複雑なので、おそらくそのルールを再定義する必要があります。

どうもありがとうございました最後の部分については、ある種のイベントトラックリスナーコードがトリックを行うのでしょうか(私が読んだ別の提案を入力するだけです)?もし私が正しければ、他の取引が終了したときに1つの取引のテイクプロフィットを 増加させるために、それを構成するためにコーディングのサブ部分が必要でしょうか?

このEAで2つのトレードが開くとき、しかしそれはある時点で1つがストップロスにヒットすることを意味します(彼らは一定の時間ビットですべてのトレードを閉じるまで同じ領域で範囲しない限り)、2つのトレードが開いていて、1つが負の利益で閉じると、他のオープントレードは利益を取る増加によって負の利益に応答することができるのでしょう?ちなみに、これは今のところ1つのシンボルで起きていることです。

もっと簡単に言うと、利益がどうであれ、もう一方の取引が終了したら、その取引のテイクプロフィットを増やすことは可能なのでしょうか?というのも、私が意図しているEAのあり方は、2つのトレードが開いていて、1つがクローズした場合、いずれにせよマイナスになるということです。

本当にありがとうございます。

 
その中にいくつかの問題があります。

- クローズドオーダーのリストを検索すると、間違った「関連」オーダーを識別してしまう可能性があります。

- そのため、EAが監視すべき「他の」注文を知る必要がある。そのため、各注文は、他の注文ID(チケット)について何らかの方法で知る必要があります。しかし、それは、私たち(ユーザー)が情報として使用したいものを書き込むことができるフィールドがないため、不可能なことなのです。コメント欄は注文作成時にしか書き込めないので、注文を出した後に変更することはできない(ブローカーしかできない)ので、注文自体に情報をパッチする手段がない。

- もし、注文そのものに情報を保存できないのであれば、ある種の修正について忘れることができる。例えば、注文の利用可能なフィールドから、それがすでに変更されていることをどのように伝えることができます(テイクプロフィット)。私は、「グローバル変数」(2つの異なるPCはもちろん、2つの異なるフォルダでターミナルを使用する場合にも役に立たない)についても、EAの状態を保存すること(動作しなくなったらどうするか-これは、彼らが認めたくないほど頻繁に起こるケースです)についても話していません。

つまり、私が上記の制約を見る限り、そのような条件付きの「動作」は、プロセスのどこかでエラーが発生する可能性なしに作ることはできないのです。

madmax3:
ありがとうございました。最後の部分については、ある種のイベントトラックリスナーコードがトリックを行うのでしょうか(私が読んだ別の提案を入力するだけです)?私が正しいなら、他の取引が閉じたときに1つの取引のテイクプロフィットを増加させるためには、それを構成するためにコーディングのサブ部分が必要になりますか?

このEAで2つのトレードを開くと、ある時点で1つがストップロスに当たるということですが、(ある時間ビットですべてのトレードを閉じるまで同じエリアでレンジしない限り)2つのトレードが開いていて1つがマイナスの利益で閉じると、他の開いているトレードは利食いを増やすことによってマイナスの利益に反応する可能性がありますか?ちなみに、これは今のところ1つのシンボルで起きていることです。

もっと簡単に言うと、利益がどうであれ、もう一方の取引が終了したら、その取引のテイクプロフィットを増やすことは可能なのでしょうか?というのも、私が意図しているEAのあり方は、2つのトレードが開いていて、1つがクローズした場合、いずれにせよマイナスになるというものだからです。

また、ありがとうございます
 

かなり難しい作業のように思えますが、このようにするのはどうでしょうか。取引が開始されたとき(1回または2回の取引が可能)、価格があるレベルに達した時点でテイクプロフィットを 変更するのでしょうか。

 

...

それならなぜトレーリングストップを使わないのですか?

それはあなたのオリジナルのアイデアのほぼ100%(ほとんど)を行うことができ、それははるかに、はるかに簡単にコード化することができます。

madmax3:
トレードが開始されたとき(1つまたは2つのトレードが可能)、価格があるレベルに達するとテイクプロフィットが変更されるというのはどうでしょうか?