[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 229

 
nikkola >> :

デコンパイルしていない、それがきっかけで......。

全く違和感がない。

 
不思議なことに、勝手に治ってしまいましたが、とにかくTheXpertの おかげで、エラーの正体がわかります。
 
nikkola >> :

デコンパイルしていない、それがきっかけで......。

そして一般に、この種の専門家は、このリソースに一括してオープンソースでさえいます。価格と波動の交差点で動く、ある種の梅のEAだったのです。別のインジケーターに交換した、それだけです。そして、こんな問題にぶつかった。

 
と、もう一つ質問ですが、インターネットを使い果たしたので、名言集がアーカイブで見られるかどうか、どなたかご存知ですか^_^?
 
nikkola >> :

こんにちは、助けてください、理解できません...オシレーターシグナルで動作するEAを持っていて、ゼロを超えたらポジションをオープンします。現在のバーが閉じて、シグナルが形成されたときにポジションを開くようにしたい。 シグナルが調整されるまで、1分間に数回ポジションを開いたり閉じたりすることがあります :)

以下はそのコードです。


extern double Lot = 0.1;
extern double Per = 14;
bool gi_84 = TRUE;
int gi_88 = 366;
double gd_92 = 0.02。
double gd_100 = 0.2;
int g_period_108 = 14;
int gi_112 = 50;
int g_slippage_116 = 0;



void start() {
int l_cmd_52;
int l_ticket_56。

文字列 l_symbol_0 = Symbol();
double l_isar_8 = iCustom(NULL,0, "daytrend-t01",Per,0,0);
double l_isar_9 = iCustom(NULL,5, "daytrend-t01",Per,0,0);
int l_cmd_40 = -1;
int l_ord_total_44 = OrdersTotal();
Lot = MathMax(Lot, MarketInfo(l_symbol_0, MODE_MINLOT)).Lotは、MarketInfo(l_symbol_0, MODE_MINLOT)の値です。
for (int li_48 = l_ord_total_44; li_48 > 0; li_48--) {.
if (OrderSelect(li_48 - 1, SELECT_BY_POS) == TRUE) {。
l_cmd_52 = OrderType();
if (OrderSymbol() != l_symbol_0 || l_cmd_52 < OP_BUY || l_cmd_52 > OP_SELL) continue;
l_ticket_56 = OrderTicket();
RefreshRates()。
if (l_cmd_52 < OP_SELL) {
if (l_isar_8 > 0) {.
while (OrderClose(l_ticket_56, Lot, Bid, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
を続ける。
}
} else {

while (OrderClose(l_ticket_56, Lot, Ask, g_slippage_116) == 0) FunError(gi_112);
l_cmd_40 = -1;
を続ける。
}
}
l_cmd_40 = l_cmd_52 です。
}
}
if (l_cmd_40 < OP_BUY && g_period_108 == 0 || DayOfYear() < gi_88) { {。
RefreshRates()。
if (l_isar_8 < 0 && l_isar_9 < 0 ) while (OrderSend(l_symbol_0, OP_BUY, Lot, Ask, g_slippage_116, 0, 0) == 0) FunError(gi_112);
さもなくば
if (l_isar_8 > 0 && l_isar_9 > 0 ) while (OrderSend(l_symbol_0, OP_SELL, Lot, Bid, g_slippage_116, 0, 0) == 0) FunError(gi_112);
}
}

void FunError(int ai_0) { { {のようなものです。
Sleep(ai_0)です。
RefreshRates()。
}

void deinit() {
}

これには、以下のコードを使用しています。


bool Fun_New_bar()
/*
関数は、新しいバーがあるかどうかを検出するために設計されています。
新しいバーが捕捉された場合 "true" それ以外の場合 "false".
===========
変数。
===========
Test_Time - テスト時間
*/
{
static datetime Test_Time=0;
if(Test_Time!=Time[0])とする。
{
Test_Time=Time[0]です。
return(true)です。
}
return(false)です。
}


私の質問に対して、もし知っていたら教えてください、もしくは不可能かどうか教えてください。:-(

 
betmen >> :

私の質問については、それがそうすることが不可能である場合、知っているか、または教えてくれる人を助けてください... 私は3日間、これまでのところ無駄に答えを探しています。:-(

カスタムUIは、設定をカスタマイズするために使用します。つまり、特定のタスクのために(特定の指標のために)特別に開発されたウィンドウのことである。メタトレーダーでは、このようなウィンドウを作成することはできません。つまり、どこか別の場所で、実行ファイルを作成する必要があるのです。実行ファイルは、ExeまたはDllのいずれかになります。Dllはインジケータ/スクリプトの先頭で呼び出すことができ、明らかにその方が便利です。

 
jartmailru >> :

カスタムUIは、パラメータを設定するために使用されます。特定のタスクのために(特定の指標のために)特別に設計されたウィンドウのことです。メタトレーダーでは、このようなウィンドウを作成することはできません。つまり、どこか別の場所で、実行ファイルを作成する必要があるのです。実行ファイルは、ExeまたはDllのいずれかになります。インジケータやスクリプトの起動時にDllを呼び出すと、より快適です。

ありがとうございます!!!

もし、それが記載されている記事をシェアしていただけると、本当にありがたいのですが...。:-)

 
betmen >> :

ありがとうございます!!!

MQL4で「メインフォーム」上のオブジェクトと変数との間のインターフェースをどのように設定するかという質問です。:-)

まあ、私の印象では、Dllは無視したほうがいいと思います。

モード的に表示するのは危険かもしれない(UIスレッド上のインジケータなので、結果を得ることができる)-。

とか、そうでないとか・・・。一般に、フォームは別の環境で実行することができます。Wtlでは、すべてがうまくいきました。

インジケータは、動作が許可されたフラグを待ち、このフォームに問い合わせることになる。

そして、フォームの準備ができたら、get(int & to[])のような、ポインタやリファレンスを使ったさまざまな関数が用意されています。

というように、異なるデータを転送することになります。弦楽器だとトラブルがあるかも...。

そして、その記事へのリンクを私と共有するのです;-)。

 
jartmailru >> :

まあ、Dllは無視したほうがいいという印象です。

モード的に表示するのは危険かもしれない(UIスレッド上なので、結果が出るかもしれない) -。

とか、そうでないとか・・・。一般に、フォームは別の環境で実行することができます。Wtlでは、すべてがうまくいきました。

インジケータは、動作が許可されたフラグを待ち、このフォームに問い合わせることになる。

そして、フォームの準備ができたら、get(int & to[])のような、ポインタやリファレンスを使ったさまざまな関数が用意されています。

というように、異なるデータを転送することになります。弦楽器だとトラブルがあるかも...。

記事のリンクをシェアしていただいても結構です;-)。

標準のインジケータでは、インジケータの動作自体の設定を選択する際に「パラメータ」という新しいタブを描画し、数字を見やすいものに置き換えることが可能である、という質問でした。

例えばMAを呼び出す場合。


インジケーターのコードでは、変数 "MA_Method "で、メソッドの選択は、条件によって行われます。


switch(MA_Method)
{
case 1 : short_name="EMA("; draw_begin=0; break;
case 2 : short_name="SMMA("; break;
case 3 : short_name="LWMA("); break;
デフォルトの:
MA_Method=0。
short_name="SMA(";


初期化中に別の環境からコンパイルしたexeを実行するとのことですが、初期化中にexeファイルを実行することは確かに可能ですが、その場合、プログラムからインジケータ本体の変数へのデータの受け渡しはどうするのか、という別の問題があります。

つまり、combobox1.textの値を数値に変換してMA_Methodに渡すにはどうすればよいのでしょうか?

MetaTraderと私が作成した "test.exe "のように、ファイルを通してエステするわけでもなく、共通のメモリ空間があるわけでもないのです。

 
Rita писал(а)>>

ありがとうございます。これから試してみます。

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

はい、うまくいきました。専門家が動いている。

そして、私の場合はうまくいきませんでした :-( まだ、エラーの言い訳が出て、MTを閉じています