[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 392

 

皆さん、こんにちは!私は正しい場所に書き込んだと思います。私は、スクリプトから始まり、インジケータやEA、特に今は、戦術の1つを使って取引するEAを自分で書くという課題を設定し、mql4プログラミング言語を学びたいという大きな願望を持っています。(フォーラムでは、スクリプトから始めると書いてありました)。私はコーディングの専門家で、PascalやDelphiはほとんど知らず、C ++も勉強したことがあり、mqlも読みましたが、それほど違いはないと思います。プログラムの書き方や コードの最適化などを教えてほしい。誰が助けてくれるの?

ありがとうございました!!!

 

例えば、アドバイザーがストップとプロフィットでBAYをオープンし、ペンディングオーダーを置くという簡単なコードです。利益確定したら、保留中の注文を削除して、すべて最初から始めるようにするには、コードにどう書けばいいのでしょうか・・・また、ストップに到達したら、例えばAlert("Stopak")とします。

//+------------------------------------------------------------------+
//| test.mq
//| 著作権 © 2011
//| http:// |
//+------------------------------------------------------------------+
#property copyright""
#プロパティリンク ""
extern double Lot = 0.01;
extern int TakeProfit = 200;
extern int StopLoss = 200;
extern double Step = 0.0020;
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==false)
{
{ OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask-StopLoss*Point,Ask+TakeProfit*Point,0,0,Green); } { OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask+TakeProfit*Point, 0,0,0,Green)
{ OrderSend(Symbol(),OP_SELLSTOP,Lot,Ask-Step,30,Ask,Ask-Step-TakeProfit*Point,0,0,Red); } { OrderSend(Symbol(),OP_SELLSTOP,Lot,Ask-Step,30,Ask,Ask-Step-TakeProfit*Point, 0,0,0,Red)
}
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+

 
MIR-ASOV:

例についてアドバイスください。ここに簡単なコードがあり、EAはストップと利益でBAYを開き、保留中の順序を置く。私は、あなたが削除され、すべてが最初から保留中の利益を得るとき....とあなたがストップを取得するとき、例えば、アラート( "Stopak")だったように、コードに書く必要がありますか?

//+------------------------------------------------------------------+
//| test.mq
//| 著作権 © 2011
//| http:// |
//+------------------------------------------------------------------+
#property copyright ""
#プロパティリンク ""
extern double Lot = 0.01;
extern int TakeProfit = 200;
extern int StopLoss = 200;
extern double Step = 0.0020;
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{
if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==false)
{
{ OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask-StopLoss*Point,Ask+TakeProfit*Point,0,0,Green); } { OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask+TakeProfit*Point,0,0,0,Green)
{ OrderSend(Symbol(),OP_SELLSTOP,Lot,Ask-Step,30,Ask,Ask-Step-TakeProfit*Point,0,0,Red); } { OrderSend(Symbol(),OP_SELLSTOP,Lot,Ask-Step,30,Ask,Ask-Step-TakeProfit*Point, 0,0,0,Red)
}
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+

注文の会計処理のアルゴリズムについては、教科書をご覧ください。そして、このすべてにロジックをつなげば、結果は自ずと見えてくるはずです

また、コードの構文にも工夫を凝らしてください。中括弧がたくさん...


フリクサー

皆さん、こんにちは!私は正しい場所に書き込んだと思います。私は、スクリプトから始まり、次にインジケータ、そしてEAと、特にmql4プログラミング言語を学びたいという願望が強く、今、私自身がEAを書いて戦術の一つでトレードするタスクを設定しています。(フォーラムでは、スクリプトから始めると書いてありました。私はプログラミング、パスカル、デルファイ、C++の勉強の知識が必要です、私はmqlを読みましたが、それほど違いはないと思います。 私は、プログラムの書き方が正しいか間違っているか、コードの最適化など、いくつかのアドバイスが必要です。誰が助けてくれるの?

ありがとうございました!!!

だから、ここに書けば、私たちは助けられる。それとも家庭教師が必要ですか?:)))
 

EAでそのような動作を行うにはどうすればよいのか。

これらの条件が次々と成立するとは限らないので(1時間後か2時間後か3時間後か)、インジケータが1.0000になったらすぐにこの条件を毎ティックチェックしなくなり、1つのバーが下落で閉じるまで待ち、その後、この2条件を毎ティックチェックしなくなり、インジケータが0.9980または同等になるまで待つようにしなければならないのです。すべての条件が満たされ次第、0.1ロットの売り注文 を成行で出し、損切りは100ペンス、利食いは400ペンスとします。

どなたか助けてください。どなたかお手本をお持ちの方、またはリンクを教えてください。

 
kolyango:

EAでそのような動作を行うにはどうすればよいのか。

これらの条件が次から次へと続くとは限らないので(1時間後か2時間後か3時間後か)、1.0000になったらすぐにこの条件を毎ティックチェックしなくなり、1つのバーが下落で閉じるまで待ち、その後はこの2条件を毎ティックチェックしなくなり、0.9980以下になるまで待つようにしなければなりません。すべての条件が満たされ次第、0.1ロットの売り注文を成行で出し、損切りは100ペンス、利食いは400ペンスとします。

どなたか助けてください。どなたかお手本をお持ちの方、またはリンクを教えてください。

イベントが発生したら、ブール条件と有効 期限を設定する。
 
kolyango:

EAでそのような動作を行うにはどうすればよいのか。

これらの条件が次々と満たされるとは限りませんので(1時間後か2時間後か3時間後か)、インジケータが1.0000に達するとすぐに、この条件はもう毎目チェックされず、1つのバーが下落で閉じるまで待ち、その後、これら2つの条件は毎目チェックされず、インジケータが0.9980になるまで待ちます。 すべての条件が満たされたら、損切り100pと利食い400pで0.1ロットの売り注文を成行で発注します。

どなたか助けてください。どなたかお手本をお持ちの方、またはリンクを教えてください。


ここに 参考となる記事があります。そこにあるアナロジーを見てください...。

トレーラーで - チュートリアルによると書かれたこの記事によると、これらの取引基準の実行の包含は、 ここを 参照してください。

同じように持っているんですね...。

ファイル:
criterion.mqh  12 kb
 
kolyango:

EAでそのような動作を行うにはどうすればよいのか。

これらの条件が次々と満たされるとは限りませんので(1時間後か2時間後か3時間後か)、インジケータが1.0000に達するとすぐに、この条件はもう毎目チェックされず、1つのバーが下落で閉じるまで待ち、その後、これら2つの条件は毎目チェックされず、インジケータが0.9980になるまで待ちます。 すべての条件が満たされたら、損切り100pと利食い400pで0.1ロットの売り注文を成行で発注します。

どなたか助けてください。どなたかお手本をお持ちの方、またはリンクを教えてください。

というくらいにシンプルです。フラグをセマフォとして使ってみよう。3つのコードブロックがあり、各ブロックは前のブロックがすでに実行されている場合にのみ実行されます。

初期状態ではすべてのフラグが==falseです。

最初の条件が満たされるとすぐに、最初のフラグ=trueとなり、今度は2番目のコードブロックが実行されます。その条件が満たされると同時に、2番目のフラグをtrueに設定する。
今度は3番目のコードブロックが実行されます。その条件を満たすと同時に、3番目のフラグをtrueに設定する; といった具合に。

 
artmedia70:

というくらいにシンプルです。フラグをセマフォとして使ってみよう。3つのコードブロックがあり、各ブロックは前のブロックがすでに実行されている場合にのみ実行されます。

初期状態ではすべてのフラグが==falseです。

1つ目のコードブロックが実行されると同時に、1つ目のフラグ=trueとし、2つ目のコードブロックが実行される。その条件が満たされると同時に、2番目のフラグをtrueに設定する。
今度は3番目のコードブロックが実行されます。その条件を満たすと同時に、3番目のフラグをtrueに設定する; といった具合に。



そして、いつ旗を降ろすか、彼は書かなかった。
 

端末が使用しているフォントを教えてください。 コメントは標準のものと同じにしたいのです

if(spread >= 20)
       spreadColor = Red;
  else
       spreadColor = White;
  ObjectSetText("Spread", "Spread " + Symbol() + ": " + DoubleToStr(spread, 0), 8, "Tahoma Bold"/*"Calibri"*/, spreadColor);//"Webdings"
 

みんな、あるターミナルで最適化するとき、別のターミナルでテストを始めると、最後のターミナルがこのエラーでクラッシュするんだ...誰か考えられる理由を知ってる?以前は、この端末を起動すると - バージョン409への更新を要求され、更新したら再起動し、同じ更新を要求し続けました... - キャンセルして閉じて、自分で実行したら... その更新を要求し続けました。

新ターミナルはまだ確認していないのですが...。CPUの負荷が常に100%になっている...。3番目の端末でビジュアライゼーションモードでテストを実行 - 問題なくテストできました...